如何使用嵌入式C代码

时间:2016-10-15 09:51:06

标签: c escaping uart unicode-escapes stringescapeutils

使用Embedded C我需要帮助发送特定的转义序列。 这是我在stackoverflow上的第一个主题!

我使用此功能通过UART编写命令:

void UART_Write(UARTChannel* channel, uint8_t* data, uint32_t length) 

输入,通道,数据和长度分别对应于UART通道,要发送的命令和命令的长度。 这一般都很棒!

但是,我在C中生成正确的转义序列时遇到一些困难。我需要使用UART_Write函数编写以下转义序列:

EscR0,1,2,7;

Esc是转义字符(0x1b),R0是字符命令指示符,1,2,7是特定于上下文的参数,;是终止符号。

如何使函数“UART_Write”的输入“data”等于转义序列EscR0,1,2,7;在嵌入式C?

我认为可以通过多种方式完成,但任何建议都可以。

1 个答案:

答案 0 :(得分:0)

你想发送'esc'还是想发送'1b'作为十六进制值?

只需发送字符,就像发送任何其他字符串一样

例如:EscR0,1,2,7;

char buffer[20] = {'\0'};
buffer[0] = 0x1b;
strcat( buffer, "R0,1,2,6;" );
....