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

 

  然后再定义一个静态全局变量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提供的帮助文档,比我的详细多了。


文章来源于: 电子工程世界 原文链接

本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。