C '\n';?
我造成了一种我真的不明白的效果:C '\n';?,c,stm32,C,Stm32,我造成了一种我真的不明白的效果: 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
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
char缓冲区[6];
UINT i=adc_getadc值(6);
int j=0;
for(j=0;j\n
是下一行(换行-LF),而\r
是旧打印机上的回车(CR)
您的终端被配置为“la”窗口,其中下一行是CR+LF。因此,只发送LF到下一行,而不是开始
Unix通常只使用LF
更改终端的配置或将代码更改为使用\n\r
这都是向后兼容性的问题。在Windows中,您需要使用\r\n
而不是简单地使用n
,这是UNIX做同样事情的方式
有关更多信息,请参见@Bruce的帖子。改用\r\n
。查看或更改油灰设置-单击“终端”下的,然后启用“每个LF中的隐式CR”,看看这是否解决了问题。@SolarBear谢谢你的评论,也谢谢psmears。如果你回答这个问题,我会接受itC大概有一些常量,你可以用来添加适合平台的EOL字符.@meagar-在这种情况下,执行平台和显示平台是不同的,因此编译器不能提供太多直接帮助,因为它不知道后者。虽然\n\r
可以完成这项工作,\r\n
更为常见。的确,常见的组合是CR+LF@Bruce感谢您的回答,但是\solarBear评论帮助了我第一个!