AT32F415 USART1、2、3,DMA收发,详细代码注解
程序员文章站
2024-02-22 11:34:05
...
AT32F415 USART1、2、3,DMA收发
1、串口1,2,3的收发原理都是一样的, 所以配置上都可以一起来,不同的地方再用指针引用。
2、程序基本流程串口配置,DMA配置,接收时用空闲中断,发送时用发送中断来关闭DMA.
(打开DMA后,串口的收发完成中断会对接到DMA的传输完成中断)
3、串口缓存和DMA缓存用两个独立,防止接收时有冲突。
4、接收时看空闲中断信号,有信号说明接收完了,把数据拿出来,DMA读数清零来重新接收,状态改为接收完成
5、发送时要手动开启DMA传输,传输完成后会产生串口中断,有中断后就关闭DMA
配置
串口配置
//串口编号
typedef enum {
serial=0,
Bluetooth,
IrDA,
serialCount,
}serialNum_e;
//统一缓冲格式:状态,
上一篇: Android实现倒计时的按钮的示例代码
下一篇: Mac环境开发之LNMP搭建篇