我已经产生了一种我真正不理解的效果:
char buffer[6];
UINT i = adc_getADCValue(6);
int j = 0;
for ( j = 0 ;j <4;j++){
buffer[3-j] = (UINT) ((i%10UL)+'0');
i /=10;
}
buffer[4] = '\n';
buffer[5] = '\0';
localprint(buffer); // print messages on terminal using COM port
它有效
我的问题是为什么输出使用\n
倾斜?我正在跳模拟printf
函数。我使用的是STM32f103xx uC。
答案 0 :(得分:6)
\n
是下一行(换行符 - LF),\r
是旧打印机上的回车符(CR)。
您的终端配置为“àla”窗口,其中下一行是CR + LF。因此,只发送LF到下一行,但不到开头。
Unix通常只使用LF。
更改终端的配置或更改代码以使用\n\r
答案 1 :(得分:2)
这是向后兼容性的所有问题。在Windows中,您需要使用\r\n
而不是简单的n
,这是UNIX做同样事情的方式。
有关详细信息,请参阅this link以及@Bruce的帖子。