起始
应答
错误
总线忙
非应答
等信号格式
NoACK就是非应答,他告诉iic传输的是最后一个数据,TestAck()
是发送一个字后等待从机应答
你这个例程应该是用io口模仿i2c,这里你没有给出sda的定义。我理解还有程序对其进行判断if(sda==1)输出编码‘1’else 输出编码‘0’。经过for循环8次就输出了一个完整的8bit二进制数。比如temp=num=0x25sda=0x25&0x80就等于‘0x00’,这时io口输出‘0’,temp=temp<<1数据左移1位temp此时等于0x4a,再&0x80,经过8次移位io口输出的数据应该是00100101=0x25,这个数据传输结束首先,看看你发的器件地址是否正确使用的port I/O方向是否修改 检测应当前,应将date pin 改为 input
clk date delay 时间是否足够
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)