Как написать шестнадцатеричную строку через UART для микроконтроллеров PI C в C? - PullRequest
0 голосов
/ 23 января 2020

У меня проблемы с написанием шестнадцатеричной строки для UART. Я могу отправить один байт, например:

 UART2_Write(0x80);

Теперь мне нужно сделать полную шестнадцатеричную строку, чтобы что-то вроде следующего:

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

Кто-нибудь может помочь? Нужно ли создавать строку и отправлять ее через UART? Любая помощь очень ценится :)

1 Ответ

0 голосов
/ 23 января 2020

Вы можете записать только один байт, поэтому вы должны писать по одному байту за раз. Например, как это:

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 информацию в текстовом формате1 и информацию в данных1.

...