找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

Keil编译单片机程序错误 求大佬解答

查看数: 1545 | 评论数: 4 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2021-3-14 19:41

正文摘要:

总是这个错误,到底是哪里错了,怎么解决

回复

ID:743654 发表于 2021-3-16 08:50
zsw3721 发表于 2021-3-14 20:40
你的delayxms函数形参定义的是uint,那你调用的时候就不要给一个int的参数。1000已经超过了8位无符号数的最 ...

无符号整型的范围是0~65535,1000没有超过
ID:287575 发表于 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
没问题的,你应该把你的整个工程上传,是不是设置的问题
ID:891208 发表于 2021-3-14 21:20
数据类型的值域不同
ID:702386 发表于 2021-3-14 20:40
你的delayxms函数形参定义的是uint,那你调用的时候就不要给一个int的参数。1000已经超过了8位无符号数的最大值255。

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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