使用DMA传输可以连续获取或发送一段信息而不占用中断或延时,在通信频繁或有大段信息要传输时非常有用。
由上表可知,要使用USART1TX/RX我们选择通道4和5
1、 DMA传输方式:
(1) DMA_Mode_Normal,当通道配置为非循环模式时,传输结束后(即传输计数变为0)将不再产生DMA操作。要开始新的DMA传输,需要3个步骤:在关闭DMA通道的情况下,在DMA_CNDTRx寄存器中重新写入传输数目,然后重新开启DMA。
void DMA1_Channel5_IRQHandler(void)
{
//由于不同的中断源拥有同一个中断矢量入口,所以需要判断中断标志
if(DMA_GetFlagStatus(DMA1_FLAG_TC5)==SET)
{
DMA_Cmd (DMA1_Channel5,DISABLE);//关闭DMA通道
DMA_ClearFlag(DMA1_FLAG_TC5);//清中断标志,否则会一直中断