当前位置:首页 > 单片机 > 单片机
[导读]在用keil仿真查看串口输出时,遇到了一个问题,代码如下:#include#include /* 为使用printf函数而加入*/main(){ SCON= 0x50;/*SCON:工作模式1,8-bit UART,允许接收*/ TMOD |= 0x20;/*TMOD:定时器T1,工作模式2,

在用keil仿真查看串口输出时,遇到了一个问题,代码如下:

#include

#include /* 为使用printf函数而加入*/

main()

{

SCON= 0x50;/*SCON:工作模式1,8-bit UART,允许接收*/

TMOD |= 0x20;/*TMOD:定时器T1,工作模式2, 8位自动重载方式*/

TH1= 0xf3;/*当波特率为2400时,定时器初值*/

TR1= 1;/*定时器T1开始运行*/

TI= 1;/*允许发送数据*/

printf("hello world");

}

上面代码调试运行后,串口不断输出"hello world",程序陷入死循环。

问题的解决:在程序末尾应加上while(1);

原因:如果不加while(1); 单片机将执行一条RET指令,这条指令会让程序复

位(软件复位,从堆栈弹出0000H到PC寄存器),复位后程序重新开始

执行。

思考:习惯了window下编程,主程序执行完了就退出到操作系统,单片机就

不一样了,退到哪里呢?以下是单片机和编译器的对话:

单片机:我没事做了,死了算了~~~

编译器:想死?你还是复位吧~~~RET

单片机:o,shit~~~

单片机串口相关问题:标准51只有一个串口,但是现在很多基于51内核的单

片机都会有两个串口或是更多,那么printf函数针对哪个串口呢?

回答:KeilC51LIB目录下有个putchar.c文件,printf函数会调用该文件中的

putchar函数,putchar里面的使用的寄存器都是标准51的sfr(如TI,SBUF),它

们的地址是固定的,由此可知printf函数只针对串口0。如果想让printf函数支

持串口1或串口2。。。那么修改putchar函数的寄存器即可,比如SBUF改为

SBUF1。但是能不能用printf函数对串口0,串口1。。。都适用呢,自己想办

法吧:)

另外:如果只是用printf输出字符串的话还是自己编个函数吧,因为printf要处

理各类数据的输出,占用代码空间很大,我试了一下,程序里就一条printf语

句,code就1K了,而且printf执行起来也慢。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

特朗普集团近日取消了其新推出的T1智能手机“将在美国制造”的宣传标语,此举源于外界对这款手机能否以当前定价在美国本土生产的质疑。

关键字: 特朗普 苹果 AI

美国总统特朗普在公开场合表示,他已要求苹果公司CEO蒂姆·库克停止在印度建厂,矛头直指该公司生产多元化的计划。

关键字: 特朗普 苹果 AI

4月10日消息,据媒体报道,美国总统特朗普宣布,美国对部分贸易伙伴暂停90天执行新关税政策,同时对中国的关税提高到125%,该消息公布后苹果股价飙升了15%。这次反弹使苹果市值增加了4000多亿美元,目前苹果市值接近3万...

关键字: 特朗普 AI 人工智能 特斯拉

3月25日消息,据报道,当地时间3月20日,美国总统特朗普在社交媒体平台“真实社交”上发文写道:“那些被抓到破坏特斯拉的人,将有很大可能被判入狱长达20年,这包括资助(破坏特斯拉汽车)者,我们正在寻找你。”

关键字: 特朗普 AI 人工智能 特斯拉

1月22日消息,刚刚,新任美国总统特朗普放出重磅消息,将全力支持美国AI发展。

关键字: 特朗普 AI 人工智能

特朗普先生有两件事一定会载入史册,一个是筑墙,一个是挖坑。在美墨边境筑墙的口号确保边境安全,降低因非法移民引起的犯罪率过高问题;在中美科技产业之间挖坑的口号也是安全,美国企业不得使用对美国国家安全构成威胁的电信设备,总统...

关键字: 特朗普 孤立主义 科技产业

据路透社1月17日消息显示,知情人士透露,特朗普已通知英特尔、铠侠在内的几家华为供应商,将要撤销其对华为的出货的部分许可证,同时将拒绝其他数十个向华为供货的申请。据透露,共有4家公司的8份许可被撤销。另外,相关公司收到撤...

关键字: 华为 芯片 特朗普

曾在2018年时被美国总统特朗普称作“世界第八奇迹”的富士康集团在美国威斯康星州投资建设的LCD显示屏工厂项目,如今却因为富士康将项目大幅缩水并拒绝签订新的合同而陷入了僵局。这也导致富士康无法从当地政府那里获得约40亿美...

关键字: 特朗普 富士康

今年5月,因自己发布的推文被贴上“无确凿依据”标签而与推特发生激烈争执后,美国总统特朗普签署了一项行政令,下令要求重审《通信规范法》第230条。

关键字: 谷歌 facebook 特朗普

众所周知,寄往白宫的所有邮件在到达白宫之前都会在他地进行分类和筛选。9月19日,根据美国相关执法官员的通报,本周早些时候,执法人员截获了一个寄给特朗普总统的包裹,该包裹内包含蓖麻毒蛋白。

关键字: 美国 白宫 特朗普
关闭