找回密码
 立即注册

QQ登录

只需一步,快速开始

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

请问这个编译警告是怎么出现的,烦请告知谢谢! 求帮助

[复制链接]
跳转到指定楼层
楼主
ID:695512 发表于 2020-2-20 13:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include<reg52.h>
sbit D1=P1^0;
void Delay10ms();
void main()
{
        while(1)
        D1=0;
        Delay10ms();
        Delay10ms();
        D1=1;
        Delay10ms();

}
void Delay10ms()                //@11.0592MHz
{
        unsigned char i, j;

        i = 18;
        j = 235;
        do
        {
                while (--j);
        } while (--i);
}

"123" - 0 Error(s), 1 Warning(s).



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

使用道具 举报

沙发
ID:686839 发表于 2020-2-20 15:14 | 只看该作者
void Delay10ms();无参声明时要添加void

void Delay10ms(void);
回复

使用道具 举报

板凳
ID:235200 发表于 2020-2-20 15:16 | 只看该作者
while后的循环体要加一对大括号
while(1)
{
        D1=0;
        Delay10ms();
        Delay10ms();
        D1=1;
        Delay10ms();
}
回复

使用道具 举报

地板
ID:94031 发表于 2020-2-20 15:22 | 只看该作者
main()里的while(1)后缺 { }。
回复

使用道具 举报

5#
ID:164602 发表于 2020-2-20 15:31 | 只看该作者
产生警告的原因,是没有用到Delay10ms();函数。
你肯定要说用到了。
才怪!!!!!
你的程序,执行到while(1)后,由于没有{},所以只会执行D1=0;这一句,就死那里了。你的程序下载到单片机,一定只有灯亮,不会灭的。
所以,加上{}就没问题了。

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

6#
ID:524818 发表于 2020-2-20 19:53 | 只看该作者
就是while(1)后面缺了一对花括号
回复

使用道具 举报

7#
ID:695512 发表于 2020-2-21 11:32 | 只看该作者
没有声明,知道了 谢谢各位!!
回复

使用道具 举报

8#
ID:695512 发表于 2020-2-21 11:33 | 只看该作者
csmyldl 发表于 2020-2-20 15:16
while后的循环体要加一对大括号
while(1)
{

我后来也发现了 ,谢谢!!
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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