stm32f205和esp32uart2串口通讯故障
Posted: Wed Dec 15, 2021 12:52 pm
在使用stm32f205和esp32之间进行串口通讯时发现以下问题:
1.两者接收的数据有时完整,有时是几帧数据合并的。
2.测量api函数uart_read_bytes的运行时间大于接收超时时间,接收超时时间设置为50ms,测量最小50ms,最大到了96ms。
stm32f205串口:
使用dma进行收据收发,可以保证通讯速度,50ms收发一次,数据长度小于20字节,长度不定,波特率9600。
esp32串口:
在串口同时收发的例程上进行修改,在收到一定字符才会发送。使用uart2,rx_buffer设置为2048,tx_buffer为0。波特率为9600,uart_read_bytes进行数据接收,uart_write_bytes进行数据发送。修改了心跳频率为1000hz,设置超时时间为50ms,每次读20字节。
请问这个问题可以如何解决,能否提供dma的串口例程或是串口中断的例程。
1.两者接收的数据有时完整,有时是几帧数据合并的。
2.测量api函数uart_read_bytes的运行时间大于接收超时时间,接收超时时间设置为50ms,测量最小50ms,最大到了96ms。
stm32f205串口:
使用dma进行收据收发,可以保证通讯速度,50ms收发一次,数据长度小于20字节,长度不定,波特率9600。
esp32串口:
在串口同时收发的例程上进行修改,在收到一定字符才会发送。使用uart2,rx_buffer设置为2048,tx_buffer为0。波特率为9600,uart_read_bytes进行数据接收,uart_write_bytes进行数据发送。修改了心跳频率为1000hz,设置超时时间为50ms,每次读20字节。
请问这个问题可以如何解决,能否提供dma的串口例程或是串口中断的例程。