关于 STM32 SPI 从机模式的问题

来源:互联网 发布:淘宝上哪家紫砂壶好 编辑:程序博客网 时间:2024/04/28 02:34

你再寻找 关于SPI 作为从机时  而且还没有NSS 信号    而出现数据接收错误的烦恼吧

最近给客户做一个项目 使用到了SPI 从机     在网上找答案  但是没有找到自己满意的  现在来说  都没有 将SPI 通信接收错误的根本原因说明白


网上有很多关于STM32  作为从机来使用 的 问题  主要还是 从机接收数据错误

1  关于主从机的 时钟悬空配置     可以肯定的说 主机与从机的时钟悬空一定要配成一样的 

这点STM 的官方手册说的很明白

2 从机的波特率 只与 主机提供的 CLK 信号有关

3 通信失败  或者 数据接收错误 问题就出在从机对SPI 的起始信号的判断上面


当使用TI 模式  NSS 信号由硬件  从机对数据的捕获 就很容易 

若没有NSS 信号呢    因为STM32  SPI普通模式 根本就没有对数据的捕获 做什么工作    真的有点糊弄我们

它 只是 当我们把SPI 打开  他就开始进行捕获  而不管SCK 此时是闲置的还是忙的    这就造成了 我们读取的SPI 数据错误

解决这个问题也很简单  只要在软件中 对 SPI 信号进行处理  得到SPI 线路是 忙的 还是空闲的

根本就是对 SPI 信号的 捕获时机

当我们要进行捕获前先对总线SPI 进行判断 若总线SPI 是空闲的  那么就开启SPI 进行数据捕获

若总线SPI 是忙的 就等待 总线空闲了  在进行捕获   经过验证这个方法通信成功率 几乎是没有问题的

QQ475503748 


0 0
原创粉丝点击