找回密码
 立即注册

QQ登录

只需一步,快速开始

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

missing fuction-prototype请问这个错怎么改啊

[复制链接]
跳转到指定楼层
楼主
ID:1078927 发表于 2023-5-21 17:57 来自手机 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char

sbit beep=P2^7;//蜂鸣器
sbit k1=P3^2;
sbit k2=P3^3;
sbit k3=P3^4;
sbit k4=P3^5;
//-----------------------------------显示数组
uchar ye=0;//第一页
uchar hang1[]="2000.00.00  0   ";//日期+星期
uchar hang2[]="00:00:00 T:000 C";//时间+温度
uchar hang3[]="lock 00:00      ";//第二页          闹钟
uchar hang4[]="L:000 C  H:000 C";//温度阀值
uchar lcd_xian=0;//显示延时变量
//-----------------------------------
//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>光标位置
uchar cursor=0;//光标位置
uchar code cursor_num[]={1,3,1,6,1,9,1,12,2,1,2,4,2,7,1,6,1,9,2,4,2,13};//光标位置数组.行+列
//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
//###################################测量值变量
uchar wendu=0,wen_L=10,wen_H=30;//温度+阀值
uchar shi=6,fen=0;//闹钟
//###################################
//**************************************主函数
void main()
{
uchar two;
//11111111111111111111111111111111基本模块初始化
        hang2[14]=0xdf;
        hang4[5]=0xdf;
        hang4[14]=0xdf;
        init_1602();
        Ds1302ReadTime();//启动DS1302
        TIME[0]=0;
        Ds1302Init();
//11111111111111111111111111111111
//22222222222222222222222222222222显示初始化
        wen_L=At24c02Read(0); //读取温度阀值
        if(wen_L>200)
        {
                wen_L=10;
                At24c02Write(0,wen_L);
                Delay1ms(10);
        }
        wen_H=At24c02Read(1);
        if(wen_H>200)
        {
                wen_H=10;
                At24c02Write(1,wen_H);
                Delay1ms(30);
        }
        shi=At24c02Read(2);
        if(shi>200)
        {
                shi=6;
                At24c02Write(2,shi);
                Delay1ms(10);
        }
        fen=At24c02Read(3);
        if(fen>200)
        {
                fen=0;
                At24c02Write(3,fen);
                Delay1ms(10);
        }
//22222222222222222222222222222222
//===============定时器初始化
        TMOD|=0X01;
        TH0=0X3C;
        TL0=0XB0;       
        ET0=1;//打开定时器0中断允许
        EA=1;//打开总中断
        TR0=1;//打开定时器while(1)
        {
                //;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;判断报警
                if((wendu>wen_H)||(wendu<wen_L)||((TIME[2]==shi)&&(TIME[1]==fen)))//蜂鸣器判断
                        beep=0;
                else
                        beep=1;
                //;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                //'''''''''''''''''''''''''''''''''''''''''''按键检测
                if(!k1)        //换页
                {
                        ye=!ye;
                        if(ye)
                                cursor=7;//设置光标
                        else
                                cursor=0;
                        while(!k1);
                }
                if(!k2)           //下一个
                {
                        if(ye)
                        {
                                if(cursor<10)
                                        cursor++;
                                else
                                        cursor=7;
                        }
                        else
                        {
                                if(cursor<6)
                                        cursor++;
                                else
                                        cursor=0;
                        }
                        while(!k2);
                }
                       
                        if(!k3)//加
                        {
                                switch(cursor)
                                {
                                        case 0://设置年
                                                two=(TIME[6]>>4)*10+(TIME[6] &0x0f);
                                                if(two<99)
                                                        two++;
                                                TIME[6]=(two/10<<4)+two%10;
                                                Ds1302Init();
                                            break;
                                        case 1://设置月
                                                two=(TIME[4]>>4)*10+(TIME[4] &0x0f);
                                                if(two<12)
                                                        two++;
                                                TIME[4]=(two/10<<4)+two%10;
                                                Ds1302Init();
                                                break;
                                        case 2://设置日
                                                two=(TIME[3]>>4)*10+(TIME[3] &0x0f);
                                                if(two<30)
                                                        two++;
                                                TIME[3]=(two/10<<4)+two%10;
                                                Ds1302Init();
                                                break;
                                        case 3://设置星期
                                                if(TIME[5]<8)
                                                        TIME[5]++;
                                                Ds1302Init();
                                            break;
                                        case 4://设置时
                                                two=(TIME[2]>>4)*10+(TIME[2] &0x0f);
                                                if(two<23)
                                                        two++;
                                                TIME[2]=(two/10<<4)+two%10;
                                                Ds1302Init();
                                            break;
                                        case 5://设置分
                                                two=(TIME[1]>>4)*10+(TIME[1] &0x0f);
                                                if(two<59)
                                                        two++;
                                                TIME[1]=(two/10<<4)+two%10;
                                                Ds1302Init();
                                                break;
                                        case 6://设置秒
                                                two=(TIME[0]>>4)*10+(TIME[0] &0x0f);
                                                if(two<59)
                                                        two++;
                                                TIME[0]=(two/10<<4)+two%10;
                                                Ds1302Init();
                                                break;
                                        case 7://设置时        闹钟
                                                two=(shi>>4)*10+(shi &0x0f);
                                                if(two<23)
                                                        two++;
                                                shi=(two/10<<4)+two%10;
                                                At24c02Write(2,shi);
                                                Delay1ms(10);
                                            break;
                                        case 8://设置分
                                                two=(fen>>4)*10+(fen &0x0f);
                                                if(two<59)
                                                        two++;

错误是:
compiling shizhong1.c...
shizhong1.c(34): warning C206: 'init_1602': missing function-prototype
shizhong1.c(35): warning C206: 'Ds1302ReadTime': missing function-prototype
shizhong1.c(36): error C202: 'TIME': undefined identifier
shizhong1.c - 1 Error(s), 2 Warning(s).
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:94031 发表于 2023-5-21 18:15 | 只看该作者
warning C206: 'init_1602': missing function-prototype:            缺 init_1602 函数原型
warning C206: 'Ds1302ReadTime': missing function-prototype:缺Ds1302ReadTime 函数原型
error C202: 'TIME': undefined identifier:                                TIME变量没有声明
回复

使用道具 举报

板凳
ID:883242 发表于 2023-5-21 18:43 | 只看该作者
missing fuction-prototype就把fuction-prototype写出来就行了。
回复

使用道具 举报

地板
ID:908826 发表于 2023-5-22 09:08 | 只看该作者
没有见到函数原型的意思,兄弟可以找本C语言书看看里面有关函数原型的知识
回复

使用道具 举报

5#
ID:526543 发表于 2023-5-22 13:30 | 只看该作者
这个错误提示说明在你的代码中存在一些问题,导致编译失败。根据错误信息,我可以提供一些可能的解决方案:

函数原型缺失警告:你的代码中出现了两个警告,指示缺少函数原型。这通常是因为在调用函数之前没有提前声明函数的原型。为了解决这个问题,你可以在代码的开头添加函数原型声明,示例代码如下:void init_1602(void);
void Ds1302ReadTime(void);
将以上代码添加到你的代码开头,即可解决函数原型缺失的警告。

'TIME'未定义标识符错误:你的代码中出现了'TIME'未定义的错误。根据代码分析,可能是由于未包含相关的头文件导致的。你可以尝试在代码开头添加#include语句,包含与'TIME'相关的头文件。例如,如果'TIME'是一个自定义的结构体或全局变量,你需要确保包含定义它的头文件。
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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