STM32的RTC万年历显示问题

博客整理后写出来的,有点乱,大家见谅!

 

 

想让串口输出万年历效果.每次秒刷新一次

结果是串口软件一直输出,看起来很难受

 

 

STM32的RTC万年历显示问题_第1张图片

 

STM32的RTC万年历显示问题_第2张图片STM32的RTC万年历显示问题_第3张图片STM32的RTC万年历显示问题_第4张图片

STM32的RTC万年历显示问题_第5张图片

 

 

 

STM32的RTC万年历显示问题_第6张图片

 

STM32的RTC万年历显示问题_第7张图片

先讲一讲C代码的\r和\n的区别

\r 就是return 回到 本行 行首 这就会把这一行以前的输出 覆盖掉 
\n 是回车+换行 把光标 先移到 行首 然后换到下一行 也就是 下一行的行首拉

[root@mylinux c]# vi huiche.c
      1 main()
      2 {
      3     printf("aa\rb");
      4     printf("cc\nd");
      5 }
[root@mylinux c]# gcc huiche.c 
[root@mylinux c]# ./a.out 
bcc
d[root@mylinux c]#
\r 就是return 回到 本行 行首 这就会把这一行以前的输出 覆盖掉 
\n 是回车+换行 把光标 先移到 行首 然后换到下一行 也就是 下一行的行首拉
输入字符,回显所输入字符,但不回显ESC,按回车键换行
main()
{
    char c; 
    while(c!='\r')
    {   c=getchar();
        if (c==0X1B)
            continue;
        printf("%c",c);
    }
}
:输入字符,回显所输入字符,但不回显ESC,按回车结束
main()
{
    char c; 
    while(c!='\n')
    {   c=getchar();
        if (c==0X1B)
            continue;
        printf("%c",c);
    }
}

 

 还是不行啊......直接C++测试转移字符

STM32的RTC万年历显示问题_第8张图片

 (代码没问题,看来是软件的问题)

 马上换了一个软件,最后想到的是超级终端

(完美解决)

注意:网上的一些串口上位机都不能识别这个转义字符

串口输出直接是一行一行的输出

(这个没有我们系统的控制台输出那么智能)

 

 

 

 后期我将写一个更加完美的串口调试助手上位机程序,到时候共享给大家.

 

 

 

The end!.

软件交流群:160441098 

嵌入式交流群:227262400

 

你可能感兴趣的:(stm32)