首先,我們要明白什么是串口通信。
串口指的是串行通信,要把CPU並行處理的數據轉換成串行處理的數據進行發送。英文是UART。
關於串口使用其實非常簡單,使用串口需要至少兩台設備進行通信。每台設備要公地(一根線),有一個發送數據端口TX(一根線),有一個接收數據端口RX(一根線)。總共需要三根線進行數據傳輸。
其中TX只能用來發送數據,RX只能用於接收數據。假設我們有兩台設備A和B,在AB之間實現串口通信需要將TXA和RXB連接,將RXA和TXB連接。簡單說就是,你這個發送端發送的數據要送到人家接收端口,你的接收端口接收人家發送過來的數據。可以同時進行,這叫串口。兩台設備要能夠進行通信的話,一定要有相同的配置,波特率,檢驗位,停止位一定要一致。這些名詞的具體概念大家自行百度,我這里只講該如何在MSP432上實現串口的通信。
如果要在MSP432上進行配置的話,為了方便快捷,可以在Sysfg文件進行快速配置。
這時,我們的波特率,檢驗位,停止位都已配置完成,串口名稱也配置完成。這時候我們可以打開自動生成的配置文件查看。
#include "ti_drivers_config.h"
我們可以看到,我們串口的信息都已經在該頭文件中
我們要使用TiDrivers下的串口特別簡單,首先我們要引入這個頭文件。
#include <ti/display/Display.h>
然后再定義一個靜態全局變量display,這樣在我們整個C程序中都是用這個串口。
static Display_Handle display;
要初始化串口非常簡單,照抄源碼就可以。
/* Call driver init functions */ Display_init(); display = Display_open(Display_Type_UART, NULL); if (display == NULL) { while (1); }
那我們該如何調用呢?一句話就可以,比如我們要發送100這個數字。我們就這樣寫。
Display_printf(display, 0, 0, "%d",100);//向串口發射100這個數字
比如我們要按一次按鍵,發送一次100,我們就在按鍵回調函數內這樣寫。
/* * ======== gpioButtonFxn0 ======== * Callback function for the GPIO interrupt on CONFIG_GPIO_BUTTON_0. */ void gpioButtonFxn0(uint_least8_t index) { /* Clear the GPIO interrupt and toggle an LED */ GPIO_toggle(CONFIG_GPIO_LED_0); Display_printf(display, 0, 0, "%d",100);//向串口發射100這個數字 }
那么我們的程序開發就到此結束了。大家可以在串口調試助手中查看我們的實驗結果。
對了,CCS內自帶串口終端。可以省去大家自己使用別人的串口調試助手,直接在編程界面查看串口,真的很方便。
下面我來簡單介紹下如何連接這個Terminal。
首先我們在工具箱內打開找到這個小工具
我們點擊進入配置
配置好相應的波特率,檢驗位,停止位后點擊OK,在顯示欄就會顯示接收的數據。
這里由於我懶得再把開發板拿出來了,所以顯示沒有串口(Closed),如果成功連接,就不會出現Closed。
好了,今天的分享就到這里。有時間大家一定要看看TIDrivers提供的幫助文檔,比我的詳細多了。