srkp.net
当前位置:首页 >> i& sDA >>

i& sDA

I²C、SPI为通信中数据传输协议,即通信协议。 I²C通信中使用两个信号线SDA、SCL,分别为数据线和时钟线。 SPI通信中使用4根信号线MISI、MISO、SCLK、SS,分别为数据输入、数据输出、时钟和使能端,NC表示空脚。

是为了等待ACK信号。如果回应了ACK即SDA=0,就表示从机应答了,那程序可以继续执行。如果没有应答(SDA=1),表示从机可能有问题,这样就计算超时,即i的值,当i++大于250时认为超时,就继续往下执行,不然就会卡在这里不动了。

&& 是并且& 是按位与比如 5&6101110= 100

end_request: I/O error, dev sda, sector 122194293 Buffer I/O error on device sda1, logical block 446493 lost page write due to I/O error on sda...

如果SDA 等于1 而且 i < 250 两个条件同时成立,则执行循环。 先判断 SDA == 1,成立后在判断 i < 250

当同时满足 SDA等于1 和 i小于250 两个条件的时候i=i+1,即i自动加1. 否则跳出循环

I2C读一个字节的时候是读SDA上的信号,只能一位一位的读,k=(k

读一个字节啊,将SDA的数据一位一位赋值给变量k,k最开始是0,即0x0000 0000,当i=0时,k先左移一位,还是0x0000 000,然后0x0000 0000与SDA相或(这里假设SDA=1, 即0x0000 0001),得数为0x0000 0001,再赋值给k,k的值为0x0000 0001;当i=1,...

void respons() //应答 { uchar i; scl=1; //SCL输出高电平 delay(); //延时 while((sda==1)&&(i

[sda] Add. Sense: Unrecovered read error - auto reallocate failedend_request: I/O error, dev sda,。。。如果你不相信这报告可以摘硬盘去windows下测试 ...

网站首页 | 网站地图
All rights reserved Powered by www.srkp.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com