使用STM32CUBEMX设置串口,异步通信
打开串口接收和发送DMA,接收是循环模式,发送是普通模式
生成程序后,在main.c的串口初始化里添加接收DMA语句,每次接收一个字节,rx_data为全局变量
在中断文件stm32f1xx_it.c文件中DMA接收中断中接收数据,累计接收20个通过422发送
第一个在读取DMA接收数据时,先停止DMA,如果不停止会接收到重复字节;第二,在使用发送时,使用的422芯片有使能引脚,在检测发送完成后在关闭发送使能第一种方式是读取DMA状态为完全传输;第二种方式,查询传输结束。如果不检测会出现接收数据不完全情况。(注释掉的语句为查询传输结束,测试两种方式均可行)