找回密码
 立即注册

QQ登录

只需一步,快速开始

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

这个错误main.c(24): error C267: 'Nixie_Scan': requires ANSI-style prototype

[复制链接]
跳转到指定楼层
楼主
ID:1166769 发表于 2026-5-16 13:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include <REGX52.H>
#include "Delay2.h"
#include "key.h"
#include "Nixie.h"
#include "Timer0.h"

sbit LED=P2^0;
unsigned char Counter,Compare;
unsigned char KeyNum;
unsigned char Speed;

void main(){

                Timer0_Init();
                Compare=50;
        while(1){
                Key_Loop();
                KeyNum=key();
                if(KeyNum==1){
                        Speed++;
                        Speed%=4;
                }
                Nixie_Loop();
                Nixie_Scan(1,Speed);
        }
}

void Timer0_Routine()   interrupt 1{
                TL0=0x9C;                //设定定时始值
                TH0=0xFF;                //设定定时初值
                Counter++;
                Counter%=100;
        if(Counter<Compare)LED=0;
        else LED=1;
}

下面是函数
#include <REGX52.H>
#include "Delay.h"
unsigned char Nixie_Buf[9]={0,10,10,10,10,10,10,10,10};
unsigned char Nixietable[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x00};

void Nixie_Scan (unsigned char location,unsigned char num){
                switch(location){
                        case 1:P2_4=1,P2_3=1,P2_2=1;break;
                        case 2:P2_4=1,P2_3=1,P2_2=0;break;//led7
                        case 3:P2_4=1,P2_3=0,P2_2=1;break;//led6
                        case 4:P2_4=1,P2_3=0,P2_2=0;break;//led5
                        case 5:P2_4=0,P2_3=1,P2_2=1;break;//led4
                        case 6:P2_4=0,P2_3=1,P2_2=0;break;//led3
                        case 7:P2_4=0,P2_3=0,P2_2=1;break;//led2
                        case 8:P2_4=0,P2_3=0,P2_2=0;break;
       
                }
        P0=Nixietable[num];
        Delay(1);
        P0=0x00;
        }       

void Nixie_Loop(){
                static unsigned char i=0;
                Nixie_Scan(i,Nixie_Buf[i]);
                i++;
                if(i>8)i=0;
        }


       
       
void Nixie_SetBuf(unsigned char location,number){
        Nixie_Buf[location]=number;
}
       

       
       

下面是.h文件
#ifndef __NIXIE_H__
#define __NIXIE_H__

void Nixie_Scan (unsigned char location,num);
void Nixie_Loop();
void Nixie_SetBuf(unsigned char location,number);

#endif



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

使用道具 举报

沙发
ID:1166769 发表于 2026-5-16 13:43 | 只看该作者
声明也声明了,定义也定义了,调用为什么就不行了
回复

使用道具 举报

板凳
ID:1166769 发表于 2026-5-16 14:39 | 只看该作者
为什么把这个Nixie的.c和.h文件放在同一个文件夹就好了
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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