找回密码
 注册
关于网站域名变更的通知
查看: 3072|回复: 3
打印 上一主题 下一主题

Keil编译生成hex文件时总是报错warning C206: '': missing function-prototype

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-11-25 14:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
报错的一段程序在这,检查了好多次函数声明,没有发现问题。  r4 d3 _' ?% J* }% \# X

; Y* [! B$ c) a' Ovoid Key_Set_Clock( uchar * clock_time )9 U; G1 S8 b) e7 N6 L6 \/ o

+ Y3 ~" k, u) M{" V0 u1 t* N' C2 E$ B; z  M
   uchar *i; ( I' V* @4 e! ]: J; |' J, e: `: W
   i = clock_time ;
% h8 ?. f5 y. [8 I2 }! d   clock_time ++ ;   //????6 _5 X" w- o- k* D5 A2 Y+ P+ U
   Lcd_Set_Clock( 2, i );  //????????????? / V4 _1 y: s! J
   Key_Idle();
& d- c1 f# q. R; V' v   while(1)
9 N/ |' g* A; ]   {
0 S& Q6 Q( U& H) ~! |      uchar minute;. V9 E& S- T2 E) S) B' m, B/ Q* @2 C
      minute = ( ( * clock_time >>4 ) * 10 ) + ( ( * clock_time ) & 0x0f );                                //BCD ? HEX5 m' o& ]' y5 u2 D9 ^
      switch( Key_Scan() )   //??????  $ o+ ~7 y& |* g" L+ ^
      {            
5 y, w* o  M* k# R: g, L         case KEY_UP:   5 h3 p6 N3 a- r  q7 g& H
   { 1 w2 K, e% }) g9 }) V. D
     minute ++;   % o* M' S" ~! l5 T! O
     if(minute==60)' X) {" n" U  j& y0 w
        minute=0;8 T, \" \  `, K# r" i7 v* h
           (*clock_time)=minute/10<<4;
, {' {- Y; K4 j4 g+ r(*clock_time)=(*clock_time)|( minute%10); //HEX ? BCD
8 a# m( D$ h5 d! C" w   Lcd_Set_Clock( 2, i );  //????????????? 3 S- C* ]. `' G4 l6 {& a7 T9 e# r* r
       Key_Idle();. K4 m) c9 i9 Y# e1 `3 w% _
   break;
/ U9 P5 L  f+ [' ]% R# i         }                  ) P2 j" w  |5 j9 e
         case KEY_DOWN: $ X. |  k2 @2 Y0 g
   { ) _( ?; X' {" v. v
     if(minute==0)  + u/ q- z, G5 d, I
    minute=60;  9 x' v: H$ p9 \) U$ A# R
     minute --;
8 d( @6 T- K  t3 L           (*clock_time)=minute/10<<4;   o# K0 W. {2 c* C. h4 _
     (*clock_time)=(*clock_time)|(minute%10);  //HEX ? BCD  
. R1 C! Z0 B4 C2 Q& D  ^; V           Lcd_Set_Clock( 2, i );  //?????????????
$ z+ P% X4 ~( U; `% n9 m           Key_Idle();# x. y7 A" z; C; l% V2 r. J( X
     break;% M8 b/ V! R2 |( U7 W' i8 _
         }                    . Q; b0 l$ I" W& f
        case  KEY_FUNC:  //?????/ o+ O; v+ a$ r- _
         {
# a- U4 q  Z( D% Y   clock_time ++;   //????
( h* P  k$ m4 v' {  h/ r            Lcd_Set_Clock(3,i);   //????????????? 6 I" a2 g) g% ]
   Key_Idle();, u+ W* g- ?- w" e0 g- Z
            while(1)0 @1 u% m- x- H9 O
            {5 F  J/ L* B' u% `# c, e
      uchar hour;
3 X( k) z9 @/ R, D# T               hour=((*clock_time>>4)*10)+((*clock_time)&0x0f);                                //BCD ? HEX1 w* D" ^  c) f( q
               switch( Key_Scan())7 N3 \  }0 w8 Y7 [
               {4 e9 h0 W9 D- ^. @9 V5 _, U8 {- E  \
                  case  KEY_UP:  
3 w2 w5 v1 Q$ M1 Y, A& x+ h% s       {8 i8 L% A6 D, W
       hour ++;5 ?' k- q7 e+ S- x% G  ?7 G2 f+ B  V
       if(hour==24)
# @9 ^6 C" f/ \0 Q8 M+ D( K, \      hour = 0;
; }8 ?) F' U+ u; W      (*clock_time)=hour/10 <<4 ;
) e* V3 [7 ]5 F" \# D0 O  V$ M      (*clock_time)=(*clock_time)|(hour%10);   //HEX ? BCD
, c/ M7 n% _! P! x- M$ f                     Lcd_Set_Clock( 3, i );   //????????????? 6 \# t6 y+ ]0 K0 E1 J' A- k
      Key_Idle();) G! j7 v/ u" G# a3 p1 P; ^8 V
      break;" s+ q6 {# e$ K
       } 1 U. n/ f4 F' L. E
                  case  KEY_DOWN:  
  Y% R+ L# V- r+ g( l      {; W$ M% A5 h6 c+ v$ h
      if(hour == 0)
: y: J  V; M+ L0 V+ @# H! \      hour = 24;. J4 l/ X4 R0 L
      hour --; : z* G3 h. S, d  f- P% e6 y
      if( hour == 0) # J( l6 Q# o; Q
      hour =23;
! {+ t6 {! h7 r* ]      (*clock_time)=hour/10 <<4 ; # {' _- |+ Z0 h
      (*clock_time)=(*clock_time)|(hour%10); //HEX ? BCD
7 H# p+ ~9 `: i0 \0 E      Lcd_Set_Clock( 3, i );   //?????????????
! r: v% T8 f0 _! G      Key_Idle();9 c8 d3 q) W! {6 q3 X0 h
      break;! w: k. E1 d* F1 f. g
      }         9 Q' g) q' I8 h: ?( `8 ~3 v
                 case KEY_FUNC:    //??????9 r: o2 e! F# P% k* y$ l( v
       {
# k, Z+ U; _' ], p; n# m& O1 c                    clock_time ++;   //?????
7 u/ A- h/ F& E8 w  u                    Lcd_Set_Clock( 4, i );   //?????????????
( C$ a5 a4 F* i% m+ D+ a     Key_Idle();
5 W  K- y9 J" z/ ~7 h5 Y, h0 q9 B     while(1)3 Z$ n9 L% k# P( ^4 U2 M0 _
     {/ ^) W7 W, @- C
       uchar day;
* p  K- F, V7 z$ S       day = ( (*clock_time >>4)*10 ) + ( (*clock_time)&0x0f );                                //BCD ? HEX' a# m- y9 S' k: N/ N* E3 i! w
       switch(Key_Scan())5 B" l0 k" v% J$ F0 ]6 I$ ?& [, H
       {
2 d. P$ V0 H$ M       case KEY_UP:4 q- C* r  [6 v/ w
          { 6 o5 N4 {4 G4 b/ s/ X
       day ++;0 R) H- Z, z* l! X
       if(day==32)
0 R, V" j( {, b% c% Q         day=1; / P5 r/ d+ @3 k3 c8 S
       (*clock_time)=day/10 <<4 ;  : _6 ]+ E, W& c# T6 d
       (*clock_time)=(*clock_time)|(day%10);                         //HEX ? BCD ( x1 p# R4 E3 E
       Lcd_Set_Clock( 4, i );   //?????????????
) y6 h) J; ~0 P- b7 k& y2 o1 ?. v       Key_Idle();. R+ f1 v. {/ G
       break;
* {9 Y) K% Z0 a' L+ D6 f4 b       }          5 [- g* X, g. U' o0 y
                        case KEY_DOWN:
1 l6 ^9 `3 P0 O1 L- d       {   [: R7 N- v9 R+ i, D5 g
       if(day == 0)
( m9 [$ _4 `  w& ]; y- k         day= 31;6 ~/ {4 b5 m# R# h$ ^( a# A9 W
       day --; 6 c& V% Z  S' F$ W$ F
       if(day == 0) ) X+ T7 C+ E. j3 K
         day=31;
0 B8 q! W  k% B* Z' R* s4 s       (*clock_time) = day/10 <<4 ;     
) v! j8 ?( c' B2 ]8 S       (*clock_time) = (*clock_time) | (day%10);                         //HEX ? BCD ;  T) J5 S( G: e: q. a5 o6 Z% R
       Lcd_Set_Clock( 4, i );   //????????????? # p' {7 N5 s7 ^: ~# _
       Key_Idle();
7 z7 k) T/ l( P* W& Y9 ?6 U) f1 `       break;. Q7 W) [+ x- @( j
      }                  9 C$ S/ C! [. ?+ u  E' Q
                 case KEY_FUNC:    //??????5 Y7 X& I: u; j: ~$ @( V! F4 A
        {
! a" d" p$ k: s! m( x                         clock_time ++;   //?????+ ~8 j" a+ H4 W$ x
       Lcd_Set_Clock( 5, i );   //?????????????
7 j+ U! c  @2 X1 e4 U/ L  ]       Key_Idle();
5 B# `4 X9 O* _/ t       while(1)
& L0 v/ Y  m! ], j  g       {0 x+ M8 n4 p! t
         uchar month;
8 ?( E" d1 Y5 f  Y. p( @& P, R         month = ( ( * clock_time >>4)*10 ) + ( ( * clock_time ) & 0x0f );                                //BCD ? HEX$ Q$ I/ T1 u# l, C5 Y
                           switch(Key_Scan())
# L$ q% S5 H$ X" L4 `/ J         {. S1 _  T, \+ B* ^4 P# F5 Q
                              case KEY_UP:
/ @/ E3 i- {5 Q          {  " E% H3 U: o7 |. C1 Z1 I3 O9 N
          month ++;
; n0 _' E/ z2 O, _% F          if(month == 13)$ x; {+ @9 w4 m0 K6 x
         month= 1;3 W' B# f* i8 o- W9 g
          (*clock_time)=month/10<<4;
0 t  g6 _1 N( G, B! u/ t          (*clock_time)=(*clock_time)|(month%10);                         //HEX ? BCD
; n9 b+ h9 W7 F; l1 w' `2 ^$ |" @' q           Lcd_Set_Clock( 5, i );   //????????????? # ~6 `, g. k4 D4 i0 i  G
              Key_Idle();
% \6 S' q1 n/ Y! o           break;
% h" @8 ]: O, R" t# ~7 E         }            
4 P* j* ~9 X3 v                              case KEY_DOWN:
, `$ E  Z+ k, t6 ]          {  
1 o/ H. W& D2 i5 D2 [1 T% N- I7 V  H          if(month==0)) v2 J+ c' V. z3 w7 G! U- H4 X
          month = 12;
" h+ _3 k8 r! g' Q2 T- M# P! [0 _          month --; 0 E& t/ T6 S. s9 E7 O
          if(month==0)
+ R  I; C, v6 @( x+ q         month = 12;
- ]2 B6 l% t: [4 l  E          (*clock_time)=month/10 <<4; 4 Z9 B7 y( F+ K" J" D. X3 {# G
          (*clock_time)=(*clock_time)|(month%10);                         //HEX ? BCD
5 V, g/ N0 R3 V/ C! S9 A          Lcd_Set_Clock( 5, i );   //????????????? $ [) G- B7 h/ I
             Key_Idle();2 I' V% V, ^. b- B
          break;" _+ {. |  B9 o2 N
         }                                                 ' ?# h" y+ b3 M' w. H
        case KEY_FUNC:    //??????
2 Y$ E$ v4 [: M        {( `  R; z8 T' T6 D0 n& V/ |
        clock_time ++;   //?????+ I3 a7 ?3 y  H/ L/ A
        Lcd_Set_Clock( 6, i );   //????????????? / E+ A" u& q) S
           Key_Idle();. Y# b1 x$ W4 ~" I! r# w5 ?. E! ]
              while(1)7 ?. k: ]" i/ k8 p0 q4 X
           {
! h: e! ~" Q) }9 {1 w  |          uchar year;
: z2 }3 |: c4 e             year=((*clock_time>>4)*10)+((*clock_time)&0x0f);                                //BCD ? HEX
0 c% V0 H' X: y; z' _% a                                  switch( Key_Scan() )6 h3 ^' T2 g- w9 z5 H& c
          {
* B. H2 X( ~, a/ e! Z1 g             case KEY_UP: 8 a& S( e' a/ U( O
                {   
: w( o. T" S  ?* e( U9 P3 [$ X            year ++;
, L+ k& Z( @  A0 B2 L            if(year == 100)( z) I5 H: C1 O  C& h
            year= 0;
& ~( h" Q  K* N            (*clock_time)=year/10<<4;
  Q2 X' v0 Q+ y# h6 l) U                  (*clock_time)=(*clock_time)|(year%10); //HEX ? BCD ( a# o) a  ^9 D  O
                  Lcd_Set_Clock( 6, i );   //?????????????
6 d! u- u5 U- x! Y/ ?6 L  N+ l0 u! @                     Key_Idle();6 w( ?0 ^) w  u; p& P
               break;
/ d. C1 f7 `4 q& C8 k9 ~                   }
; I% d/ q) E% F( N7 ]2 \                                     case KEY_DOWN:% y5 \3 S2 F8 f. O" g% G5 _
             {  - b: \  P( m2 l' g( I% l2 h
            if(year==0) # h% z" s7 W. H' C
            year=100; 7 I. y& z, E) a  o$ e, _. W% J0 y
            year--; 8 c8 S9 \' L6 h* g
            if(year==0)
3 ~" [' F# ~7 O: O5 s  x9 R9 k            year=100;
- t( N- Y$ L! c9 z            (*clock_time)=year/10<<4;
3 e0 Y% \9 I/ z5 k$ B$ c7 S/ z* F               (*clock_time)=(*clock_time)|(year%10); //HEX ? BCD
0 `# }5 |- O  @& x* p" |% F; ^             Lcd_Set_Clock( 6, i );   //?????????????
. u: A6 N- A# {2 H                   Key_Idle();  ~3 G. `3 f: T& A' G
                break;
. `+ h+ n: b5 A& r7 Z             }
; T& y. c, K6 M; |' Q( u1 p                      case KEY_FUNC:
, |( k8 J1 j% {# i  P              {   ) I. f  h8 k' ^! u" t: l/ U
           goto loop;
9 T* ^0 j5 V9 ~) ]* N+ ^7 F4 \              break;
: ]# Z5 e2 s3 W8 `              }
: y* L$ K8 L, t2 a              }                       
5 w! B: @. k, X4 W               }
8 \7 P. O+ O8 m+ Y               }
# _9 A& U  J$ G- L                      }
- r% {" r, x0 [: i( N3 y6 n" b                       }
, R: z. Z* p( G                     }             7 ]& Z. |7 m7 A. E# A- K
                     }: h+ h$ @% l" j0 c# @' s* A" }. e
                   }+ Y8 @) R# `6 W0 a, i4 ~
                 }; i4 |! `+ q8 q# _% F  Z
               }
/ g/ i  b# |5 C/ h9 r3 B            }         
/ z" C- C  j& y: G6 y          }
1 [) j& J- r1 W' q/ Y      }+ J: \; t* f' K  {, q* Y
   }
" u8 t1 ^8 f$ @   loop:  Key_Idle(); # N# E! _! G2 b) ~
}9 M0 N/ G5 L; T2 C6 b8 P
这是头文件,不知道哪里有问题,头文件无法包含在.c文件中。.c文件显示的错误如下:" R, P* L+ Q+ w! p0 r% ~
..\CODE\KEY.C(97): warning C206: 'Lcd_Set_Clock': missing function-prototype
: E; D# n  v9 W..\CODE\KEY.C(97): error C267: 'Lcd_Set_Clock': requires ANSI-style prototype
( ]( p# ?0 h/ u8 K; T6 Y9 j5 H, r- B9 w
#ifndef KEY_H
- [( h$ r/ i2 s2 t#define KEY_H% _: F# U  G& w1 G0 J
  #include "Include.h"1 Q! K& v! H0 h5 [" b

! D4 D7 n3 s2 e( {9 H9 P  #ifndef KEY_GLOBAL
& {% }, M9 p: V9 n3 D. v, k    #define KEY_EXT extern8 K8 y# r, w$ y* k
  #else
, i  R2 f& f9 `    #define KEY_EXT- y! Z% H4 [: @, ^
  #endif
& B; I) w' ~! z  j# y  #define READ_KEY(x,name,b)       ((x)?(b|=name)b&=~name) )6 R. X/ ?! ^6 G
//---------------------?????????-------------------------------------
3 F! f4 u3 m! P' o# M# K" B7 I  Q* D  #define  IN_PRESS_UP       P0_0    //???????????????
: v, c. V; H, P# }3 O9 c  #define  IN_PRESS_DOWN  P0_1 //??????????????, g$ `  K6 B( N3 V! |+ z
  #define  IN_PRESS_CLEAR     P0_2 //??????????
9 M$ q7 Y" U# `3 d, K3 J% V+ v  #define  IN_PRESS_FUNC  P0_3 //???????????' g/ V! Q. `" W2 U, k2 \
//----------------------??????-----------------------------------------# L* B9 @0 U+ h5 v. N9 H* P# I
  #define  KEY_FORCE_VALUE  0  //??????Ч???+ [- m0 F& B/ h0 J: _
  enum KEY_VALUE{KEY_UP=0x01,KEY_DOWN=0x02,KEY_CLEAR=0x04,KEY_FUNC=0x08,KEY_NULL=0x00};0 D7 v. O' D* N
  KEY_EXT void key_delay_us(uint us);
) e/ K9 d; a6 `4 {1 X& k2 l  KEY_EXT void key_init(void);
% `4 ~* }: h% Q; ~6 x' p& z' N  KEY_EXT void Key_Idle(void);2 ?" d8 K( c5 K8 v" v& a: t: T* Q0 Q
  KEY_EXT uchar Key_Scan(void);. \! o; K) T5 o6 }# p9 U5 K
  KEY_EXT void Key_Set_Clock( uchar * clock_time );
# v" Z1 s4 h" ~2 ^+ C7 y3 K( m2 ^  KEY_EXT void Key_Set_AlARM(uchar * alarm_time);7 F0 g! T: X9 |- D- d6 G9 [! ?
  KEY_EXT void Key_Function(uchar * clock_time,uchar* alarm_time);
9 p& G: ?1 A0 ~) c( w( M1 t3 D#endif
0 N, T# \$ U& `4 _1 d2 ]" ^! N4 {- S5 B$ Y

该用户从未签到

2#
发表于 2019-11-25 16:40 | 只看该作者

+ b; i) Y' D' T注意大小写,
  • TA的每日心情
    开心
    2023-5-15 15:14
  • 签到天数: 1 天

    [LV.1]初来乍到

    3#
    发表于 2019-11-25 17:05 | 只看该作者
    缺少LCD驱动程序或没有声明

    该用户从未签到

    4#
    发表于 2019-11-26 08:38 | 只看该作者

    7 T' D, q2 l: t报错的子程序需要声明,可以在头文件中声明,也可以在主函数前声明
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-8-16 14:43 , Processed in 0.125000 second(s), 23 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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