14210| 11
|
请教一个I2C连续读取从机寄存器的程序问题,分别读是对的,连续读就错了。 |
5金钱
最佳答案建议楼主看下在接收数据后产生应答时SDA数据脚状态是否释放掉,如果没有释放掉,后面读取的数据都是为空,必须要释放。我以前也碰到过你类似的问题。我贴下给你参考下。
//产生应答
void I2C_ACK(void)
{
GPIO_I2C_SCL(0);
GPIO_I2C_SDA(0);
delay_us(2);
GPIO_I2C_SCL(1);
delay_us(2);
GPIO_I2C_SCL(0);
GPIO_I2C_SDA(1); //释放SDA总线
}
//不产生应答
void I2C_NOACK ...
| ||
| ||
| ||
以我资质之鲁钝,当尽平心静气、循序渐进、稳扎稳打之力。
|
||
| ||
| ||
以我资质之鲁钝,当尽平心静气、循序渐进、稳扎稳打之力。
|
||
| ||
| ||
| ||
| ||
自己选择的路,成家前走完。
|
||
| ||
| ||
| ||
|手机版|OpenEdv-开源电子网
( 粤ICP备12000418号-1 )
GMT+8, 2025-6-11 18:41
Powered by OpenEdv-开源电子网
© 2001-2030 OpenEdv-开源电子网