介紹
串口空閑中斷主要是在數(shù)據(jù)接收過(guò)程中出現(xiàn)接收不到連續(xù)數(shù)據(jù)的現(xiàn)象時(shí),用來(lái)觸發(fā)給主函數(shù)流程的。一般會(huì)用在不定長(zhǎng)的數(shù)據(jù)包接收或者需要實(shí)時(shí)數(shù)據(jù)接收反應(yīng)的場(chǎng)合。
RA雖然沒(méi)有集成硬件的串口空閑中斷功能,但是可以通過(guò)定時(shí)器+ELC,在不做任何硬件修改的情況下實(shí)現(xiàn)串口通信空閑中斷功能。
內(nèi)容
主要原理是通過(guò)串口接收(RXI)的狀態(tài)來(lái)觸發(fā)定時(shí)器啟動(dòng)和定時(shí)器計(jì)數(shù)器清除。當(dāng)兩個(gè)字節(jié)數(shù)據(jù)間隔時(shí)間超出一定數(shù)值時(shí)來(lái)觸發(fā)定時(shí)器中斷(空閑中斷)。由于RA芯片內(nèi)置ELC功能,定時(shí)器的啟動(dòng)和清除觸發(fā)是通過(guò)硬件來(lái)實(shí)現(xiàn)的,軟件無(wú)需做任何處理。
FSP具體配置步驟如下:
1. 配置串口:按照實(shí)際串口使用要求做配置,留意RX/TX的中斷回調(diào)函數(shù)是不包括空閑中斷的。
2. 添加ELC:配置十分簡(jiǎn)單,直接添加ELC Stack就可以。
3. 添加定時(shí)器(GPT)
這里需要做下列3點(diǎn)的配置:
A. 配置定時(shí)器中斷回調(diào)函數(shù)(空閑中斷函數(shù)入口)。
B. 定時(shí)器輸入的啟動(dòng)源配置為SCIx RXI,這里是配置通過(guò)ELC在串口接收到數(shù)據(jù)后來(lái)觸發(fā)啟動(dòng)定時(shí)器的。
C. 定時(shí)器輸入的清除源配置為SCIx RXI,這里是配置通過(guò)ELC在串口接收到數(shù)據(jù)后同時(shí)清除上次定時(shí)器計(jì)數(shù)器的值,也是相當(dāng)于在一定時(shí)間內(nèi)如果沒(méi)有接收到數(shù)據(jù)(即沒(méi)有產(chǎn)生RXI中斷),定時(shí)器由于沒(méi)有清除的動(dòng)作,會(huì)觸發(fā)出中斷(即空閑中斷)。
4. 軟件代碼應(yīng)用中,空閑中斷標(biāo)志值g_uart0_rx_end是在定時(shí)器中斷callback函數(shù)中置為“1”的。主循環(huán)同步判斷這個(gè)全局變量值g_uart0_rx_end的標(biāo)志位就能知道是否有空閑中斷出現(xiàn),或者也可以直接在定時(shí)器的回調(diào)函數(shù)內(nèi)做空閑中斷處理。
-
mcu
+關(guān)注
關(guān)注
146文章
17718瀏覽量
358159 -
瑞薩
+關(guān)注
關(guān)注
36文章
22356瀏覽量
87578 -
中斷
+關(guān)注
關(guān)注
5文章
902瀏覽量
42365 -
串口通信
+關(guān)注
關(guān)注
34文章
1633瀏覽量
56362
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
基于RASC的keil電子時(shí)鐘制作(瑞薩RA)(2)----配置keil以及使用串口進(jìn)行打印

【野火啟明6M5開(kāi)發(fā)板體驗(yàn)】野火啟明開(kāi)發(fā)板和瑞薩RA MCU介紹
STM32的串口空閑中斷及接受數(shù)據(jù)
瑞薩將micro-ROS移植到RA MCU中
瑞薩RA系列MCU選型指南
線(xiàn)下培訓(xùn) | 瑞薩電子RA MCU應(yīng)用開(kāi)發(fā)培訓(xùn)課程報(bào)名開(kāi)啟![野火電子]
瑞薩RA MCU家族推出集成Arm? Cortex?-M23內(nèi)核的全新RA0系列

分享瑞薩RA MCU創(chuàng)意氛圍賽的作品—高壓電網(wǎng)電流監(jiān)測(cè)

基于瑞薩RA0E1開(kāi)發(fā)板的ThreadX實(shí)時(shí)操作系統(tǒng)串口回顯測(cè)試

評(píng)論