标题: Keil编译单片机程序错误 求大佬解答 [打印本页]

作者: 2086206269@qq.c    时间: 2021-3-14 19:41
标题: Keil编译单片机程序错误 求大佬解答
总是这个错误,到底是哪里错了,怎么解决

1615722054812..jpg (795.48 KB, 下载次数: 44)

1615722054812..jpg

作者: zsw3721    时间: 2021-3-14 20:40
你的delayxms函数形参定义的是uint,那你调用的时候就不要给一个int的参数。1000已经超过了8位无符号数的最大值255。
作者: 小韩嵌入式    时间: 2021-3-14 21:20
数据类型的值域不同

作者: zhangxiaozi    时间: 2021-3-14 23:31
#include "reg51.h"
#define uint unsigned int
sbit led=P0^0;

void delayxms(uint xms)
{
                uint x,y;
        for(x=xms;x<0;x--)
         for(y=110;y>0;y--);
}

void main()
{
        while (1)
        {
                led=0;
                delayxms(1000);
                led=1;
                delayxms(1000);
        }
}

Rebuild target 'Target 1'
compiling test.c...
linking...
Program Size: data=9.0 xdata=0 code=62
".\Objects\test" - 0 Error(s), 0 Warning(s).
Build Time Elapsed:  00:00:00
没问题的,你应该把你的整个工程上传,是不是设置的问题
作者: cheney03    时间: 2021-3-16 08:50
zsw3721 发表于 2021-3-14 20:40
你的delayxms函数形参定义的是uint,那你调用的时候就不要给一个int的参数。1000已经超过了8位无符号数的最 ...

无符号整型的范围是0~65535,1000没有超过




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1