單片機串口接收pc的資訊,不進行中斷,直接使用變數,可不可以實作
uj5u.com熱心網友回復:
不用中斷是可以的,但不知道你的變數是啥不使用中斷,前提是你得夠快,如果你的單片機沒有額外的緩沖區,只有1個位元組的SBUF,那么在115200bps下,一個位元組的傳輸時間只有90us( 1s/115200 * 10 )左右,那就意味著你必須在下一個位元組到來之前取走緩沖區里的位元組,否則就會丟資料
uj5u.com熱心網友回復:
可以,主回圈中不斷檢查RI標志,如果有就讀串口暫存器,然后清除RI即可uj5u.com熱心網友回復:
中斷妥當點,不然容易丟資料。如果中斷會導致其他地方出問題,那么用DMA串口uj5u.com熱心網友回復:
DMA,不中斷,可直接讀變數,但要求每次接收的資料型別是一樣的uj5u.com熱心網友回復:
不停查詢中斷標志暫存器,等中斷標志暫存器置1表示接收1位元組資料,然后去RXBUF中讀資料就行轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/88518.html
標籤:單片機/工控
上一篇:python條件控制陳述句
