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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
报错的一段程序在这,检查了好多次函数声明,没有发现问题。
7 Q% }& e* s3 x3 {/ }# `4 m
) [4 M( E4 R5 n3 m/ b" Kvoid Key_Set_Clock( uchar * clock_time )4 O$ Q( ^, N! a* E

+ a7 w+ R' V- u{+ @9 ]9 z2 z$ z/ d3 ~- m8 _
   uchar *i; ; x, p2 n" s2 C# p
   i = clock_time ;' ?0 N, I$ r  z6 o" |& o- i1 }
   clock_time ++ ;   //????5 g$ S2 }3 C4 \3 C2 E* A: [
   Lcd_Set_Clock( 2, i );  //????????????? $ r0 d  V, i8 \
   Key_Idle();7 x' Q% o7 N; \4 F, Z  `
   while(1)
) B/ N% ?9 {; ]' ?& |' ]4 Q   {
+ k5 |! R, H/ p  X      uchar minute;, p. q& w$ c! `& B$ O# l9 G
      minute = ( ( * clock_time >>4 ) * 10 ) + ( ( * clock_time ) & 0x0f );                                //BCD ? HEX. a% {' o3 _. i# e% Y
      switch( Key_Scan() )   //??????  ' s3 p& u- [5 D; p* z) Y( F
      {            ; b. R7 C0 n) Y
         case KEY_UP:   ( A" L1 u# x" A+ Y" H
   {
. \" s% [& S' H  ~. h     minute ++;   
# E6 m* q4 n) W  M% N) A     if(minute==60)
' H+ H4 g) X& u# q        minute=0;
6 \+ t8 q& ~+ P: n; A+ i6 m           (*clock_time)=minute/10<<4;
$ t1 X3 y$ j  x# ~" H' A" ~(*clock_time)=(*clock_time)|( minute%10); //HEX ? BCD
* M4 M0 V" j0 q4 S4 ^* x6 l   Lcd_Set_Clock( 2, i );  //????????????? 3 _  [9 W3 U5 L" `! y; v. d
       Key_Idle();
0 h4 m7 h: O3 h( H   break;4 K+ w9 Z+ M. j$ B9 l% K
         }                  ( @! q6 E3 I3 x
         case KEY_DOWN:
/ z4 g/ f0 o3 T5 @7 o& N2 U   {
& S/ Q; d3 U& n0 D1 Q     if(minute==0)  ' h" a# B: r# d- K
    minute=60;  
4 R7 Q% R* @% v  E. T3 |     minute --; ) ~* r/ e- R4 y% t
           (*clock_time)=minute/10<<4; $ Z" _9 Q1 ]+ V" ?  Z: Y
     (*clock_time)=(*clock_time)|(minute%10);  //HEX ? BCD    S! u  X+ S' K5 I  D; [5 t
           Lcd_Set_Clock( 2, i );  //?????????????
. G" Y0 K. Z7 i+ s  b2 p           Key_Idle();
% ~2 i% `& }$ P8 W1 d     break;: i5 N/ c; h0 y. b- y2 W
         }                    1 K4 a+ ]9 y. {9 h2 C; e
        case  KEY_FUNC:  //?????
. Q! z  e! U" L         {
5 s9 I+ i: ?& H+ x   clock_time ++;   //????
1 Y, f5 v& D* R2 A$ K            Lcd_Set_Clock(3,i);   //?????????????
) C# `2 l( F4 E- r3 D4 f   Key_Idle();
( |! p$ V, O7 K2 m8 P0 x            while(1)
0 y1 ^) J+ S1 U( W8 L            {4 b! D3 F/ X6 y: x; i6 b
      uchar hour;: k- ?) t. `$ w3 a; s  ^1 b0 S
               hour=((*clock_time>>4)*10)+((*clock_time)&0x0f);                                //BCD ? HEX, x. h. ?. v" f  J4 @, m+ I* l
               switch( Key_Scan())" `% A2 V- [1 s  _; e9 V
               {; y/ W; Z; O: e
                  case  KEY_UP:  2 j. k, q0 Q3 ^: |/ R- ^  i- t9 E
       {
9 J# N/ [" ?" \8 B& a       hour ++;! j! R# a% |+ Z+ l% [- }6 I' X9 R
       if(hour==24) , q$ R- x; S1 e& {" U
      hour = 0; , T5 i) A) `1 \3 ~* x0 T$ m. G
      (*clock_time)=hour/10 <<4 ;
0 `8 M5 Y" _* D% ^0 V/ i      (*clock_time)=(*clock_time)|(hour%10);   //HEX ? BCD
/ {. {7 `* ?3 E& D. d+ o                     Lcd_Set_Clock( 3, i );   //????????????? 1 l$ u( G; d& w" E: ?& G$ O. d3 o
      Key_Idle();! m2 a% f. H4 j3 V/ ~7 _9 r
      break;
+ g* x/ _& r5 |: N/ k; c) ?       }
  \' [- V$ t6 }. x: t+ j! z; m, c7 y                  case  KEY_DOWN:  
! N5 _% \. i; q! t* t9 o      {( L- u1 e0 q8 h- b7 j. S! q# A$ L
      if(hour == 0) / v( S) r, K. N; p6 ^; g
      hour = 24;
9 i5 U0 r4 @  ?! `! a      hour --;
3 t! d) a% Q2 D$ u2 q& n7 R      if( hour == 0) 3 C3 X- q: U! s' h
      hour =23;
) u/ X/ w% k) a& U      (*clock_time)=hour/10 <<4 ; 1 W5 z$ r7 C# e  l
      (*clock_time)=(*clock_time)|(hour%10); //HEX ? BCD 0 w( }; I5 o  s! W& b$ p4 ^+ k/ ~
      Lcd_Set_Clock( 3, i );   //????????????? 9 b* \/ g! |" x$ @+ k
      Key_Idle();2 Z0 I9 o$ i. Y- a9 ^# N
      break;
# \! f4 Y& k0 R& n/ O6 q% P      }         % m; t0 G2 y( h$ G
                 case KEY_FUNC:    //??????
0 o, V6 S5 n: s       {$ b0 T! n: F7 q  E
                    clock_time ++;   //?????; ^% K/ ?9 J+ p' w+ A% c9 e( V8 ^, B
                    Lcd_Set_Clock( 4, i );   //?????????????
$ {$ L5 `' f! o* S- V     Key_Idle();
) [7 f8 y. @" Q* u/ J# [3 M     while(1)
0 W/ F) V) q% h1 s7 t     {
, y  T2 }% f, Q8 u6 ~% H       uchar day;' f+ f4 P% Q, q- _9 F% P
       day = ( (*clock_time >>4)*10 ) + ( (*clock_time)&0x0f );                                //BCD ? HEX
% |, U0 {  n% Y" R& r       switch(Key_Scan())
8 T8 ]* ~' ^: m+ d- B       {$ t; P3 T; p/ b
       case KEY_UP:5 `7 O- W& ?/ V% i8 R9 d
          {
( x: z5 B, Y: ?5 m7 Z' F% N. V       day ++;
8 L  |: W/ c0 {2 z! G2 _       if(day==32)
& U/ L/ c3 a$ q! I' M' M- r/ O         day=1; , l4 A- N; e5 Q. D$ z* H; ]6 M
       (*clock_time)=day/10 <<4 ;  
8 i; A/ B& D( o, n* f% @% e; `       (*clock_time)=(*clock_time)|(day%10);                         //HEX ? BCD 2 Y. m/ d: w, K* o8 V2 W* w+ W
       Lcd_Set_Clock( 4, i );   //????????????? / }" ^( T+ w" q1 ~+ c1 u! s0 l
       Key_Idle();
: Q! @/ _3 p$ [, U: W# l       break;2 J7 _+ j2 b5 l" x( E8 h
       }         
2 w1 ^7 e& Z' w; l% c                        case KEY_DOWN: 1 U! v5 A3 }- B! ?  Z9 m4 B
       { : \4 S  `7 {9 e, C  u* d+ F
       if(day == 0)
! L9 _& ?* W8 M# e         day= 31;
* {8 m) \, w8 F( D3 d3 [       day --;
4 E) {# f" i+ k8 n% v% }       if(day == 0)
1 p1 H, O" O2 z7 j- l+ b         day=31; # n: F7 L& A' x; s% p8 H
       (*clock_time) = day/10 <<4 ;     
0 }+ H& ~. I% |6 i0 |       (*clock_time) = (*clock_time) | (day%10);                         //HEX ? BCD ;' ~* F* l2 d. V
       Lcd_Set_Clock( 4, i );   //?????????????
7 X5 e- [9 v" C6 f( l! N' Z" S' p       Key_Idle();
! ~4 _; x; v! S9 l1 R* H       break;0 f3 e6 e- L9 Z8 D( t. O
      }                  
4 ?" j8 j. j4 a6 E# r) e, P6 v                 case KEY_FUNC:    //??????
- r' A: b% M; L. b( i% a8 b        {2 b$ g* A7 z( h4 t2 O! ]$ C
                         clock_time ++;   //?????  S) S" B$ K) \9 a  l
       Lcd_Set_Clock( 5, i );   //????????????? . @: l7 _: ~$ R9 v7 q
       Key_Idle();* v: ]9 q. q' d% U8 Y
       while(1)3 t- A  {) @4 `5 D5 z
       {
* p. |+ w5 L' X( H- t* l/ q         uchar month;
0 m; }0 W! i& j# ^+ I/ {         month = ( ( * clock_time >>4)*10 ) + ( ( * clock_time ) & 0x0f );                                //BCD ? HEX
9 F% S' M4 R: y3 I" T                           switch(Key_Scan())! x5 z& p" j' ]$ [
         {
% E* k; @7 t8 Z; T2 R                              case KEY_UP: ! s: I0 _. s0 g7 ^& K; q
          {  4 x+ v# V/ M4 Z9 E; d
          month ++; + F+ p1 t/ m: I/ d+ @
          if(month == 13)1 Y4 d& Y: n- e- m" H
         month= 1;- M1 M3 S' T5 j' n1 j
          (*clock_time)=month/10<<4;
8 u# Z) N8 A5 Q2 z, e9 l          (*clock_time)=(*clock_time)|(month%10);                         //HEX ? BCD   x/ }) X) `# @) O5 J
           Lcd_Set_Clock( 5, i );   //????????????? ' h. s& ]+ m! H# p. x
              Key_Idle();7 u" C' O& p- m9 c
           break;7 k+ a; M+ A% q4 ^9 L% A
         }             # g6 z" B  n" v5 ], P" M1 g$ |/ f
                              case KEY_DOWN:. q1 P5 M* ?5 o9 l4 e/ `
          {  
- b7 W% ?) w$ R- n          if(month==0)
8 w- c- f" @- d* T! s. X          month = 12; % A. _* m( W  Y$ D; c
          month --;
6 J' O% L* y* T8 P) J- {          if(month==0) 0 \* w2 o) ^6 A5 S2 f* ]1 v
         month = 12; 4 w: M4 D4 O5 W8 x& i
          (*clock_time)=month/10 <<4; + H! D! V' u( H0 T7 y
          (*clock_time)=(*clock_time)|(month%10);                         //HEX ? BCD 9 J! ^8 `, u) m/ f; L. T& u
          Lcd_Set_Clock( 5, i );   //????????????? 7 N' |" n# W8 k2 j. p
             Key_Idle();, c# y, }' S' N  j1 S
          break;1 X2 ~/ W( R5 i* i) T
         }                                                
( w/ [6 y" q2 q        case KEY_FUNC:    //??????! e6 q7 w- u1 C  ?# @. k7 n
        {6 R" @1 |+ T. ~/ D  w) N
        clock_time ++;   //?????
  `# }" J& L4 _4 Z7 \        Lcd_Set_Clock( 6, i );   //?????????????
2 P4 t4 `% }" o$ X4 _% o9 M% {; J, G           Key_Idle();: T! r3 e. S9 O' X+ {
              while(1)
& m/ l' s: y1 W) v# @9 I5 `$ I! v           {
4 G  @! d/ M. R! U; G7 W" _6 R1 _6 G          uchar year;
9 I' A4 {* I* @4 J; \1 b             year=((*clock_time>>4)*10)+((*clock_time)&0x0f);                                //BCD ? HEX
; ~- g: ~  X" L0 Q- V                                  switch( Key_Scan() )
' D2 y4 N4 a& B' `          {
* I) j2 K4 l! e             case KEY_UP:
' F( B! H# a) o; a' J8 z6 E. z                {   * \1 b; C4 {) l) l
            year ++;
1 j6 f3 U/ y6 |0 c/ B' n6 e9 a            if(year == 100)
$ X4 m3 r5 _! {            year= 0;
+ ?2 b& |' {& S: A: u) i            (*clock_time)=year/10<<4;
& P# ]3 P+ {% f& I' a                  (*clock_time)=(*clock_time)|(year%10); //HEX ? BCD
, s4 i7 O  g$ t                  Lcd_Set_Clock( 6, i );   //?????????????
8 [# X( t* B& R8 W) P                     Key_Idle();4 Q/ l- m) L* I: @/ D; @
               break;
8 v$ L4 H( p# z5 g& c6 ?                   }
, r/ N9 `/ n9 c$ A# ?5 u& V6 K2 J                                     case KEY_DOWN:' Q+ L6 ^5 Y; P& _+ W$ e6 w
             {  
) X. o' q% z+ G8 N& t: |            if(year==0) : h: d8 Z3 l5 e% L9 D
            year=100;
4 g  G; C/ G8 S            year--; 1 D: T: x9 p4 q- c
            if(year==0)
4 _+ I$ K5 D5 {2 f            year=100;
6 A& A& U( a* I9 x  A+ J            (*clock_time)=year/10<<4;
" O* w; ^: g: L! \0 S1 s               (*clock_time)=(*clock_time)|(year%10); //HEX ? BCD
9 |* O( v0 M4 z* J5 T# w1 w0 V             Lcd_Set_Clock( 6, i );   //????????????? 1 e% o  s& ~# Y+ v% v3 S5 n# F
                   Key_Idle();
8 H% _0 t* Y8 J$ v* X                break;" d5 n! j& A2 x" k: c: E
             }5 z3 B/ P4 o1 x1 ]
                      case KEY_FUNC: : J; z" S6 M5 y2 \3 i  }
              {   
* X8 q4 u/ U% x" C9 H( u: S           goto loop; 3 ?  R. T5 p7 X- }
              break;) L  l- h2 f% M, p; ~$ ?! F" p
              } ! S& s, `  M: E" Q
              }                       ; D- k; V4 C! f. @" l/ E
               }
9 L9 t- U2 j* s2 x$ W               }4 b5 N. h% r- s$ u+ s
                      }
/ r, Q" w2 O+ ?, [                       }( L% }# X! ]- \4 ?9 Q, s: i
                     }            
. j4 P- ^" o# W% U& t) W                     }. Y. l; D1 B/ ^' |4 B) i0 ~
                   }
8 y' m" h5 d* ^! F# U; T4 z                 }  _3 b( I0 Q  V* `! o
               }
+ Z9 d/ h1 e0 M6 Z9 S! H            }         2 G) d) p( H  c$ ]0 L. ~
          }
/ H7 D' E# q2 B! k% s4 b      }
$ V: J0 A# `, Y6 y   }* o, r8 W( _! ?- [: P3 B
   loop:  Key_Idle();
7 v6 V7 }8 [' ]8 z% Q}
( T5 m6 J. }0 @& G! ?: z7 D* ]5 T这是头文件,不知道哪里有问题,头文件无法包含在.c文件中。.c文件显示的错误如下:
0 b5 V3 B* q  O1 G3 n- h9 c..\CODE\KEY.C(97): warning C206: 'Lcd_Set_Clock': missing function-prototype+ t# f% J/ \8 _. S
..\CODE\KEY.C(97): error C267: 'Lcd_Set_Clock': requires ANSI-style prototype- D, d1 b  V2 P, @; x8 \4 `

( e9 K; `9 h0 S5 F#ifndef KEY_H- w( @4 o$ w* Z
#define KEY_H
, L1 F7 U9 ]4 V" E% U# p0 o  #include "Include.h"
) P( W0 U% y& Z
" c  E. R. K3 M8 {- M/ {  #ifndef KEY_GLOBAL6 z% z# ^# `3 o. D
    #define KEY_EXT extern7 a6 |' C( e, Y9 j" p/ p. `4 ]
  #else: v7 j. Q- a$ l* }6 b
    #define KEY_EXT5 e+ L) H( q4 k+ C3 `3 |  Y- N
  #endif
5 M; C8 U. Q' B  S  #define READ_KEY(x,name,b)       ((x)?(b|=name)b&=~name) )
7 @5 B2 o- A2 g- g  S; C- e//---------------------?????????-------------------------------------* c4 \; d" o) Q4 Z- }6 p
  #define  IN_PRESS_UP       P0_0    //???????????????2 N- q, W$ `9 U: ?* |
  #define  IN_PRESS_DOWN  P0_1 //??????????????
% A4 r( A* N: ?' a  #define  IN_PRESS_CLEAR     P0_2 //??????????
5 D" x% @6 F. K& Q0 M+ n; V  #define  IN_PRESS_FUNC  P0_3 //???????????) S% O9 B  M8 K7 C
//----------------------??????-----------------------------------------1 [7 @) Q" W0 K/ O  N
  #define  KEY_FORCE_VALUE  0  //??????Ч???
0 |  ^4 n: x/ Y5 r% d  enum KEY_VALUE{KEY_UP=0x01,KEY_DOWN=0x02,KEY_CLEAR=0x04,KEY_FUNC=0x08,KEY_NULL=0x00};8 i0 u  R% y2 v! S8 `
  KEY_EXT void key_delay_us(uint us);5 g# T( o  f% Y( e9 n! `& \2 [6 ?
  KEY_EXT void key_init(void);: v# S0 Q' l5 i+ J: m& ]9 Z
  KEY_EXT void Key_Idle(void);
1 X. S% A4 T) z: ?  `' Q  KEY_EXT uchar Key_Scan(void);
, }1 u; g/ I7 J  i/ V* A  KEY_EXT void Key_Set_Clock( uchar * clock_time );( d9 t" W+ H( W' {
  KEY_EXT void Key_Set_AlARM(uchar * alarm_time);' m* A! \; X( \2 s+ p1 C2 Z* T. h3 `* E
  KEY_EXT void Key_Function(uchar * clock_time,uchar* alarm_time);
7 g+ J2 C! B# `' E& M#endif3 {& T' M1 M$ }9 w  R3 @4 w4 R3 Y

$ H9 z5 W# H6 @/ }/ J. |

该用户从未签到

2#
发表于 2019-11-25 16:40 | 只看该作者
  ^* c- z2 ~8 M: l' R' L
注意大小写,
  • TA的每日心情
    开心
    2023-5-15 15:14
  • 签到天数: 1 天

    [LV.1]初来乍到

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

    该用户从未签到

    4#
    发表于 2019-11-26 08:38 | 只看该作者
    ' J) R/ H- R3 s" b
    报错的子程序需要声明,可以在头文件中声明,也可以在主函数前声明
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-10-11 13:30 , Processed in 0.156250 second(s), 23 queries , Gzip On.

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

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

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