韌體實作

靠北程式| TI MPS430 FR2311 – UART

說明

UART是MCU與外部溝通的常見的協定, 本來是TX/RX/RTS/CTS/VCC(火)/GND(地) 6條線, 但近年來RTS CTS很少用, 通常直接TX RX 火 地就好了, 常見的傳輸速率為11520bps 和 9600bps

●這次分享的程式碼有幾點要注意一下:

![[06_Attachments_附件/方格子/臭G蛋程式/靠北程式| TI MPS430 FR2311 – UART/a78d5e64-11a3-4336-99fd-92d8f33c3582.webp]]

因為G蛋自己環境實測出來,我用上面數據量到的速率都不是9600,會偏一點 也不知道為啥,上面G蛋的數據是調出來的, 若一開始您也收不到,可以往這部分調整。

(有遇到的也請留言下)

心得: 韌體就是這樣,千奇百怪的問題,不合理的邏輯也蠻常出現的,習慣就好, 所有Bug ,都要盡量懷疑盡量試,有時也是要憑運氣跟靈感。

●程式碼裡含按鈕的部分,主要是驗證Tx用。 ●軟體沒有做CRC等偵錯機制,可依需求自己加。 ●驗證Tx Rx 有沒有通,還是透過外部裝置來驗證比較簡單。 本來我想直接一條線 TX 接 RX 就好,自己發自己收, 但會遇到時序問題, 例如:你發送的時候還沒開始收,可能就會收不到。

●驗證會需要用以下。

  1. UART 轉 USB Dongle 。

![[06_Attachments_附件/方格子/臭G蛋程式/靠北程式| TI MPS430 FR2311 – UART/UART轉USB.png]]

2. 對接軟體 – AccessPort137 。

(google一下應該很好找,找不到在留言跟G蛋說)。 (其他COM Port軟體也行)。

●驗證架構如下。

記得 😈Dongle 的Tx要接開發板的Rx。 😈Dongle 的Rx要接開發板的Tx。 這提醒很蠢,但還是有人常常Tx接Tx,Rx接Rx

![[06_Attachments_附件/方格子/臭G蛋程式/靠北程式| TI MPS430 FR2311 – UART/架構.png]]

●通道連線設定。

  1. 在電腦上開啟 AccessPort137 選擇 Dongle所對應的COM Port。
  2. 設定(確認)連線參數。
  3. 連線成功。

![[06_Attachments_附件/方格子/臭G蛋程式/靠北程式| TI MPS430 FR2311 – UART/設定參數.png]]

![[06_Attachments_附件/方格子/臭G蛋程式/靠北程式| TI MPS430 FR2311 – UART/設定參數2.png]]

●驗證Tx。

  1. 連上軟體後,按下開發板的按鈕(P1.1)。
  2. 軟體應該要收到

0x11 0x22 0x33 0x44 0x55 。 0xAA : 為傳輸標頭。 0x05 : 資料長度 。

![[06_Attachments_附件/方格子/臭G蛋程式/靠北程式| TI MPS430 FR2311 – UART/驗TX.png]]

●驗證Rx。

  1. 在軟體下方輸入 AA 05 01 02 03 04 05
  2. 按下發送👇
  3. 應該要收到 AA 05 55 44 33 22 11

(表示Rx有收到資料 並又發送了新資料給軟體)

![[06_Attachments_附件/方格子/臭G蛋程式/靠北程式| TI MPS430 FR2311 – UART/驗RX.png]]

程式碼

https://github.com/GGeggsong/TI-MSP430-FR2311-UART.git

(點擊main.c)

影片教學


延伸閱讀

繼續讀同一個主題

這裡收錄 G蛋一路工作、學習與生活留下的整理,可以從下方前後篇繼續閱讀。

查看 方格子 原文