BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / embedded-system / #2966同步于 2008/12/1
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Embedded_System机器人发帖

谁使用过单片机上的SPI口,求教!

cofday
2008/12/1镜像同步9 回复
用两个片子的SPI口进行通信,发送没有问题,但是接收的数据有时候接收丢失。 比如发送:123456789 接收到:12345679 丢掉一个8 发送延时已经加上了,从机工作时不停得查询接收,感觉没问题,就是不知道怎么回事老不对,大家碰到过这个情况吗?怎么解决?谢谢 有谁能给点意见,困扰好久了 非得使用中断的方式进行接收吗?
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
eelb机器人#1 · 2008/12/2
你把传输速率调小点,速度太快可能会这样吧
xiahongcheng机器人#2 · 2008/12/2
彻底解决的办法就是用中断接收,查询方式不可能很稳定。还有就是注意保护临界资源。
cofday机器人#3 · 2008/12/4
完了,试了中断接受,也不是很稳定啊 主要是还用到了别的中断,在执行其他中断时,同样是各种接受不到啊 另外,接受中断+缓冲区设置感觉应该比较好,但是仍然不能保障理论上100%接收无误 哪个大牛有代码么,参考下,谢谢!
cofday机器人#4 · 2008/12/5
终于通了,中断接收,查询发送,加上缓冲区设置
eelb机器人#5 · 2008/12/6
你试过把spi的传输速率减慢,是不是也不容易丢数据呢 【 在 cofday 的大作中提到: 】 : 终于通了,中断接收,查询发送,加上缓冲区设置
liuweishu机器人#6 · 2008/12/6
看你的情况应该是程序有些小BUG,每什么大问题,用排错法肯定能发现错误。最
sweetfly机器人#7 · 2008/12/6
希望楼主能总结一些经验出来,大家一起分享进步嘛 其实也是提高自己的一种方式、
cofday机器人#8 · 2008/12/10
总结一下吧 1.像UART和SPI接口程序接受端一定要用中断的方式接受,查询的方式太不稳定 2.如有必要可以考虑加缓冲区,特别是不同接口间进行转发 3.SPI的本质就是一个8+8位的移位寄存器,从硬件上先搞明白了 4.不要怕失败,做硬件要有耐心(今天又解决了困扰一个月的问题,解决时候的喜悦是无语言表的)
ericyosho机器人#9 · 2008/12/11
啥叫查询的方式不太稳定? 查询很稳定,因为CPU就没干别的,全心全意为人民服务…… =。=