发新帖本帖赏金 12.20元(功能说明)我要提问
123
返回列表
[STM32F1]

浅谈SPI双机通讯调试

[复制链接]
楼主: yunyoushuaiqi
手机看帖
扫描二维码
随时随地手机跟帖
970253146| | 2016-8-3 23:16 | 显示全部楼层
yunyoushuaiqi 发表于 2016-7-21 20:06
因为从机需要及时的把数据发送出去,如果还是返回SPI1->DR; 这个寄存器的数据其实已经不是刚刚的数据了,因 ...

对了,我以前试过只发送一次,这样确保发送完之后,硬件SPI就不工作了,那么SPI->DR的值应该就是准确值了(仅仅发送一次,确保读取的时候SPI已经停止工作了),不过还是会出现数据错位的问题,你怎么看呢?如果让STM32自发自收,确实是可以的,但双机就不行了

使用特权

评论回复
yunyoushuaiqi|  楼主 | 2016-8-5 14:14 | 显示全部楼层
970253146 发表于 2016-8-3 23:16
对了,我以前试过只发送一次,这样确保发送完之后,硬件SPI就不工作了,那么SPI->DR的值应该就是准确值了 ...

所以用一个变量缓存一下就可以了。

使用特权

评论回复
zdx818| | 2016-8-7 19:54 | 显示全部楼层
标记一下,学习了。

使用特权

评论回复
970253146| | 2016-8-10 00:25 | 显示全部楼层
yunyoushuaiqi 发表于 2016-8-5 14:14
所以用一个变量缓存一下就可以了。

我觉得你说得很有道理,不缓存一下的话,虽然说我那种只发送一次数据的做法,理论上,硬件spi发送一次之后会停止工作,这时候是不应该会出错的。但结果还是错了。可能CPU内部不是像我想象的这样工作,导致了出现这样奇怪的问题。对了,除了spi以外,stm32的滴答定时器与通用定时器在同时使用的时候也会出现冲突的问题。这个大家都注意一下

使用特权

评论回复
xtong533| | 2016-8-11 13:40 | 显示全部楼层
yunyoushuaiqi 发表于 2016-7-21 20:17
spi一般用作片间通讯较多。很少使用板间通讯。因此我也在担心不稳定的问题。所以我特地亲自只做了3根长度2 ...

两个电路板共地?

使用特权

评论回复
yunyoushuaiqi|  楼主 | 2016-8-15 16:30 | 显示全部楼层
xtong533 发表于 2016-8-11 13:40
两个电路板共地?

共地

使用特权

评论回复
楼主能不能来一个与FPGA通信的,用并行的方法

使用特权

评论回复
yunyoushuaiqi|  楼主 | 2016-8-29 10:37 | 显示全部楼层
时光深巷已无她 发表于 2016-8-15 16:53
楼主能不能来一个与FPGA通信的,用并行的方法

FPGA,我只是略知皮毛啊。用模拟SPI的写法应该可以的吧。

使用特权

评论回复
seupenn| | 2016-11-29 10:50 | 显示全部楼层
遇到同样的问题,主机收到数据有几位会固定出错,按照你修改了最后一个return。好像还是这样。。。。

使用特权

评论回复
xiaohang147| | 2017-1-17 16:15 | 显示全部楼层
谢谢楼主分享!

使用特权

评论回复
辛苦了!!

使用特权

评论回复
shanxixy| | 2017-5-19 16:49 | 显示全部楼层
为什么在PA5上检测不到时钟输出?

使用特权

评论回复
liuwei1803| | 2017-6-7 14:31 | 显示全部楼层
最近正好用到,感谢楼主分享!

使用特权

评论回复
lx591389504| | 2017-6-8 10:39 | 显示全部楼层
谢谢分享~正是需要的~

使用特权

评论回复
feelhyq| | 2017-6-8 11:57 | 显示全部楼层
hao

使用特权

评论回复
yangkun666| | 2017-9-23 21:29 | 显示全部楼层
稍微有点晕,我看的代码,你好像直接在主程序里发,在主程序里接收,为啥不用中断呢?

使用特权

评论回复
chenqiang10| | 2017-9-23 21:44 | 显示全部楼层
谢谢分享,这个SPI代码并不难,不管是和外设的SPI还是本身的SPI感觉在项目中都蛮好实现的。

使用特权

评论回复
qcgg1209| | 2017-11-21 16:01 | 显示全部楼层
太厉害了,点个赞吧

使用特权

评论回复

使用特权

评论回复
发新帖 本帖赏金 12.20元(功能说明)我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则