初级会员

- 积分
- 110
- 金钱
- 110
- 注册时间
- 2013-7-15
- 在线时间
- 0 小时
|
程序代码 一起附上,期待大神指点。。。。stm32模拟I2C控制ADS1112读取AD值不正确,却能正确读取寄存器值。。。
单步调试 各种应答方面 也没有问题。。
SystemInit();
ili9320_Initializtion(); //显示初始化
RCC_Configuration();
// ADS7843_Init(); //触屏初始化
ili9320_Clear(Blue2);
I2C_GPIO_Config();
ili9320_Clear(Blue2);
I2C_Start();
I2C_SendByte(0x90);
I2C_WaitAck();
I2C_SendByte(0x8c);
I2C_WaitAck();
I2C_Stop();
I2C_delay();
while(1)
{
//
I2C_Start();
I2C_SendByte(0x91);
I2C_delay();
I2C_WaitAck();
I2C_delay();
highbit=I2C_ReceiveByte();//第一字节返回AD值高八位,返回不正确
I2C_Ack();
I2C_delay();
// I2C_Ack();
lowbit=I2C_ReceiveByte();//第二字节返回AD值低八位,返回不正确
I2C_Ack();
I2C_delay();
// I2C_Ack();
cbit=I2C_ReceiveByte();//第三个直接返回寄存器值 返回正确
I2C_Ack();
I2C_Stop();
sprintf(buf,"%d",highbit);
GUI_Text2(Line0 ,0,(u8*)buf,White,Red);
sprintf(buf,"%d",lowbit);
GUI_Text2(Line1,0,(u8*)buf,White,Red);
sprintf(buf,"%d",cbit);
GUI_Text2(Line2,0,(u8*)buf,White,Red);
delay_ms(500);
}
相关中文资料http://www.eefocus.com/chaoyi_1986/blog/2012-04/167098_2e292.html
DATESHEET
http://www.ic5.cn/p_ADS1112_aoZC.html |
|
|