ST意法半导体
直播中

恩可口

9年用户 843经验值
私信 关注
[问答]

哪个控制寄存器参数会导致分析器收到所有位反转的值呢

你好!
我正在学习阅读 STM32f103c8t6 手册,以便能够在没有 HAL 库的情况下控制 MCU。似乎我已经按照应有的方式设置了所有内容,但结果似乎很奇怪。如果我向 SPI DR 写入 0x00,分析仪会看到 0x00。如果我将 0xFF 写入 DR,则分析仪会看到 0xFF。到目前为止一切看起来都很好,但是只要我在这两者之间发送一个值,分析器就会收到一个所有位都反转的值:
发送 0xF0 - 接收 0x0F;
发送 0x0F - 接收 0xF0;
发送 0xAA - 接收 0x55;
发送 0x55 - 接收 0xAA;
哪个控制寄存器参数会导致这样的结果?




回帖(1)

萧持毅

2022-12-23 14:52:11
这些位不是反转的而是镜像的。SPI 传统上传输 MSB 优先。尝试传输类似 0x25 的内容来查看。
如果需要,'F103 中的 SPI 模块可以通过设置 SPI_CR1.LSBFIRST 来更改移位方向。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分