热度 11
2016-2-13 22:18
1264 次阅读|
0 个评论
RS232_DMA 通讯程序编写步骤: (1) 建立 DMA 模块 (2) 开启 USART1 的 DMA (3) DMA参数初始化:DMA_Init (4) USART1 的 DMA 中断使能: NVIC_EnableIRQ ( 但是此次 DMA 并未用到中断 因此此步骤可省略。) (5) 启动 DMA : DMA_Cmd (6) 修改 USART1 初始化函数:使能空闲中断和 DMA 接收中断, USART1_ITConfig USART_DMACmd (7) 修改 USART1 中断函数: 读 UASRT-SR 和 UASRT-DR 寄存器,清除中断标志; 关闭 DMA 通道:获取接收 DMA 接收数据长度 DMA_GetCurrDataCounter; 重新设置缓冲器数据长度; 启动 DMA ; 将接收标志位置 1 ; (8) 在 main 函数中调用 DMA 初始化和判断是否接收到了数据的应用函数。