我有问题要通过串行端口发送一些字符,

我的发送过程看起来像

SendBlock(serial_port, OutputData, sizeof(OutputData))


OutputData = "ex text"起作用时,我收到此文本。但是当我尝试发送计算结果即unsigned char output[32]时,例如ex output = ca9abcb0082e4f8d5651e46d3cdb76,但是我收到aĆrY3ŁđbďÝ时,我认为终端试图将ca9abcb0082e4f8d5651e46d3cdb76转换为asci,不知道如何解决。

最佳答案

这篇文章here一次实现了几个字符的快速,干净的UART传输。它可能对您的应用程序有用。

int main(void)
{

    char t[8] = "ex text"
    uart_init(BAUD_RATE);

    for (int i = 0; i < 9; i++) {

        if (uart_available()) {
            uart_putchar(t[i]);
        }
    }
}

关于c - C通过uart发送字符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16613449/

10-13 09:08