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提供的帮助文档,比我的详细多了。

  

  

  

posted @ 2020-06-05 13:07  DerekChen517  阅读(4120)  评论(1编辑  收藏  举报