烽火社区
标题:
keil简单编程问题
[打印本页]
作者:
1236857377733
时间:
2015-1-4 10:31 AM
首先,你这是个2K限制版本
其次,要使用scanf和printf要想应用到单片机,必须对其进行改造,这不是PC机,哪里有操作系统,哪里有显示器!
再次,你的代码超过2k的原因应该是你使用了scanf和printf,这样编译器就必须加载标准C库文件中的一些代码。
最后还要强调一点,单片机的程序是没有出口的,即主程序中一定要有死循环,使程序不推出
强烈建议楼主仔细阅读一本C51的书籍,不要单纯的把它理解为标准C(尤其是课本上学到的标准C)。
作者:
sdjntl
时间:
2015-1-7 01:42 AM
用了scanf和printf会引入错误
作者:
sdjntl
时间:
2015-1-7 03:53 AM
同意二楼观点。
作者:
roumao
时间:
2015-1-7 05:13 AM
二楼是高手。
作者:
dagaoying
时间:
2015-12-31 02:46 AM
标题:
keil简单编程问题
下面是一个非常简单的两个数比较大小的C51程序:
#include
#include
main()
{char a,A,m;
SCON=0x52;
TMOD=0x20;
TCON=0x69;
TH1=0x0F3;
scanf("%c %c",&a,&A);
if(a>A) m="a";
else m="A";
printf("\n max=%c \n",m);
}
程序的编译已经通过, 但是当执行debug/start debug session的时候,出现下面错误:
Running with Code Size Limit: 2K
Load "C:\\Keil\\practice3\\shiyan"
*** Restricted Version with 2048 Byte Code Size Limit
*** Currently used: 2119 Bytes (103%)
*** error 120: code size limit exceeded
我选的是AT89C51的内核, 而且就上面的几条程序, 怎么会超过代码限度呢?
我目前还是新手,还请网上的各位大虾帮我解决一下!万分感谢!
欢迎光临 烽火社区 (https://bbs.cnecport.com/)
Powered by Discuz! X3.2