现在用stm32模拟一个spi从设备固定发送数据 然后用ch32 spi DMA接收 再通过串口DMA发送
现在是32用cubemx配置成从机 然后调用了一个 HAL_SPI_Transmit 函数发送数据
ch32v203配置成主机 spi发送和接收 然后把接收的数据用usart'打印
现在的问题是每次打印的数据都不一样
大神们帮我分析一下这个实现逻辑对吗 哪里出问题了
现在用stm32模拟一个spi从设备固定发送数据 然后用ch32 spi DMA接收 再通过串口DMA发送
现在是32用cubemx配置成从机 然后调用了一个 HAL_SPI_Transmit 函数发送数据
ch32v203配置成主机 spi发送和接收 然后把接收的数据用usart'打印
现在的问题是每次打印的数据都不一样
大神们帮我分析一下这个实现逻辑对吗 哪里出问题了
您好,SPI主从通信的时候,注意时钟极性和时钟相位要保持一致,即空闲状态下时钟电平以及数据的采样边沿要保持一致,此外,SPI通讯的数据位数要设置成一致,8位或者16位。若SPI接收要使用DMA,注意一下DMA的数据位宽尽量和SPI的数据位数设置成一致,可先不用DMA测试一下SPI接收的数据是否有问题。后续若有问题,可通过邮箱(lzs@wch.cn)和我沟通。在我们CH32V203 EVT中,也有SPI DMA传输的例程,可以参考一下,EVT下载链接如下:
https://www.wch.cn/downloads/CH32V20xEVT_ZIP.html