打印

MSPM0L1306小练-串口ECHO回显

[复制链接]
510|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xyz549040622|  楼主 | 2024-1-4 22:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 xyz549040622 于 2024-1-5 14:07 编辑

首先我们普及一个概念:串口ECHO

串口ECHO通常指的是串行通信中的回显功能。在计算机网络和串行通信中,ECHO是指当数据在终端和计算机之间发送时,发送的信号会被系统自动发送回原发送终端的一个过程。这允许发送者看到他们输入的数据,并验证数据是否正确无误。

串口通信中,ECHO常常用于调试目的。比如,当你通过串口向一个设备发送命令时,如果ECHO功能开启,该设备会将接收到的命令原样发送回来。这样做的好处是可以让发送者确认命令是否正确接收。如果没有收到回显,发送者可能会知道有些问题发生了,比如连接错误、数据丢失或设备故障等。

在一些交互式的通信场景中,ECHO功能也帮助用户看到他们在终端上键入的字符,特别是在使用命令行接口或远程终端时。例如,在使用PuTTY或其他串口通信工具时,你可以看到自己输入的命令,因为它们被设备回显在屏幕上。

通常,ECHO功能可以通过软件来启用或禁用,取决于具体的应用场景和需求。在某些情况下,为了提高通信效率,可能会关闭回显功能,因为它减少了传输的数据量。



那么下面我们根据官方的例程和我们的需要,进行代码的配置:

#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);//使能中断
//    DL_SYSCTL_enableSleepOnExit();

    while (1) {
        __WFI();
    }
}

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);//翻转用户LED
            gEchoData = DL_UART_Main_receiveData(UART_0_INST);//获取接收到的数据
            DL_UART_Main_transmitData(UART_0_INST, gEchoData);//把接收到的数据发送出去
            break;
        default:
            break;
    }
}


使用特权

评论回复
沙发
zwsam| | 2024-1-5 09:08 | 只看该作者

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:qq群: 嵌入式系统arm初学者 224636155←← +→→点击-->小 i 精品课全集,21ic公开课~~←←→→点击-->小 i 精品课全集,给你全方位的技能策划~~←←

2754

主题

19237

帖子

104

粉丝