基于MSPM0G3507的Theia版CCS之UART的配置

这里代码实现的效果是电脑给单片机发送数据 单片机接收到数据之后 马上返回给电脑

另外使用了PA0的LED作为单片机接收的指示灯,在单片机接收到数据时,PA0高低电平会反转,从来实现LED的亮灭

这里我只介绍USRT的配置,LED的配置不做介绍,如有疑问可以转到我主页中按键控制LED那一章去或在评论区留言

Name——自行编辑

Clock Source——选择时钟源 这里选择一个低速时钟源

Clock Divider——时钟分频 不分频

Target Baud Rate——选择波特率 9600

Word Length——传输数据长度 八字节

Parity——校验位 无校验位

Stop Bits——停止位 一位停止位

Communication Direction —— 选择通讯通道 这里选择发送和接收双通道

Enable Interrupts——使能中断 这里只使能接收中断


#include "ti_msp_dl_config.h"

volatile uint8_t gEchoData = 0;
int main(void)
{
    SYSCFG_DL_init();

    //防止一上电就进入中断 先清除中断标志位
    NVIC_ClearPendingIRQ(UART_0_INST_INT_IRQN); 

    //使能UART0的中断
    NVIC_EnableIRQ(UART_0_INST_INT_IRQN);
    // DL_SYSCTL_enableSleepOnExit();

    while (1) {
        // __WFI();
    }
}

//UART0的中断函数
void UART_0_INST_IRQHandler(void)
{
    switch (DL_UART_Main_getPendingInterrupt(UART_0_INST)) {
        case DL_UART_MAIN_IIDX_RX: //接收标志位
            DL_GPIO_togglePins(GPIO_LEDS_PORT,
                GPIO_LEDS_USER_LED_1_PIN);

            //缓存接收到的数据    
            gEchoData = DL_UART_Main_receiveData(UART_0_INST);、

            //发送接收到的数据
            DL_UART_Main_transmitData(UART_0_INST, gEchoData); 
            break;
        default:
            break;
    }
}

  • 7
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值