当前位置: 代码迷 >> 单片机 >> 请教 串口接收用DMA,采用总线空闲中断
  详细解决方案

请教 串口接收用DMA,采用总线空闲中断

热度:177   发布时间:2016-04-28 14:50:51.0
请问 串口接收用DMA,采用总线空闲中断
我想用http://blog.csdn.net/jdh99/article/details/8444474 里的,但不知道这个怎么改↓
Data_Receive_Usart = Uart_Rx[i];  
            //启动串口状态机  
            usart_state_run();  

已知我是被动接收包,正常情况下接收不大于128B,我想用链接里的办法,但不明白上面说的是什么意思,不知道怎么改。

ps:1.总线空闲是开始接收后多久检测到空闲的?
2.需要关RXNE中断么?
------解决思路----------------------
引用:
我想用http://blog.csdn.net/jdh99/article/details/8444474 里的,但不知道这个怎么改↓
Data_Receive_Usart = Uart_Rx[i];  
            //启动串口状态机  
            usart_state_run();  

已知我是被动接收包,正常情况下接收不大于128B,我想用链接里的办法,但不明白上面说的是什么意思,不知道怎么改。

ps:1.总线空闲是开始接收后多久检测到空闲的?
2.需要关RXNE中断么?


1、当检测到停止位后,在一定时间内未接收到数据则进入空闲中断(时间请看数据手册)
2、如果采用DMA方式的话,会将数据自动存放到缓冲区,进中断只是告诉用户该帧数据接收完成,方便我们进一步处理。关不关中断看具体情况。
  相关解决方案