【问题标题】:How to write a hex string over UART for PIC Microcontrollers in C?如何通过 UART 为 C 中的 PIC 微控制器编写十六进制字符串?
【发布时间】:2025-11-21 14:25:02
【问题描述】:

我在为 UART 编写十六进制字符串时遇到问题。我可以发送一个字节,例如:

 UART2_Write(0x80);

我现在需要做一个完整的十六进制字符串,如下所示:

 UART2_Write(0x80, 0x70, 0xAD, etc)

有人可以帮忙吗?我是否需要创建一个字符串并通过 UART 发送该字符串?非常感谢任何帮助:)

【问题讨论】:

    标签: c hex uart microchip


    【解决方案1】:

    你只能写一个字节,所以你必须一次写一个字节。比如这样:

    void UART2_Write_string(unsigned char * data, int data_len)
    {
        for (int i = 0; i < data_len; i++) {
            UART2_Write(data[i]);
        }
    }
    

    你可以这样使用函数:

    unsigned char text1[] = "This is a text I want to print";
    unsigned char data1[] = {0x80, 0x70, 0xAD};
    
    UART2_Write_string(text1, sizeof(text1));
    UART2_Write_string(data1, sizeof(data1));
    

    这将通过 UART 发送 text1 中的信息和 data1 中的信息。

    【讨论】: