NO.12 MSP432进行串口通信

发布者:素心静听最新更新时间:2022-12-20 来源: zhihu关键字:MSP432  串口通信  UART 手机看文章 扫描二维码
随时随地手机看文章

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

  串口指的是串行通信,要把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提供的帮助文档,比我的详细多了。


关键字:MSP432  串口通信  UART 引用地址:NO.12 MSP432进行串口通信

上一篇:NO.7 MSP432使用GPIO驱动开发板Led
下一篇:NO.10 1.3寸OLED显示屏IIC通信(12864驱动芯片)

推荐阅读最新更新时间:2024-11-11 11:02

STM32开发笔记4: STM32F407 UART的使用方法
单片机型号:STM32F407 STM32F4内嵌4个通用异步/同步收发器(USART1、USART2、USART3、USART6)和两个通用异步收发器(UART4和UART5)。本文讲解此6个串行口,在异步模式下的使用方法,如不加说明,以USART1为例。 可以按照下述步骤,对通用异步串行口进行设置。 1、打开config.h文件,对如下图所示的宏进行设置,0x0c表示将当前串行口UART1的波特率设为115200bps,无效验。 2、打开main.c文件,可以在其中断服务函数中,完成接收逻辑的代码编写,如下图所示。此代码表明,当串行口收到1个字节的数据后,将触发串行口中断,在中断服务程序中,将
[单片机]
STM32开发笔记4: STM32F407 <font color='red'>UART</font>的使用方法
单片机汇编实验八:查表+串口通信
实验要求:P1口的P1.0~P1.8分别接8个发光二极管。要求编写程序模拟一时序控制装置。开机后第一秒钟L4,L5亮,第二秒钟L3,L6亮,第三秒钟L2,L7亮,第四秒L1,L8亮,第五秒L2,L7亮,第六秒L3,L6亮,第七秒L4,L5亮,第八秒L1,L2,L7,L8亮,第九秒L3,L4,L5,L6亮,第十秒全亮,第十一秒全灭。然后再从头循环。以键盘作为外部中断输入信号,有键按下时,将当前LED状态送PC机显示。 //This is the nineth_5 program of homework //This is made by WQ Data:2013/3/18/ ORG 0000H AJMP MAI
[单片机]
对于51单片机和arm9开发板串口通信问题的分析
距离毕设的时间还剩20天左右,这几天一直忙着做毕设,今天终于将51单片机和串口通信的问题解决了,抽出点时间,写一下遇到的问题。不然,过几天又忘了,记录下来也给后续学习的技术宅能提供一点帮助。 我的串口实验是:ARM9 控制板通过串口发送一个指令,51接受到这个指令后,根据这个指令控制小车的运行方式。(为什么不用arm9直接控制小车而采用51控制小车呢? 答:我的想法是电机驱动这一块直接交付给下一级控制器,程序简单,容易实现,况且通过串口,只需解析一个指令就可以实现)。 1、做此类串口通信一定要记得共地,我采用的方法是直接用5v直流输出引出了两个接口,分别为两个控制板供电,这样的话串口通讯的电压没有一点问题。 2、做串口通讯的
[单片机]
【STM32CubeMX】 串口通信(USART) Printf重定向
STM32CubeMX: Version 4.26.1 MDK-ARM: Version 5.24.2 开发板: 中移onenet 麒麟座MINI板 芯片: STM32F103CBT6 1.STM32CubeMX设置 设置外部时钟源 设置Debug 设置串口 使用USART1 PA9,PA10 设置时钟频率 设置USART1详细参数 生成MDK-ARM工程 2.重定向Printf 及 Scanf 主要用到两个函数 HAL_StatusTypeDef HAL_UART_Transmit(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size,
[单片机]
【STM32CubeMX】 <font color='red'>串口通信</font>(USART) Printf重定向
avr uart仿真实验 PROTEUS virtual terminal
注意PROTEUS virtual terminal的设置如下图。advanced properties中,一定要选择inverted否则结果出错 #include iom16v.h #include macros.h //#include stdio.h //#include skey.c #define uchar unsigned char #define uint unsigned int #define MCLK 8000000 uchar str = http://hi.baidu.com/282280072/blog ; void delay(uint ms) { uint i,j; for(i=0;
[单片机]
avr <font color='red'>uart</font>仿真实验 PROTEUS virtual terminal
ATmega16开发板教程(6)——串口通信
7、串口通信 串口通信的基本概念就是用一根线收RX和另外一根线发TX数据,那么什么时候发?什么时候开始收呢?例如,古时候的暗号——天王盖地虎、小鸡炖蘑菇,说完就开始交易。 串口通信最重要的参数就是波特率、起始位、数据位、奇偶校验、停止位,这些必须匹配正确才能正常通信。 串口通信可以理解为:两个人交流时语速(波特率)要一致,一个人说得快,一个说的慢,那么聊天就失败了;当2个人交流语速一致时,那么就要通过举手(起始位)示意,告诉对方我要开始说话了;然后说话(数据位);说完话后可以思考思考自己说的话是不是对的——奇偶校验,也可以不用考虑太多就直接放下手,示意我说完了——结束位。 如下图为串口通信的时序图,默认电平为1,起始位
[单片机]
ATmega16开发板教程(6)——<font color='red'>串口通信</font>
MSP432学习笔记:CCS的环境配置(库函数的导入)
近来入手一块MSP432,折腾了一晚上,终于把库函数导入进项目,可以愉快的写代码了,以下是我个人的解决办法 首先,打开CCS,点击view,然后点击resource explore,点击SimpleLink MSP432P4-SDK -v2.30.00.14 然后安装SimpleLink MSP432P4 SDK -v2.30.00.14 安装完成之后,新建CCS项目。 生成项目后,选择项目,点击属性,然后点击Build - ARM Compiler - Include Option 添加库函数文件的路径,我的是默认路径 C:tisimplelink_msp432p4_sdk_2_30_00_14sou
[单片机]
<font color='red'>MSP432</font>学习笔记:CCS的环境配置(库函数的导入)
M430_Launchpad串口UART使用硬件方面注意点
首先,不得不说Launchpad是一个很实用的开发工具. 就我个人是用来看, 板载SBW的JTAG相当实用.而且还可以仿真我的MSP430F5438的板子,实在相当给力,省去了上百元的仿真器的费用~~爽~~ 但是,(一碰到这个词果断没什么好事..) 这个板子有个地方搞得非常非主流,不仔细阅读文档的话,妥妥的要被坑! 问题就出在板上的J3插座.(图中,左侧的黄框框) 前面四个是正常的, 最后一个TXD.靠近EMULATION一侧的排针其实是和右侧芯片的3脚相连的.从下面PCB图可以看出来. 至于RXD么,就自己看UserGuide咯.不多废话.(其实这张图里基本也就看出来了..) 这么设计,我估
[单片机]
M430_Launchpad串口<font color='red'>UART</font>使用硬件方面注意点
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved