单片机调试的时候,如果可以打开printf函数来实时打印调试数据,可以很方便地对功能进行监测,在没有单步调试的条件下也可以快速进行程序调试
C51的单片机功能比较弱,可以打开printf函数却比较简单,只需要短短几行代码就可以直接调用系统的printf函数来打印信息
第一步:增加基本输出库stdio.h
第二步:设置串口参数
/*
串口波特率设定值
11.0592M
波特率 初值 误差
300 0xa0 0
600 0xd0 0
1200 0xe8 0
1800 0xf0 0
2400 0xf4 0
3600 0xf8 0
4800 0xfa 0
7200 0xfc 0
9600 0xfd 0
14400 0xfe 0
28800 0xff 0
12M
波特率 初值 误差
300 0x98 0.16
600 0xcc 0.16
1200 0xe6 0.16
1800 0xef 2.12
2400 0xf3 0.16
3600 0xf7 -3.55
4800 0xf9 -6.99
7200 0xfc 8.51
9600 0xfd 8.51
14400 0xfe 8.51
28800 0xff 8.51
*/
SCON = 0x50; /* SCON: mode 1, 8-bit UART, enable rcvr */
TMOD |= 0x20; /* TMOD: timer 1, mode 2, 8-bit reload */
TH1 = 0xfd; /* TH1: reload value for 9600 baud @ 11.0592MHz */
TR1 = 1; /* TR1: timer 1 run */
TI = 1; /* TI: set TI to send first char of UART */
第三步:直接在函数中使用printf进行打印
比如,可直接打印printf("Com Test\r\n");