MSPM0L1306例程学习-UART部分(1)

MSPM0L1306例程学习系列

1.背景介绍

写在前边的话:

  • 这个系列比较简单,主要是围绕TI官网给出的SDK例程进行讲解和注释。并没有针对模块的具体使用方法进行描述。
  • 所有的例程均来自MSPM0 SDK的安装包,具体可到官网下载并安装: https://www.ti.com.cn/tool/cn/download/MSPM0-SDK/
  • 因为例程多数包含sysconfig文件,也就是配合图形配置工具进行的外设初始化。因此在学习时,不能只看主函数的代码,还要重点看下系统是怎么配置的。因此,每个例程都有一部分内容是PPT截图,来讲解图形配置文件。
  • 使用时,可以直接把添加注释的代码拷贝到自己的工程中进行阅读,比较方便。

UART部分的例程有10个,按照内容顺序重新排序整理如下:
在这里插入图片描述

2.例程描述

本节讲解的例程是 uart_echo_interrupts_standby。
很基础的一个实验,串口收到一个字符,将收到的字符发回。
MSPM0L1306例程学习-UART部分(1)_第1张图片
MSPM0L1306例程学习-UART部分(1)_第2张图片

3.SysConig配置描述

各部分的配置如下:
MSPM0L1306例程学习-UART部分(1)_第3张图片
MSPM0L1306例程学习-UART部分(1)_第4张图片
MSPM0L1306例程学习-UART部分(1)_第5张图片

4.代码注释

代码简单注释如下:

/*
 * UART模块使用的SDK例程
 * 文件名:uart_echo_interrupts_standby.c
 * 描述:
 *   UART模块的基本收发功能演示。
 *   1、系统的时钟配置:LFCLK=32kHz,MCLK=ULPCLK=CPUCLK=32MHz;
 *   2、串口的基本配置:LFCLK, 波特率9600,数据位8,无校验位,停止位1,未使用硬件流控
 *   3、使用UART0,发送和接收,引脚为RX-PA9, TX-PA8
 *     仅使能接收中断,未使用DMA,未使用FIFO
 *   4、程序运行后,通过串口助手进行调试。
 *
 * 操作描述:
 *   1、下载程序,点击RUN全速运行;
 *   2、串口调试助手打开串口,设置好参数;
 *   3、串口调试助手发送数据,可以接收到相同的数据;
 *
 * 注意事项:
 *   1、PC端需要安装串口调试助手;
 *     也可以直接使用CCS的调试终端, 菜单栏/View/Terminal 打开新的窗口,Open a terminal...
 *
 * 思考:
 *   1、有些串口助手发数据直接回显,会分不清是自己发的,还是接收的;
 *     可以将回显的数据做+1处理,这样发送a,收到b就很好区分了。
 *
 * 修改:
 *   基于官方的sdk例程增加注释,[email protected]
 *
 */

#include "ti_msp_dl_config.h"

uint8_t data = 0;

int main(void)
{
    //SysConfig图形配置工具初始化配置函数
    SYSCFG_DL_init();

    //清除中断标志,使能中断
    NVIC_ClearPendingIRQ(UART_0_INST_INT_IRQN);
    NVIC_EnableIRQ(UART_0_INST_INT_IRQN);

    //设置工作模式,允许中断去驱动应用
    DL_SYSCTL_enableSleepOnExit();

    while (1)
    {
        __WFI();
    }
}

/*
 * uart中断处理函数
 *
 * --读取接收到的数据;
 * --直接将原数据写入发送寄存器
 *
 */

void UART_0_INST_IRQHandler(void)
{
    switch (DL_UART_Main_getPendingInterrupt(UART_0_INST))
    {
        case DL_UART_MAIN_IIDX_RX:
            //读取接收到的数据,存入data
            data = DL_UART_Main_receiveData(UART_0_INST);
            //写入发送寄存器,发送data
            DL_UART_Main_transmitData(UART_0_INST, data+1);
            break;
        default:
            break;
    }
}

5.实验现象

MSPM0L1306例程学习-UART部分(1)_第6张图片
MSPM0L1306例程学习-UART部分(1)_第7张图片

你可能感兴趣的:(MSPM0L1306,TI,MSPM0,MCU,学习,mspm0l1306,LP-MSPM0L1306,电赛,单片机)