|
从机通过I2C采集数据,再通过SPI传给主机(因为主机没有I2C接口,又不想用模拟I2C,太占资源,所以用从机转一下),
现在可以传送数据到主机,但现在问题出现了:
主机定时每1ms采样一次,给从机发一次空数据,启动SCK,从机传送数据,主机接收。可能第一次传送时正好从机准备好了
收到SCK后直接传给主机,主机接收正确;下次采集时从机还在进行I2C转换,没有来得及将新数据放到发送缓冲器中,这次采集
的数据都是0XFF,主机收到N个0XFF后,从机转换完成,又收到正确数据了。收到的数据如:
正常数据+0xFF+0xFF.............+0xFF+0xFF(15个0XFF)+正常数据+0xFF+0xFF.............+0xFF+0xFF(15个0XFF).................
1)请问怎么知道从机准备好了,主机再启动SCK?或者主机怎么过滤掉没用的数据?
2)我让从机发送有用信息的时候,发帧头0X5A+0XA5,主机收到帧头来识别收到的是有用信息,发现主机不能识别,为什么?
我是在主机1ms定时中断中完成启动SCK和接收从机信号的。
3)我要怎么解决这个问题?谢谢 |
阿莫论坛20周年了!感谢大家的支持与爱护!!
知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)
|