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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
报错的一段程序在这,检查了好多次函数声明,没有发现问题。" ~* v, I! E7 |4 s* O

: [7 |: q' \! F1 avoid Key_Set_Clock( uchar * clock_time )
6 b; _" c2 }2 E# B4 d
0 Y' Y5 W# r9 q$ `% E' x2 i{
  m0 L& X. t# w* K' l; Q   uchar *i;   B# A  \8 j' J0 Y$ t
   i = clock_time ;: D9 o- Q  C# ~) S9 g8 }
   clock_time ++ ;   //????
3 x$ P) w; y$ E8 w' x$ h0 k4 d   Lcd_Set_Clock( 2, i );  //?????????????
6 `+ l& G8 x3 Q6 Y& s9 P- P   Key_Idle();
# ^- K. [& r$ u4 o   while(1)
. E) \1 W/ {3 I. w( H. A- R8 P   {
# L) e4 S7 L7 b9 P; y* O      uchar minute;
1 T$ s; Q* z7 s# m( R- I      minute = ( ( * clock_time >>4 ) * 10 ) + ( ( * clock_time ) & 0x0f );                                //BCD ? HEX, u, K( z9 f+ e4 ?8 U; Y: d
      switch( Key_Scan() )   //??????  
* `0 ^6 G; w/ J$ z5 B5 c5 K      {            9 `2 X7 U8 m' k& h1 p8 O* L
         case KEY_UP:   
1 k& z' u: {0 t1 }2 k  f   { 3 q& b+ G( @) W
     minute ++;   
. Q5 q( h* e( q/ \5 x2 J     if(minute==60)) b) r3 u. K3 _$ m* _) {
        minute=0;
. @" F9 O2 v8 h6 }0 N           (*clock_time)=minute/10<<4;
$ k! n$ e. N5 \) U(*clock_time)=(*clock_time)|( minute%10); //HEX ? BCD - M+ `  ~( n2 e. y
   Lcd_Set_Clock( 2, i );  //?????????????
: m4 W! {) P% Z; y: K       Key_Idle();
' B8 w+ @0 g) ?* p) g* H   break;7 V3 R, L3 X" h
         }                  3 D9 V  |- Z+ Z# H# r! O8 j& c0 d' ^! @& a
         case KEY_DOWN:
  c9 T7 }5 l+ {) |   { 4 r' ^/ _: m# w  R' z' {. L
     if(minute==0)  ; z8 R, D. I! O* J* m' U; I3 c  H
    minute=60;  & g* o: c7 t; L5 i9 A6 l  L7 V" o
     minute --;
8 |7 i- P! `  a. v- ]4 V9 K           (*clock_time)=minute/10<<4; 4 v3 Z% G9 F( e! d: @* ]  X9 y
     (*clock_time)=(*clock_time)|(minute%10);  //HEX ? BCD  
$ ?  U5 C5 D0 A( P6 e           Lcd_Set_Clock( 2, i );  //?????????????
/ ^9 D" `& _8 T; X" X           Key_Idle();% d; Q7 q- R% r  `1 V6 B
     break;
+ ~+ ?! n- {- v* h; p0 ]1 c         }                    
! q5 @% ~7 o9 o+ a4 A  ?+ k& E        case  KEY_FUNC:  //?????
% X& z9 V" @3 e% U0 M         {
# W/ g" ~3 v7 t4 B& K* k   clock_time ++;   //????
! K3 F. N/ r) X- x7 n: S            Lcd_Set_Clock(3,i);   //?????????????
2 {' E, r2 v5 B4 Q6 w( m8 d6 t' j   Key_Idle();
) h: e! p2 f4 J2 e            while(1)
' y. O" k1 w% H/ E            {
* g9 X8 `5 c9 A: B2 N, N. r4 M      uchar hour;( a/ X' r6 ]+ i0 S  b3 O  U( M9 V
               hour=((*clock_time>>4)*10)+((*clock_time)&0x0f);                                //BCD ? HEX9 U0 {* I+ w+ ?: Y
               switch( Key_Scan())+ a; ]+ w+ P  a
               {
" I+ p1 |, [1 b& Z; j( F- O                  case  KEY_UP:  
% A7 r! ^- l  x0 k  k: {       {
' u/ [% q1 O' K$ [! E       hour ++;8 j7 W& J1 I& X/ I5 q
       if(hour==24)
8 l4 ?9 I3 ?4 P& t      hour = 0; % S0 x  ]2 b! R( H4 P
      (*clock_time)=hour/10 <<4 ;
' b8 f/ H1 J5 y; _' ~- x  A$ v      (*clock_time)=(*clock_time)|(hour%10);   //HEX ? BCD
: A# I1 V/ @  x" k, R                     Lcd_Set_Clock( 3, i );   //?????????????
* E$ S' i. t: K+ T& F      Key_Idle();
) ~5 q. i- q. W4 v/ O. N$ E4 }% |      break;
! C: L  a/ f* r6 E# W& ~3 s       }
( B* y1 f* t! l, c8 ~9 Z/ }/ N                  case  KEY_DOWN:  8 y6 B  P. \/ o+ [+ n0 p. |2 o
      {
6 q; k% {3 X; Z& T      if(hour == 0) , Y3 d& c' u" f- a  q
      hour = 24;
/ g. d( k/ d  J6 Y      hour --;
0 V0 G& X' K" P& y, O) ^      if( hour == 0) 7 C) }0 v4 C/ Y9 J1 B7 v' M
      hour =23;  P8 X/ P! A/ c8 Z) Y) g
      (*clock_time)=hour/10 <<4 ;
/ O8 @% w  t) b) A6 {      (*clock_time)=(*clock_time)|(hour%10); //HEX ? BCD
5 c) ^6 R- p  \1 Q, N5 t9 U; l      Lcd_Set_Clock( 3, i );   //????????????? 2 J; o' s7 C) Z
      Key_Idle();$ L7 @8 T/ S' D
      break;) j$ U7 P. _  Z0 q1 g
      }         
( r8 I- ]- w4 E) _& u                 case KEY_FUNC:    //??????( r% w7 @& {7 F# `0 X6 L
       {
* P( B( Y# z2 l7 H( n                    clock_time ++;   //?????2 j; p2 \) j) M9 j/ b- e
                    Lcd_Set_Clock( 4, i );   //????????????? 8 K7 K4 H% h$ l2 A! }
     Key_Idle();* V$ i% N2 r+ ]8 c: n8 g
     while(1)" `  Q5 _6 k  l' ?+ m
     {2 M; Z( d8 O4 x3 v5 J; i- E
       uchar day;
3 U) F; o0 t0 ~) ~4 n  f3 h       day = ( (*clock_time >>4)*10 ) + ( (*clock_time)&0x0f );                                //BCD ? HEX9 U6 m; v% E, T
       switch(Key_Scan())
5 Z" R2 M! n+ u, M. w9 O5 }       {
( i8 \) x; M  E- n9 T7 s! w       case KEY_UP:
2 |, F# {/ }. m6 i          { 9 e* Q0 Y) [( H/ u. }
       day ++;( b8 Y' M) T/ g" P6 N; v3 c3 d
       if(day==32)
+ J. [2 _4 o! O* _& U/ u         day=1; 4 S2 j" w% \8 h3 o6 j
       (*clock_time)=day/10 <<4 ;  ; n5 F  G  X1 g7 Z+ D
       (*clock_time)=(*clock_time)|(day%10);                         //HEX ? BCD / G! S9 I2 H4 H; p
       Lcd_Set_Clock( 4, i );   //?????????????
) [0 ?- J; \* A  Y( s$ h       Key_Idle();% F0 `. f( Z2 b5 s3 k# v, @; ?3 ?
       break;! e& g. z5 A; c
       }         
( J, M# b+ z' f# F& u0 _! p                        case KEY_DOWN: 0 U0 b* Z" o: D* M3 r! D
       { + U! X/ N5 K8 s+ U
       if(day == 0)- Y- B8 B0 W/ y) X6 z$ }3 c
         day= 31;- t; K  M+ L. P4 m6 x' V8 c
       day --;
3 f6 Z8 {8 E# k       if(day == 0)
9 |$ [$ b, |  L3 O9 i. o         day=31; 0 P- \1 L0 R5 W2 ]' `6 B3 `7 A
       (*clock_time) = day/10 <<4 ;     
5 f6 y% E$ j; e+ Y, a       (*clock_time) = (*clock_time) | (day%10);                         //HEX ? BCD ;
% H$ F7 Q) g: o5 l. s7 W       Lcd_Set_Clock( 4, i );   //?????????????
, j% H9 P2 H" h1 Q       Key_Idle();" d. [! H5 S" [, [% @
       break;
- {! J: y  ~/ n3 f6 c4 w- [3 o      }                  0 w" g/ [& I, p) n$ l
                 case KEY_FUNC:    //??????
; O; e7 u) z9 \        {
5 J! n$ p4 f/ x) G5 n9 ~                         clock_time ++;   //?????7 V/ E3 q' B5 n- d/ z. L
       Lcd_Set_Clock( 5, i );   //????????????? 9 x3 s+ d& l; f! w
       Key_Idle();
5 ^& g" i5 j, ~( M6 O5 t       while(1)2 h. `0 R. N% U8 c- x' \
       {
9 E) N2 Z2 b' q! A+ d         uchar month;
, {" M& I/ V  {' L6 d6 N# n4 `0 _9 B         month = ( ( * clock_time >>4)*10 ) + ( ( * clock_time ) & 0x0f );                                //BCD ? HEX
8 O/ \4 F- Z( ?+ Q% N                           switch(Key_Scan())! W# q* G* g4 ]8 X9 d/ h
         {' i: \+ @9 ?, i9 A. {( {. H
                              case KEY_UP: 9 A1 `5 j* S, `4 X( }0 Z
          {  
$ Q( ?% L" A( W9 v6 ]+ z          month ++; # p3 M3 p1 b  }
          if(month == 13)
- \( b1 j, C- R! @  }2 }6 |         month= 1;6 n4 R8 g4 n% @6 [
          (*clock_time)=month/10<<4;
3 Q* |) a& o+ W          (*clock_time)=(*clock_time)|(month%10);                         //HEX ? BCD
( ]/ B: o8 w9 o7 A/ Y           Lcd_Set_Clock( 5, i );   //?????????????
( `2 j. R: k' n# w  N& Q0 F" t: S              Key_Idle();
% i, G6 g7 }% ]+ ]5 d! M4 w           break;
0 o! N4 U3 i: x         }            
! ]" [* ]2 ~: h( Y- x6 t& N                              case KEY_DOWN:
0 J- e: i( M, e( a/ E) E# ~          {  / i: Z8 |/ g+ W
          if(month==0)
/ E; R& p' U3 I6 T1 q- z0 V( X) a& r          month = 12; ) i  K- ^" K% K4 L) H
          month --;
5 z  y% F3 |* P          if(month==0) ) U  Y7 L" y$ c$ \
         month = 12; $ n( V- Y; Z. I
          (*clock_time)=month/10 <<4;
$ ]# `0 w: Q+ M4 w3 W4 u          (*clock_time)=(*clock_time)|(month%10);                         //HEX ? BCD * F/ k3 G9 Z8 s
          Lcd_Set_Clock( 5, i );   //?????????????
& |& L: r8 }) K) M- y             Key_Idle();9 K" x5 |5 l% R; A. T% z
          break;% |8 J2 N( c8 U9 L3 |2 x; S( {0 W
         }                                                
; Q' m3 {; `5 V( L! ~  r        case KEY_FUNC:    //??????
% i0 V' \5 j4 D& ?$ U5 {7 W5 C        {
' b- G$ i1 k& R0 k# M2 I1 _8 o/ o        clock_time ++;   //?????: m: M% f8 g4 l" D
        Lcd_Set_Clock( 6, i );   //????????????? 0 E( Y$ x# f; W0 `' r& I8 \1 o. d
           Key_Idle();
1 i! F7 q$ ^# b" @- X              while(1)0 v6 J! u2 {4 h5 ?
           {  }' v6 c  _4 u
          uchar year;
; a$ O5 z" ?& f. I             year=((*clock_time>>4)*10)+((*clock_time)&0x0f);                                //BCD ? HEX
+ {5 R. l) Q8 L( V" s2 X9 t* R                                  switch( Key_Scan() )) m- F5 I+ i, \$ G
          {4 S4 T) z: V1 \4 X% K
             case KEY_UP: 5 p: E  X# O5 d" A! @9 x
                {     u: U6 A$ ]4 F
            year ++; - H# m1 {( \* c8 k
            if(year == 100)
3 n$ B7 o* u  @5 [2 p+ s  x  r            year= 0;
* G3 w% L$ A3 ?/ @, M, L6 U            (*clock_time)=year/10<<4;+ h; j" J  C2 e1 C" V; L3 t
                  (*clock_time)=(*clock_time)|(year%10); //HEX ? BCD $ }; a- W$ s& d. Z8 l+ C& W( G5 ]
                  Lcd_Set_Clock( 6, i );   //????????????? 7 W1 X; p0 @4 [/ Y
                     Key_Idle();; Q! W( v$ X% d. B+ s  t# k
               break;
: m" w) ~8 g, X  ?                   }
% G% R7 R$ X4 n7 h. K6 j& A                                     case KEY_DOWN:
8 x; l" J2 q5 D" x) i             {  . I2 G% L3 Z! Z, Z0 Z
            if(year==0) 3 Y4 B: ^3 s. H$ R6 O
            year=100;
5 y7 N+ w/ `5 L2 W9 q) B& K0 ?- a4 t            year--; , ]6 ?$ b- n; G( `5 B2 R/ Q
            if(year==0)
# S; y/ p7 n/ S, i$ Z  _( g! Z            year=100;
+ ]6 t7 Y% n# g$ J0 b! N* P            (*clock_time)=year/10<<4;
# S; l! E: p2 q" w: `, }3 n- b               (*clock_time)=(*clock_time)|(year%10); //HEX ? BCD # k- H2 @; g# S7 f
             Lcd_Set_Clock( 6, i );   //?????????????
4 V' P" T7 N" }7 k1 A6 U                   Key_Idle();
: u" e$ r1 }  G! l" t4 ^7 a                break;
7 |  f! @& Y% V% \             }5 r- j! M4 s( J4 n; W0 V
                      case KEY_FUNC: 0 a( n8 D) ^7 R" q& c' G
              {   . p0 J& j9 T2 }" X4 w7 }1 R; |5 `
           goto loop;
+ W3 G- b. c! s8 `0 y              break;1 R* O% o* H5 e4 w
              }   ^9 z$ ?- ~( ^% ~; x9 Q7 M
              }                       , n0 G  H* Y+ @9 j# z
               }+ R; d# C& [1 X3 X' M
               }6 C* Q* T5 I$ z' g; |
                      } * \8 n: \" `) g8 O8 h1 E  r
                       }
9 w  U6 I+ o# s                     }            
6 [" c* `# {1 {1 m# X                     }" M" b3 E+ S# k# b3 c8 Z
                   }
6 Q' W- |; B! m8 ^                 }
) k! Y& g7 U& \# O9 ]1 J               }0 _" X3 G/ p0 S# R3 l$ D5 k. D5 |
            }         4 L+ G( w! Y: Z7 T# F. u' j3 P
          }
; p6 D! }  K0 s( v/ E* u8 [      }
0 n# x  F' |& W  N( {* u5 p4 l7 Y   }& }) s8 S# d- V, r  A4 O& x4 B
   loop:  Key_Idle(); 6 ]7 p! y( K% L, j7 E7 ]
}4 X( p/ z  l# h0 x3 J8 B
这是头文件,不知道哪里有问题,头文件无法包含在.c文件中。.c文件显示的错误如下:
3 f* B! Z" ~0 ?7 U..\CODE\KEY.C(97): warning C206: 'Lcd_Set_Clock': missing function-prototype
4 }* h7 g2 w& h. {: I..\CODE\KEY.C(97): error C267: 'Lcd_Set_Clock': requires ANSI-style prototype5 z+ v- k8 n1 r% e  ^* }9 O
* x9 d" i3 J& S( f! Q
#ifndef KEY_H
& q2 H. k; {5 J9 \#define KEY_H# m  `) W  h. M1 E
  #include "Include.h"
$ j6 k3 d# ?/ P1 i0 d
4 H& x. q% p1 x% x  #ifndef KEY_GLOBAL" z- I) y3 n# \' u  O
    #define KEY_EXT extern5 S3 }1 D8 q& F: q! ?
  #else
7 E/ B* A( v: L9 r" [) V7 f    #define KEY_EXT
2 Q- j4 F0 s2 b/ F, k9 P4 H  #endif
1 W* S/ a8 `: H, n% O; V4 m) N! c  #define READ_KEY(x,name,b)       ((x)?(b|=name)b&=~name) )5 Y/ Z! _: b  y( M
//---------------------?????????-------------------------------------2 J; H: }. J" ]2 a
  #define  IN_PRESS_UP       P0_0    //???????????????
4 {0 A, |: T- `, c' N& B  #define  IN_PRESS_DOWN  P0_1 //??????????????
" s1 a  {* U$ H% P" o: W  #define  IN_PRESS_CLEAR     P0_2 //??????????
! z0 y' Q5 R6 M; e  #define  IN_PRESS_FUNC  P0_3 //???????????
2 q9 G6 a* y9 }$ v2 [/ |% `, v//----------------------??????-----------------------------------------/ s2 S& I6 H! ^: P
  #define  KEY_FORCE_VALUE  0  //??????Ч???
$ O- C/ ~1 `/ l  enum KEY_VALUE{KEY_UP=0x01,KEY_DOWN=0x02,KEY_CLEAR=0x04,KEY_FUNC=0x08,KEY_NULL=0x00};
; Y3 R! o0 Y: k' {0 ~% V, P: Z  KEY_EXT void key_delay_us(uint us);
- n; i* Y! A" M8 a# J  @8 j  KEY_EXT void key_init(void);1 ?6 G4 E9 w2 }# a* ?- z4 F4 r6 g
  KEY_EXT void Key_Idle(void);. Y" p+ P  H' x( d+ J& t" i1 M; v
  KEY_EXT uchar Key_Scan(void);
/ w4 K) O5 S8 G. R( }  KEY_EXT void Key_Set_Clock( uchar * clock_time );
& R+ |6 j" I. e+ |9 z; s. Q+ w  KEY_EXT void Key_Set_AlARM(uchar * alarm_time);
. r2 |2 U0 h* \! r6 ?2 p' e  KEY_EXT void Key_Function(uchar * clock_time,uchar* alarm_time);6 Y5 e8 [! n% n% z% ^. ?
#endif
2 V- K% u' }7 I4 O' M3 Y& e# m/ O. |4 |& r) U  G

该用户从未签到

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

2 {2 L4 |/ I7 ]6 ?* }. [注意大小写,
  • TA的每日心情
    开心
    2023-5-15 15:14
  • 签到天数: 1 天

    [LV.1]初来乍到

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

    该用户从未签到

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

    , a3 Z" D  a+ W& X5 N, C9 y报错的子程序需要声明,可以在头文件中声明,也可以在主函数前声明
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-7-26 21:14 , Processed in 0.140625 second(s), 23 queries , Gzip On.

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

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

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