微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 硬件电路设计 > TI模拟硬件电路设计 > ADS1247读出寄存器的值全是0 ,是坏了吗?

ADS1247读出寄存器的值全是0 ,是坏了吗?

时间:10-02 整理:3721RD 点击:
初始化函数
void ADS1247_init(void)
 {
		SPI2_Config();
	 	Delay_ms(2);
	        START_HIGH;	
	 	Delay_ms(2);
		CS_LOW;
	 	Delay_ms(2);
	 	RESET_HIGH;
	 	Delay_ms(2);
		while(GPIO_ReadInputDataBit(GPIOD, GPIO_Pin_8) ==1);
		SPI2_SendByte(CMD_Reset);
		Delay_ms(2);
		ADS1247WREG(Reg_MUX0,0x0A);////¹Ø±ÕµçÁ÷Ô´£¬ÕýÊäÈëͨµÀAIN1£¬¸ºÊäÈëͨµÀAIN2.
		Delay_ms(2);
		ADS1247WREG(Reg_VBias,0x00);//¹Ø±ÕÆ«Öõçѹ
		Delay_ms(2);
	  ADS1247WREG(Reg_MUX1,0x38);//ʽÖдò¿ªÄÚ²¿²Î¿¼
		Delay_ms(2);
		ADS1247WREG(Reg_SYS0,0x22);//PGA=4, 20sps
		Delay_ms(2);
		ADS1247WREG(Reg_IDAC0,0x06);//µçÁ÷Ô´µçÁ÷1ma
		Delay_ms(2);
		ADS1247WREG(Reg_IDAC1,0x03);//µÚÒ»¸ö¼¤ÀøµçÁ÷Êä³öÒý½ÅAIN0£¬µÚ¶þ¸öÊÇAIN3
		Delay_ms(2);		
		SPI2_SendByte(CMD_SYNC);
		Delay_ms(2);		
		//ADS1247_Calibrate();
		CS_HIGH;		
}

读出的寄存器值

我查了好久代码,初始化的值是没问题的,难道是芯片坏了吗?

SPI2_Config(); Delay_ms(2);  START_HIGH; Delay_ms(2); CS_LOW; Delay_ms(2); RESET_HIGH; Delay_ms(2); while(GPIO_ReadInputDataBit(GPIOD, GPIO_Pin_8) ==1); SPI2_SendByte(CMD_Reset); Delay_ms(2); ADS1247WREG(Reg_MUX0,0x0A);////¹Ø±ÕµçÁ÷Ô´£¬ÕýÊäÈëͨµÀAIN1£¬¸ºÊäÈëͨµÀAIN2. Delay_ms(2); ADS1247WREG(Reg_VBias,0x00);//¹Ø±ÕÆ«Öõçѹ Delay_ms(2);  ADS1247WREG(Reg_MUX1,0x38);//ʽÖдò¿ªÄÚ²¿²Î¿¼ Delay_ms(2); ADS1247WREG(Reg_SYS0,0x22);//PGA=4, 20sps Delay_ms(2); ADS1247WREG(Reg_IDAC0,0x06);//µçÁ÷Ô´µçÁ÷1ma Delay_ms(2); ADS1247WREG(Reg_IDAC1,0x03);//µÚÒ»¸ö¼¤ÀøµçÁ÷Êä³öÒý½ÅAIN0£¬µÚ¶þ¸öÊÇAIN3 Delay_ms(2);// ADS1247WREG(Reg_GPIOCFG,0x00);// Delay_ms(20);// ADS1247WREG(Reg_GPIODIR,0x00);// Delay_ms(20);//  ADS1247WREG(Reg_GPIODAT,0x00); // Delay_ms(20); SPI2_SendByte(CMD_SYNC); Delay_ms(2); //ADS1247_Calibrate(); CS_HIGH;

好吧,真是芯片坏了,换了块新的,正常了

问题解决就好。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top