国产久操视频-国产久草视频-国产久热精品-国产久热香蕉在线观看-青青青青娱乐-青青青青在线成人视99

  • 資料介紹
    • 前言
    • 實現(xiàn)原理
    • 應用示例
    • 總結
  • 資料預覽
  • 相關推薦
申請入駐 產業(yè)圖譜

LAT1315 串口DMA接收不定長數(shù)據(jù)的一種方法

03/24 09:26
466
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

LAT1315 串口DMA接收不定長數(shù)據(jù)的一種方法

472.10 KB

前言

使用串口接收不定長數(shù)據(jù)時,可以有多種方法,比如最常見的有額外使能一個定時器,在超過定時范圍未收到后續(xù)的字節(jié)時,認為此幀結束;或者利用 IDLE 中斷,當數(shù)據(jù)空閑時,自動產生中斷;亦或每接收到一個字節(jié)后都通過應用程序進行一次處理。這次我們介紹另外一種方法,在 DMA 方式下利用硬件接收超時中斷(Receiver timeout interrupt)實現(xiàn)不定長數(shù)據(jù)的接收。

實現(xiàn)原理

首先,并非所有的 STM32 系列的 MCU,也并非所有的 USART/UART 外設都支持Receiver timeout (RTO)特性,具體的支持情況,可以通過對應芯片的參考手冊去查詢。對于 MCU 的配置,可以通過 USART_RTOR 寄存器的 RTOEN 位使能接收超時功能,通過 RTO 位域配置超時時間,時間單位為傳輸一個數(shù)據(jù)位的時間(即波特率)。

應用示例

HAL 庫已經為我們提供了操作 RTO 相關的 API,應用開發(fā)過程,我們直接調用即可。

總結

利用 RTO 方式接收不定長串口數(shù)據(jù),相比用定時器計時,可以節(jié)省一個硬件定時器資源,同時減少了定時器每次進入中斷處理的運行時間;相比 IDLE 的方式,可以更靈活的配置超時時間。但需注意的是,所選用的 MCU 以及所使用的 USART/UART 是否支持這個特性要確認好。

資料預覽

相關推薦

平江县| 长阳| 内丘县| 锡林浩特市| 香格里拉县| 齐齐哈尔市| 衡水市| 新营市| 富宁县| 五大连池市| 宁夏| 泽普县| 陆河县| 理塘县| 邹城市| 错那县| 文登市| 垦利县| 历史| 兴隆县| 元朗区| 汨罗市| 东乌珠穆沁旗| 南汇区| 昌乐县| 崇信县| 东明县| 双柏县| 玉门市| 湾仔区| 繁峙县| 平原县| 许昌市| 中超| 安多县| 曲阜市| 定日县| 德令哈市| 台江县| 大安市| 青海省|