NO.12 MSP432進行串口通信


  首先,我們要明白什么是串口通信。

  串口指的是串行通信,要把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提供的幫助文檔,比我的詳細多了。

  

  

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM