繁体   English   中英

如何使用嵌入式C代码通过UART发送转义序列

[英]How to send escape sequences via UART, using Embedded C code

我需要使用嵌入式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”的输入“数据”等于转义序列EscR0,1,2,7; 在嵌入式C中?

我想可以用许多不同的方法来完成,但是任何建议都可以。

您要发送“ esc”还是十六进制值发送“ 1b”?

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

例如: EscR0,1,2,7;

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM