搜索
bottom↓
回复: 17

第一次用scanf一直不对,紧急求助!

[复制链接]

出0入0汤圆

发表于 2012-6-2 13:17:04 | 显示全部楼层 |阅读模式
各位大侠麻烦看一下,我这个程序

/***********************/
#include <reg52.h>
#include <stdio.h>

void main()
{
        unsigned int a,c;
        SCON = 0x50;
        TMOD = 0x20;
        TH1  = 0xe8;
        TL1  = 0xe8;
        TI=1;
        TR1  = 1;
        while(1)
        {
        scanf("%u",&a);
        c=a+10;
        printf("%u\n",c);       
        }
}

不知道为什么,输出的还是原来a的值,而不是+10后的值!

先谢了!

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

 楼主| 发表于 2012-6-2 13:25:28 | 显示全部楼层
在线等,焦急呀!

出0入0汤圆

 楼主| 发表于 2012-6-2 13:42:29 | 显示全部楼层
各位大侠,拜托了!

出0入0汤圆

 楼主| 发表于 2012-6-2 14:22:08 | 显示全部楼层
各位大侠不要打击我学单片机的积极性!

出0入0汤圆

发表于 2012-6-2 14:44:09 | 显示全部楼层
输出到哪里了

出0入0汤圆

 楼主| 发表于 2012-6-2 15:11:40 | 显示全部楼层
返回到串口,显示到串口调试助手中

出0入0汤圆

 楼主| 发表于 2012-6-2 15:25:10 | 显示全部楼层
我一直在线等你的解答

出0入0汤圆

发表于 2012-6-2 15:29:40 | 显示全部楼层
把%u改成%d看看有没有变化

出0入0汤圆

 楼主| 发表于 2012-6-2 15:31:54 | 显示全部楼层
8楼
你好,我该半天了,也没有效果!

出0入0汤圆

 楼主| 发表于 2012-6-2 15:34:40 | 显示全部楼层
我的感觉是 c=a+10;这一步就没有执行过,但是找不到原因!

出0入0汤圆

发表于 2012-6-2 15:39:26 | 显示全部楼层
真没看出来哪里有问题

出0入0汤圆

发表于 2012-6-2 15:40:13 | 显示全部楼层
这么能看出你是输出到串口

出0入0汤圆

 楼主| 发表于 2012-6-2 15:40:15 | 显示全部楼层
        scanf("%u",&a);
        c=a+10;
        printf("%u\n",c);  
加在这两个中间的语句就不执行,我很郁闷!

出0入0汤圆

发表于 2012-6-2 16:03:04 | 显示全部楼层
楼主能不能把详细情况再描述一下。
包括:
楼主使用的编译器;
去掉scanf,printf的行为是否正常;
如果去掉printf,串口是不是还会有输出;
你的程序能执行多次么,还是每发送一个字符必须复位?
其实很少有人能回答你,因为大家尽量不会去用scanf函数,在不同的C编译器实现下,它的行为可能会有区别。而且scanf和print都是死等方式,是要尽量避免的。

出0入0汤圆

 楼主| 发表于 2012-6-2 16:11:49 | 显示全部楼层
用的KEIL,去掉scanf,printf的行为正常;去掉printf,串口还会有输出;

出0入0汤圆

发表于 2012-6-2 16:22:04 | 显示全部楼层
去掉printf,串口还会有输出
这你不觉得奇怪么?

出0入0汤圆

 楼主| 发表于 2012-6-2 16:29:27 | 显示全部楼层
就是奇怪我才一直在想为什么,我花了快7个小时都没有找到原因,说实话串口我用的挺熟的,就是第一次用scanf,谢谢“automaticdai”,以后我不用scanf

出0入0汤圆

发表于 2012-6-2 16:42:59 | 显示全部楼层
不仅是scanf、printf也不推荐在嵌入式中使用,
他们有时候的行为很古怪。而且他们的库需要占用2K以上额外的ROM空间。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-24 02:14

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表