Author: 想文艺一点的程序员
自动化专业 工科男
再坚持一点,再自律一点
优快云@想文艺一点的程序员
来自朱有鹏嵌入式的学习笔记
串口打印 /n 和 /r/n 。
-
Unix 系统里,每行结尾只有“<换行>”,即“\n”;
-
Windows系统里面,每行结尾是“<回车><换行>”,即“ \r\n”;
-
Mac系统里,每行结尾是“<回车>”。
解决办法:
在发送 /n 的时候,在他前面添加一个 /r 即可
// 串口发送程序,发送一个字节
void putc(char c)
{
// 串口发送一个字符,其实就是把一个字节丢到发送缓冲区中去
// 因为串口控制器发送1个字节的速度远远低于CPU的速度,所以CPU发送1个字节前必须
// 确认串口控制器当前缓冲区是空的(意思就是串口已经发完了上一个字节)
// 如果缓冲区非空则位为0,此时应该循环,直到位为1
if (c == '\n')
{
while (!(rUTRSTAT0 & (1<<1)));
rUTXH0 = '\r';
}
while (!(rUTRSTAT0 & (1<<1)));
rUTXH0 = c;
}