【TI MSPM0】UART学习

一、样例展示

配置串口在9600的波特率,等待接收到字符,设备在standby模式下当等待的模式下,用中断唤醒自己。

编译,加载,运行 。连接到中断,或者是外部设备。串口会等待接收字符,并将我们发送的字符在发送回来,作为回应。每次接收到数据,led都会翻转


为了进行串口通信,使用串口调试助手。

打开串口调试助手


打开设备管理器

可以看到德州仪器有两个串口,我们使用的是第一个com5

运行程序后,我们通过串口发送数据给单片机,可以看到会返回发送到数据,同时单片机的灯会翻转

串口调试助手使用:

1.选择端口

2.选择波特率

3.打开串口

4.发送数据
若未能正确接收,去检查串口助手和跳线是否正常,根据原理图,应将跳线帽接到靠上的两个引脚,才能正确进行通信

二、代码讲解

cpp 复制代码
#include "ti_msp_dl_config.h"

volatile uint8_t gEchoData = 0;//保存接收到的数据
int main(void)
{
    SYSCFG_DL_init();//初始化

    NVIC_ClearPendingIRQ(UART_0_INST_INT_IRQN);//中断控制器先清除当前的待定中断,防止一上电就进入中断
    NVIC_EnableIRQ(UART_0_INST_INT_IRQN);//使能中断
    

    while (1) {
        
    }
}
//中断服务程序
//Switch获取当前的中断
void UART_0_INST_IRQHandler(void)
{
    switch (DL_UART_Main_getPendingInterrupt(UART_0_INST)) {
        case DL_UART_MAIN_IIDX_RX://接收中断,翻转led
            DL_GPIO_togglePins(GPIO_LEDS_PORT,
                GPIO_LEDS_USER_LED_1_PIN | GPIO_LEDS_USER_TEST_PIN);
            gEchoData = DL_UART_Main_receiveData(UART_0_INST);//接收数据
            DL_UART_Main_transmitData(UART_0_INST, gEchoData);//发送数据
            break;
        default:
            break;
    }
}

三、配置

名称和使用外设

基础配置

时钟为LFCLK(低频时钟),因为本身波特率并不高,希望的波特率是9600,实际上是9576,误差是0.2496,字长是8比特

STOP BIT为1位,硬件流控不需要用,因为用的是UART,用的是异步通信

高级配置

模式默认

同时选用TX和RX,如果选择only,就是单向通信

下面的一系列都不用管

中断

使能了接收中断

pin

自动配置

外设引脚

共有四个串口

可以选择引脚

四、空白模版构建

时钟为BUSCLK也是可以的,误差更小

可以修改波特率为115200,其他不用修改

中断

使能接收中断

希望串口通过分界线这两个引脚传递给调试器,通过调试器用USB信号传给电脑

查看原理图,J101就是这一串跳线帽所在位置

因此将引脚配置为PA11和PA10

五、编写代码

定义接收变量

cpp 复制代码
uint8_t gEchoData;

清空中断状态

cpp 复制代码
 NVIC_ClearPendingIRQ(UART_0_INST_INT_IRQN);

使能中断

cpp 复制代码
NVIC_EnableIRQ(UART_0_INST_INT_IRQN);

编写中断相关代码

接收中断

cpp 复制代码
    gEchoData = DL_UART_Main_receiveData(UART_0_INST);

发送数据

cpp 复制代码
DL_UART_Main_transmitData(UART_0_INST, gEchoData);

五、扩展

如果要接收一串字符,可以开一个数组,再用一个指示

让count++,这样可以看到有多少数据

相关推荐
HPT_Lt9 分钟前
ZCC70X带看门狗功能的电压复位芯片,替代TPS3832
嵌入式硬件
LCG米8 小时前
STM32串口接收卡死根因排查:ORE溢出标志陷阱、错误标志清除顺序与中断恢复实测
stm32·单片机·嵌入式硬件·串口·嵌入式
创界工坊工作室10 小时前
38-基于单片机的老人健康监测系统
单片机·嵌入式硬件·51单片机·proteus
撩得Android一次心动10 小时前
Jetpack Compose 知识点整理2【个人用】
android·笔记·学习·kotlin·compose
dadaobusi11 小时前
学习:灵犀指令集
学习
三佛科技-1341638421212 小时前
20W~200W副边反馈SSR隔离方案HN1562+碳化硅MOS(含光耦817,431)
单片机·嵌入式硬件·物联网·智能家居·pcb工艺
xhyu6112 小时前
【学习笔记】图像质量评估方法 (5.生成图像是否符合用户要求)
笔记·学习·计算机视觉
恒锐丰科技林技术员13 小时前
EG2103 高压 MOS/IGBT 驱动芯片解析:半桥驱动的高性价比之选
经验分享·嵌入式硬件·硬件工程
卿卿的产品经理日记14 小时前
【AI产品经理实战】Day 38|try-except 踩坑实录:报错是数据
人工智能·笔记·python·学习·产品经理
keyipatience14 小时前
TypeScript学习(1)
前端·javascript·学习·typescript·html·css3