打印
[51单片机]

求助:c15中如何使用scanf?

[复制链接]
1652|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wdj631023|  楼主 | 2013-11-7 20:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
求助:c15中如何使用scanf?
我的程序是这样的
#include "reg51.h"
#include "stdio.h"

void Init51(void)
{
        TMOD=0X20;
        SCON=0X52;
        TH1=0XF3;
        TL1=0XF3;
        TR1=1;
}
void main()
{
        int td;
        Init51();
        printf("\n\rPlease enter a number:");
        scanf("%d",&td);
        printf("The number is:%d",td);
        while(1);
}
程序运行后在UART#1中显示Please enter a number:
从键盘上输入数字、回车
没有任何输出
运行到scanf时在哪里输入数据?
不知问题出在哪,请高手出手,谢谢!

相关帖子

沙发
黄小俊| | 2013-11-7 22:47 | 只看该作者
,帮你顶一下

使用特权

评论回复
板凳
jack821119| | 2013-11-8 11:52 | 只看该作者
程序运行后在UART#1中显示Please enter a number:
从键盘上输入数字、回车
没有任何输出
没有输出的话应该是你设置了断点或者单步模式情况下就会引起的.
有输出的,不过输出的都是0
这个本人在keil上验证过,可能跟keil对这个支持力度有限,在汇编里看的话,keil会自动的把sbuf清空为0x30,然后把
0赋给td。

使用特权

评论回复
地板
wdj631023|  楼主 | 2013-11-20 10:05 | 只看该作者
问题已解决
程序运行后在UART#1中显示Please enter a number:
此时在UART#1中冒号后单击鼠标,从键盘输入数字、回车
在UART#1中显示出输入的数,一切OK

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

5

帖子

0

粉丝