标题:
做从机I2C接受问题
[打印本页]
作者:
jakerroo
时间:
2010-5-20 20:05
标题:
做从机I2C接受问题
void PC_I2C_OnWriteReq(void)
{
PC_I2C_RecvBlock(IN_data,3,&ynt);
/* Write your code here ... */
}
请问大虾,第一次用这种块接受或发送的方式。比如说上面的程序,我接受的数据放到IN_data【3】里面,但是出现一个很奇怪的现象,就是主机一次发送3个数据而我这边从机进void PC_I2C_OnWriteReq这个中断了,但是我IN_data里面没有值,当主机再发一次,这样我IN_data里面才有第一次发送的值。请问大侠怎么去解决这个问题。
作者:
jakerroo
时间:
2010-5-23 15:16
版主。强陈解释一下 呵呵
作者:
finewind
时间:
2010-5-24 13:30
不知道你想说些什么,IIC总线,首先由主机产生起始信号,然后发送第一个字节,这个字节时寻址字节,包括7位地址和一位读写方向位,接下来一个字节大部分是读写单元地址,从第三个字节才是实际要写入的数据。
作者:
strongchen
时间:
2010-5-25 10:08
楼上说的对,要弄清楚IIC通讯本身的时序和各字节的含义。
作者:
jakerroo
时间:
2010-6-1 20:30
4#
strongchen
我知道I2C的通讯协议,我上面写的一段函数是通过PE里面自动生成的中断,我调用的函数,如果你用一下PE里面的这个功能,可能你就能理解我说的意思了,我PE用那种一个一个字的接受方式是没有问题的,只有用这种一次接受一串字节的时候就有我说的这种问题
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0