久芯网

STM32H7 SPI 速度配置为80M时,读写数据不对。

avatar 潜心 提问时间: 2023-08-12 18:45:19 / 未解决

一个16位的ADC SCLK 周期为12.5ns。那么SPI的频率最低是80M。。

我把SPI3的MISO和MOSI连在了一起。

时钟和SPI配置如下:

STM32H7 SPI 速度配置为80M时,读写数据不对。 [相关图片]

STM32H7 SPI 速度配置为80M时,读写数据不对。 [相关图片]

遇到的问题是。当BaudRatePrescaler为4时(40M),可以正常读写,收发的数据也是对的。 当BaudRatePrescaler为2时(80),SPI读写函数返回值错误。后来把SPI的IO都调整为VeryHigh,读写返回值OK。。但是读写的数据不错。发送0x12 0x34 收到数据是0x1B 0X3A.

STM32H7 SPI 速度配置为80M时,读写数据不对。 [相关图片]


如需获得 STM32H7 等器件的更多信息,请点击链接或 点击此处 联系在线客服!

2个回答
  • avatar xmshao
    回答时间: 2023-08-12 19:02:31

    对于stm32h7的SPI3来讲,支持到80M的位率是没有问题的。我看你目前好像是 基于SPI3自发自收,不知是通过中断方式还是DMA方式,如果是中断结束的话,可以改成DMA模式试试。另外,如果有飞线的话,这时就要注意接触良好,不要拉太长。

  • avatar butterflyspring
    回答时间: 2023-08-12 19:28:09

    建议楼主用示波器量一下接收脚,这种速率普通飞线连接容易导致信号失真较大。

会员中心 微信客服
客服
回到顶部