找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4796|回复: 18
收起左侧

error C267: 'delayms': requires ANSI-style prototype为什么调试不出来HEX文件啊?

[复制链接]
ID:846683 发表于 2020-11-20 21:37 | 显示全部楼层 |阅读模式
为什么调试不出来HEX文件啊?
错误:error C267: 'delayms': requires ANSI-style prototype
1.jpg
2.jpg
回复

使用道具 举报

ID:342822 发表于 2020-11-20 22:46 | 显示全部楼层
缺少地雷函数源代码
回复

使用道具 举报

ID:518902 发表于 2020-11-20 22:47 | 显示全部楼层
有中文吧?
回复

使用道具 举报

ID:105364 发表于 2020-11-20 22:53 | 显示全部楼层
没有延时函数
回复

使用道具 举报

ID:846683 发表于 2020-11-21 08:39 | 显示全部楼层

加了延迟函数 void delay(),也是有有错误哦
回复

使用道具 举报

ID:846683 发表于 2020-11-21 08:39 | 显示全部楼层
taotie 发表于 2020-11-20 22:46
缺少地雷函数源代码

什么是地雷函数源代码呀?
回复

使用道具 举报

ID:846683 发表于 2020-11-21 08:40 | 显示全部楼层
回复

使用道具 举报

ID:155507 发表于 2020-11-21 08:44 | 显示全部楼层
你要有这个延时函数代码

void delayms(unsigned int ms)                                
{
        unsigned int a, b;                  
        for(a=ms; a>0;a--)         
        for(b=125;b>0;b--);   
}

放在主函数前面

回复

使用道具 举报

ID:571541 发表于 2020-11-21 11:02 | 显示全部楼层
主函数里引用了delayms()这个函数,但你没有定义这个函数,要增加一个delayms()这个函数
回复

使用道具 举报

ID:342822 发表于 2020-11-21 13:11 | 显示全部楼层
LLLSBB1 发表于 2020-11-21 08:39
什么是地雷函数源代码呀?

见8楼
回复

使用道具 举报

ID:846683 发表于 2020-11-21 13:40 | 显示全部楼层
angmall 发表于 2020-11-21 08:44
你要有这个延时函数代码

void delayms(unsigned int ms)                                

还是有问题
3.jpg
4.jpg
回复

使用道具 举报

ID:846683 发表于 2020-11-21 13:42 | 显示全部楼层
最咸一条鱼 发表于 2020-11-21 11:02
主函数里引用了delayms()这个函数,但你没有定义这个函数,要增加一个delayms()这个函数

好的,但是定义了之后好像也出现,目标未建立的错误出现
回复

使用道具 举报

ID:342822 发表于 2020-11-21 14:28 | 显示全部楼层
编译器中没有勾选HEX文件生成这个选项?
回复

使用道具 举报

ID:846683 发表于 2020-11-21 14:39 | 显示全部楼层
taotie 发表于 2020-11-21 14:28
编译器中没有勾选HEX文件生成这个选项?

有勾选哦
回复

使用道具 举报

ID:846983 发表于 2020-11-21 18:46 | 显示全部楼层
void main()
你写的是viod main, 写错字母了
回复

使用道具 举报

ID:846983 发表于 2020-11-21 18:47 | 显示全部楼层

应该是void main,  你写成了 viod main,  void写成了viod
回复

使用道具 举报

ID:213173 发表于 2020-11-21 18:57 | 显示全部楼层
LLLSBB1 发表于 2020-11-21 08:39
什么是地雷函数源代码呀?

#include<reg51.h>

void delayms(unsigned int k)//这就是地雷函数源代码^_^ ^_^ ^_^
{
        unsigned int i,j;
        for(i=k;i>0;i--)
                for(j=120;j>0;j--);
}

void main()
{   
        P0=0xfe;
    while(1)
    {
                delayms(1000);
                P0=(P0<<1)|(P0>>7);
    }      
}
回复

使用道具 举报

ID:846683 发表于 2020-11-21 20:30 | 显示全部楼层
星野科技 发表于 2020-11-21 18:46
void main()
你写的是viod main, 写错字母了

太关键了,没注意到,谢谢了
回复

使用道具 举报

ID:846683 发表于 2020-11-21 20:31 | 显示全部楼层
星野科技 发表于 2020-11-21 18:47
应该是void main,  你写成了 viod main,  void写成了viod

我明白了
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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