27,374
社区成员
发帖
与我相关
我的任务
分享
void iic_start(void)
{
SDA=1;
SCL=1;
iic_delay();
SDA=0;
iic_delay();
SCL=0; //去掉这句代码为什么程序写进at24c1204的数据便是错误的呢。。
/*总线开始信号不就是在SCL为高的时外层,SDA由高变低的跳变吗。为什么SDA由高变低后还要将SCL置低
*结束信号无论有无将SCL置低读写的数据都是正确的
*/
}
void iic_stop(void)
{
SDA=0;
SCL=1;
iic_delay();
SDA=1;
}
/*另外,我把两条延时语句iic_delay();去掉后程序仍正常读写,请问这两条延时语句起什么作用。可以去掉吗*/
void iic_start(void)
{
SDA=1;
SCL=1;
iic_delay();
SDA=0;
iic_delay();
SCL=0; //去掉这句代码为什么程序写进at24c1204的数据便是错误的呢。。
/*总线开始信号不就是在SCL为高的时外层,SDA由高变低的跳变吗。为什么SDA由高变低后还要将SCL置低
*结束信号无论有无将SCL置低读写的数据都是正确的
*/
}