串口利用printf函数打印信息

一、原理:

  1. 思路:

我们初学c语言时应该都用printf函数在计算机中打印过信息,而原本的printf函数是利用putchar函数向内部发送信息,如果我们修改一下putchar函数,向串口发送信息,就能实现printf函数在串口中打印信息。

  1. 为什么我们可以实现putchar函数的重定义(重映射)呢?

extern char putchar (char);

在"stdio.h"头文件中,将putchar函数用extern关键字修饰了,使它可以在其他文件被修改,即重映射

二、参考代码:(STC15F2K60S2)

#include 
#include  
void UartInit(void)    ;
void main()
{UartInit();while(1){printf("Hello World!\r\n");}
}void UartInit(void)        //9600bps@12MHz
{SCON = 0x50;        //8位数据,可变波特率AUXR |= 0x40;        //定时器时钟1T模式AUXR &= 0xFE;        //串口1选择定时器1为波特率发生器TMOD &= 0x0F;        //设置定时器模式TL1 = 0xC7;            //设置定时初始值TH1 = 0xFE;            //设置定时初始值ET1 = 0;            //禁止定时器中断TR1 = 1;            //定时器1开始计时
}/*重映射putchar函数
*/
char putchar (char c)
{SBUF = c;while(!TI);TI = 0;return c;
}


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部