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。
很基础的一个实验,串口收到一个字符,将收到的字符发回。
在这里插入图片描述
在这里插入图片描述

3.SysConig配置描述

各部分的配置如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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例程增加注释,xie_sx@126.com
 *
 */

#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.实验现象

在这里插入图片描述
在这里插入图片描述

  • 12
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HappyShengxiang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值