找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1271|回复: 4
打印 上一主题 下一主题
收起左侧

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

[复制链接]
跳转到指定楼层
楼主
ID:891899 发表于 2021-3-14 19:41 来自手机 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
总是这个错误,到底是哪里错了,怎么解决

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

1615722054812..jpg
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:702386 发表于 2021-3-14 20:40 | 只看该作者
你的delayxms函数形参定义的是uint,那你调用的时候就不要给一个int的参数。1000已经超过了8位无符号数的最大值255。
回复

使用道具 举报

板凳
ID:891208 发表于 2021-3-14 21:20 | 只看该作者
数据类型的值域不同
回复

使用道具 举报

地板
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
没问题的,你应该把你的整个工程上传,是不是设置的问题
回复

使用道具 举报

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

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

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

Powered by 单片机教程网

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