打印
[STM32F1]

主从机SPI的波特率设置

[复制链接]
3734|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
970253146|  楼主 | 2015-6-7 22:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
问一下。在百度上看到说2片stm32做主从SPI通信的时候,主机的波特率要稍微比从机的要高。是这样子的吗?其实从机的波特率设置跟主机没关系吧?通信是基于主机时钟进行的。。。。那正确的做法是把从机的波特率写得稍微比主机的低吗?还是说让主从的波特率一样?
沙发
huzi2099| | 2015-6-7 22:18 | 只看该作者
本帖最后由 huzi2099 于 2015-6-7 22:19 编辑

spi的原则是主机控制时钟,所以在主机一端不存在clk信号的时间差,而从机一端在频率比较高的时候有可能响应不过来的情况,所以通常频率太高从机会出毛病.
另外clk信号不能叫波特率,spi属同步传输.原则上通讯的速率完全有主机控制是随时可变的,丛机端没有时钟的问题.

使用特权

评论回复
板凳
970253146|  楼主 | 2015-6-13 00:36 | 只看该作者
谢谢你。我现在遇到了个问题。我拿一片stm32做从机,然后就给从机的DR寄存器里面赋了一个值。然后用主机发送8个时钟给从机,然后我用逻辑分析仪看到MISO引脚上出来的数据不是正确的,有移位了。比如说从机DR里面是11110000,然分析仪看到的波形是00111100..这是什么原因呢?我从机配置好RCC GPIO SPI之后就直接一句 senddata(spi1,oxf0);直接给从机DR寄存器赋值。很简单的,这样都会有错我真是搞不懂了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

93

主题

289

帖子

5

粉丝