MSPM0G3507学习——串口通信

注意引脚分配 

只使能(Enable)接收中断(Receive)

 代码:

#include "ti_msp_dl_config.h"
volatile uint8_t gEchoData = 0;

int main(void)
{
    SYSCFG_DL_init();

    // 清除UART 0的中断挂起位  
    NVIC_ClearPendingIRQ(UART_0_INST_INT_IRQN);  
    // 启用UART 0的中断  
    NVIC_EnableIRQ(UART_0_INST_INT_IRQN);

    while (1) {
    }
}

UART中断服务函数:

void UART_0_INST_IRQHandler(void)  
{  
    // 获取UART 0的待处理中断类型  
    switch (DL_UART_Main_getPendingInterrupt(UART_0_INST)) {  
        case DL_UART_MAIN_IIDX_RX: // 接收中断  
            // 切换LED状态以指示数据接收  
            DL_GPIO_togglePins(GPIO_LEDS_PORT, GPIO_LEDS_LED_0_PIN | GPIO_LEDS_PIN_TEST_PIN);  
            // 接收UART 0的数据  
            gEchoData = DL_UART_Main_receiveData(UART_0_INST);  
            // 将接收到的数据回显到UART 0  
            DL_UART_Main_transmitData(UART_0_INST, gEchoData);  
            break;  
        default: // 其他中断类型,这里不处理  
            break;  
    }  
}

串口调试助手

波特率和CCS中配置的一致,查看设备管理器中显示使用的哪个接口。

 在串口调试助手中发送数据,会立马回传显示,并且LED会随着收发而亮灭变化。

如果不用LED显示,则UART中断服务函数:

void UART_0_INST_IRQHandler(void)
{
     gEchoData = DL_UART_Main_receiveData(UART_0_INST);
     DL_UART_Main_transmitData(UART_0_INST, gEchoData);
     
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值