发 帖  
原厂入驻New
发烧友10周年庆典,全网超值优惠来袭!千元现金券,下单抽奖赶紧参与》》
[问答] STM32F030的硬件SPI从模式,从机应答时丢失首个字节?
830 STM32F030
分享
2018-10-4 17:50:55   评论 分享淘帖 邀请回答
15个回答
请各位帮忙看一下,中断处理函数是不是存在什么问题?
因为从设备启用了硬件NSS,所以在片选为高的情况下,硬件应答是0xFF;同时在片选上升沿通过EXTI中断复位偏移量(offsetbits)。
----------------------------------------------------------------------------------------------------
收到数据0x00后,依次发送spi_TxBuff的【31:24】【23:16】【15:8】【7:0】。
2018-10-4 18:34:52 评论

举报

自己顶一下,哪位高工来看一下,这个问题怎么解决?
2018-10-4 18:50:10 评论

举报

2018-10-4 19:04:04 评论

举报

kallon7250 发表于 2018-10-4 19:04
这个问题怎么解决?

我就是想知道啊!不知道程序哪边有问题,重点怀疑是中断函数中的处理机制。
2018-10-4 19:13:51 评论

举报

在SPI发送中加断点,看一下发送的时候的spi_TxBuff数据是多少,另外看一下offsetbits值是多少。
2018-10-4 19:32:01 评论

举报

spi_TxBuff=0x007053b0;
offsetbits = 24;
2018-10-4 19:47:08 评论

举报

从机应答丢失首字节,你试试从机响应的首字节加点延迟。
2018-10-4 19:57:56 评论

举报

SPI_I2S_ITConfig(SPI2, SPI_I2S_IT_TXE, ENABLE);
这个在收到数据以后再开启试试吧。可能是先发送了一次,导致你的程序没有收到最先发送的。这个开启以后,只要是发送寄存器为空就会进入中断。
2018-10-4 20:08:33 评论

举报

可以仿真在发送之前是不是先进入了一次中断。
2018-10-4 20:23:45 评论

举报

1:加延时
2:你看看你的代码是不是把0x00给滤掉了
2018-10-4 20:42:52 评论

举报

我也出现过这种问题,后来将CPHA设置为1后好了。
可以换种模式试试。
2018-10-4 20:51:14 评论

举报

谢谢大家,换下采样时钟边沿看看(14楼的建议)
2018-10-4 20:58:03 评论

举报

看看,,,,,,,,
2018-10-4 21:15:29 评论

举报

撰写答案

你正在撰写答案

如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。

高级模式
您需要登录后才可以回帖 登录 | 注册

我要提问
课程
    关闭

    站长推荐 上一条 /10 下一条

    快速回复 返回顶部 返回列表