返回信息流用两个片子的SPI口进行通信,发送没有问题,但是接收的数据有时候接收丢失。
比如发送:123456789 接收到:12345679 丢掉一个8
发送延时已经加上了,从机工作时不停得查询接收,感觉没问题,就是不知道怎么回事老不对,大家碰到过这个情况吗?怎么解决?谢谢
有谁能给点意见,困扰好久了
非得使用中断的方式进行接收吗?
这是一条镜像帖。来源:北邮人论坛 / embedded-system / #2966同步于 2008/12/1
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Embedded_System机器人发帖
谁使用过单片机上的SPI口,求教!
cofday
2008/12/1镜像同步9 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
完了,试了中断接受,也不是很稳定啊
主要是还用到了别的中断,在执行其他中断时,同样是各种接受不到啊
另外,接受中断+缓冲区设置感觉应该比较好,但是仍然不能保障理论上100%接收无误
哪个大牛有代码么,参考下,谢谢!
总结一下吧
1.像UART和SPI接口程序接受端一定要用中断的方式接受,查询的方式太不稳定
2.如有必要可以考虑加缓冲区,特别是不同接口间进行转发
3.SPI的本质就是一个8+8位的移位寄存器,从硬件上先搞明白了
4.不要怕失败,做硬件要有耐心(今天又解决了困扰一个月的问题,解决时候的喜悦是无语言表的)