你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

SPI数据长度设置为8位,但接收数据缓存却是16位

[复制链接]
MCU86 提问时间:2021-4-23 08:56 / 未解决
在STM32WLE5JC单片机中SPI数据长度设置了8位,并且相应的接收FIFO也设成了8位,但最后收发数据是却是16位
1.传输过程中的SPI寄存器如下:

SPI相应寄存器

SPI相应寄存器

从图中可以看出CR2为0x1708,FIFO的阈值设置的是8位,但是DR的数据长度却是16位:0x0130
2.STM32WL中的CR2寄存器描述如下:
SPI-CR2寄存器.png
收藏 评论3 发布时间:2021-4-23 08:56

举报

3个回答
废鱼 回答时间:2021-4-25 14:52:59
楼主,手册中写的很明白,因为是兼容。如果只是8位的,无法兼容16位。0x0130是发送数据还是接收数据,从手册描述来看,接收会清楚高8位。发送没有写。
MCU86 回答时间:2021-4-26 10:01:41
飞羽一条 发表于 2021-4-25 14:52
楼主,手册中写的很明白,因为是兼容。如果只是8位的,无法兼容16位。0x0130是发送数据还是接收数据,从手 ...

抱歉SPI-CR2寄存器照片上传错误,已修改了。 SPI-CR2寄存器.png
MCU86 回答时间:2021-4-26 10:04:00
MCU86 发表于 2021-4-26 10:01
抱歉SPI-CR2寄存器照片上传错误,已修改了。

0130是接收,按道理来说应该是0x30,在其他系列单片机上都得到了验证。只是在ST新出的STM32WL单片机中出现了异常。
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版