UART的一些歸納

2021-10-23 04:33:01 字數 1270 閱讀 6548

uart是一種通用序列資料匯流排,用於非同步通訊。該匯流排雙向通訊,可以實現全雙工傳輸和接收。在嵌入式設計中,uart用於主機與輔助裝置通訊,如汽車音響與外接ap之間的通訊,與pc機通訊包括與監控偵錯程式和其它器件,如eeprom通訊。

它將計算機內部傳送過來的並行資料轉換為輸出的序列資料流。將計算機外部來的序列資料轉換為位元組,供計算機內部並行資料的器件使用。在輸出的序列資料流中加入奇偶校驗位,並對從外部接收的資料流進行奇偶校驗。在輸出資料流中加入啟停標記,並從接收資料流中刪除啟停標記。處理由鍵盤或滑鼠發出的中斷訊號(鍵盤和滑鼠也是序列裝置)。可以處理計算機與外部序列裝置的同步管理問題。有一些比較高檔的uart還提供輸入輸出資料的緩衝區,比較新的uart是16550,它可以在計算機需要處理資料前在其緩衝區內儲存16位元組資料,而通常的uart是8250。

在微控制器中uart可以說是一種最基本的配置,很多與電腦進行通訊的裝置都採用到它,按計算機最常規的說法就是序列通訊。

• tx - 資料傳送介面

• rx - 資料接受介面

兩個裝置間將tx與rx相連,rx與tx相連即可正常工作。

工作原理:

傳送時,資料被寫入傳送fifo。如果uart 被使能,則會按照預先設定好的引數(波特率、資料位、停止位、校驗位等)開始傳送資料,一直到傳送fifo 中沒有資料。一旦向傳送fifo 寫資料(如果fifo 未空),uart 的忙標誌位busy 就有效,並且在傳送資料期間一直保持有效。busy 位僅在傳送fifo 為空,且已從移位暫存器傳送最後乙個字元,包括停止位時才變無效。即 uart 不再使能,它也可以指示忙狀態。busy 位的相關庫函式是uartbusy( ),在uart 接收器空閒時,如果資料輸入變成「低電平」,即接收到了起始位,則接收計數器開始執行,並且資料在baud16 的第8 個週期被取樣。如果rx 在baud16 的第8 週期仍然為低電平,則起始位有效,否則會被認為是錯誤的起始位並將其忽略。如果起始位有效,則根據資料字元被程式設計的長度,在 baud16 的每第 16 個週期(即乙個位週期之後)對連續的資料位進行取樣。如果奇偶校驗模式使能,則還會檢測奇偶校驗位。最後,如果rx 為高電平,則有效的停止位被確認,否則發生幀錯誤。當接收到乙個完整的字元時,將資料存放在接收fifo 中。

中斷控制

出現以下情況時,可使uart 產生中斷:

• fifo 溢位錯誤

• 線中止錯誤(line-break,即rx 訊號一直為0 的狀態,包括校驗位和停止位在內)

• 奇偶校驗錯誤

• 幀錯誤(停止位不為1)

• 接收超時(接收fifo 已有資料但未滿,而後續資料長時間不來)

• 傳送

• 接收

C STL的一些歸納

一 vector使用 之前c語 int arr 定義陣列,它的缺點是陣列的 度不能隨 所欲的改變,c 有 能完全替代陣列的動態陣列 vector它能夠在運 階段設定陣列的 度 在末尾增加新的資料 在中間插 新的值 度意被改變,很好 它在頭 件 vector 也在命名空間 std 所以使 的時候要引 ...

sizeof的用法的一些歸納

sizeof void 會導致編譯錯誤。因為宣告乙個變數的最重要的作用就是告訴編譯器該變數需要多少的儲存空間,然而void是空型別,編譯器無法確定void型別所需要的儲存空間。宣告void 在32位的機子上面是 4 位元組的空間,在 位的機子上面是 位元組的空間。struct a struct b ...

關於HTTP的一些自我歸納

http 瀏覽器和web伺服器之間使用的溝通方式。http有兩個極為重要的特性 1 基於請求 request 響應 response 模型 客戶端對伺服器發出乙個取得資源的請求,伺服器將要求的資源響應給客戶端 2 無狀態 stateless 通訊協議 伺服器響應客戶端之後,便不會再記得客戶端資訊 g...