微控制器自定義串列埠空閒中斷的方法!

2021-10-09 04:26:59 字數 430 閱讀 3667

好久沒有發布部落格了,今天遇到個問題,串列埠接受不定長沒有空閒中斷如何處理?

***說下自己的方法,如果有異議還望告知謝謝!

1、在串列埠終端中加入全域性變數,進入串列埠中斷賦值。

void interrupt_uart(void)

uart_rxdealy =3;     //串列埠接收延時

cnt ++;                    //陣列下標

buff[cnt] =pdata;     //存放資料

2、再main函式主迴圈裡面新增10ms排程函式,並減減uart_rxdealy標誌,等標誌為零就置位接收完成中斷。

void  delayrx(void)

if(uart_rxdealy --)

if(uart_rxdealy == 1)

uart_rxok =on;//接收完成

無串列埠空閒中斷微控制器串列埠接收未知長度位元組方法

之前寫過一篇stm32串列埠dma收發未知長度的博文。這次說一下如何在沒有空閒中斷的情況下實現未知長度的讀取。思路 在串列埠接收的時候,例串列埠設定 9600波特率 8個資料位 1個停止位 無校驗。9600波特率表示,每秒傳輸9600個位,即每秒傳輸9600 8位資料位 1位停止 1066位元組,那...

51微控制器自定義串列埠協議實現握手

搞了2整天的協議,查閱了很多部落格,資料,對自定義資料傳輸大體都是這樣 幀頭 位址資訊 資料型別 資料長度 資料塊 校驗碼 幀尾 那麼首先說一下吧,之前我也不是很了解這個,直到我替人做了乙個雙機通訊的的例子後,發現接收端一直是丟資料或者顯示錯誤資料,這時候,我才想到了定製自己的串列埠協議。本程式參考...

51微控制器 串列埠中斷

在應用層方面,也就是我們把串列埠中斷用起來目前只需掌握以下幾點 中斷源 就是中斷的 如定時中斷,串列埠中斷 包括傳送完成,接受完成等 dma中斷,按鍵中斷,io口輸入高低電平等等都可以當做中斷的 中斷服務函式 就是有乙個中斷來了,這個中斷具體要做什麼。比如串列埠收到1幀資料,需要用變數把資料存起來,...