stm32 16位数据SPI通信

2019-03-23 19:13发布

      我最近在用stm32f103与一个器件进行SPI通信,这个器件要求16位数据格式。我用ST官方固件库编的程序,使用SPI1,频率是64分频,stm32作为主机,尝试读取器件ID。通过示波器观察,时钟信号正确,但是发送数据貌似有错位。我发的是0x5600,但从片选的下降沿观察MOSI,发现数据是0x0056这样的经过循环移位后的数据,不同波尔率下观察到的发送数据不同,比如0x0560。我注意到虽然stm32号称支持16位SPI通信,但是移位寄存器竟然是8位的,不知道究竟是怎么进行16位数据移位的。
     请问有没有做过SPI16位数据通信的大大,可以帮助小弟?在此十分感谢! 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。