快疯了,keil编译环境下c51程序怎么用printf和scanf函数?

[复制链接]
4660|9
 楼主| zhchpan 发表于 2015-12-9 22:01 来自手机 | 显示全部楼层 |阅读模式
void main()

   SCON=0X52;
  TMOD=0X20;
  TH1=TL1=0XFD;
  TI=1;
  TR1=1;
  while(1)
  {
       uint i,j;
       printf(“input i and j:\n”);
       scanf(“%d,%d”,&i,&j);
       printf(“i=%d  j=%d”,i,j);
    }

写到stc89c52单片机,突突突不停的输出
input i and j:
i=0  j=0
input i and j:
i=0  j=0
.........

打赏榜单

21ic小管家 打赏了 2.00 元 2015-12-10

 楼主| zhchpan 发表于 2015-12-9 22:02 来自手机 | 显示全部楼层
根本没有执行scanf()函数好伐,咋回事啊
dirtwillfly 发表于 2015-12-10 09:22 | 显示全部楼层
你是从哪里看到的输出?
 楼主| zhchpan 发表于 2015-12-10 10:14 来自手机 | 显示全部楼层
dirtwillfly 发表于 2015-12-10 09:22
你是从哪里看到的输出?

STC-ICP自带的串口程序啊,难道是软件的问题?
ddoocc 发表于 2015-12-10 11:32 | 显示全部楼层
scanf ,printf这类函数跟操作系统有密切关系。一般单片机是不具备这类函的功能的,要想使用请自己写底层驱动。
dirtwillfly 发表于 2015-12-10 12:50 | 显示全部楼层
改改代码,别让它循环那么快,就好了。
huarana 发表于 2015-12-10 16:23 | 显示全部楼层
dirtwillfly 发表于 2015-12-10 12:50
改改代码,别让它循环那么快,就好了。

while里面写个延时

1秒钟或者几秒钟输出一次。循环太快来得及看吗
MJM_WSY 发表于 2015-12-10 17:56 | 显示全部楼层
这样根本不支持  printf 。需要自己用写一个。
dawei360 发表于 2015-12-10 19:06 | 显示全部楼层
07611128 发表于 2015-12-10 21:14 | 显示全部楼层
串口初始化加入 TI=1;//直接使用printf必须加入此句才能实现发送  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

7

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部