'的影响是什么? \ n&#39 ;?

时间:2015-02-25 13:29:53

标签: 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 port 

它有效terminal

我的问题是为什么输出使用\n倾斜?我正在跳模拟printf函数。我使用的是STM32f103xx uC。

2 个答案:

答案 0 :(得分:6)

\n是下一行(换行符 - LF),\r是旧打印机上的回车符(CR)。

您的终端配置为“àla”窗口,其中下一行是CR + LF。因此,只发送LF到下一行,但不到开头。

Unix通常只使用LF。

更改终端的配置或更改代码以使用\n\r

答案 1 :(得分:2)

这是向后兼容性的所有问题。在Windows中,您需要使用\r\n而不是简单的n,这是UNIX做同样事情的方式。

有关详细信息,请参阅this link以及@Bruce的帖子。