|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 行者~ABC 于 2020-1-10 13:23 编辑 $ z+ R4 r) _: X3 V1 G3 U( F. x4 v. h3 x W
, [( \ p0 p, `这是单片机常见警告,及处理方法,希望对大家有用。
0 V, v8 W5 i, ^* @; `1. Warning 280:1i:unreferenced local variable1 E! _( y, }. {) l/ Q; g* L
说明:局部变量i,在函数中未作任何的存取操作。0 f+ U6 A8 w8 B" _
解决方法:消除函数中i变量的宣告
* }, u+ t0 m$ i2. Warning 206:"Music3':missing function prototype .
$ K v q- n+ E9 l* a4 R6 |说明: Music3( )函数未作宣告,或未作外部宣告,所以无法给其他函数调用。0 }8 _9 }# t% L" [: B/ n9 ]
解决方法:将叙述void Music3(void)写在程序的最前端作宣告,如果是其他文件的函数,
+ y9 q( O5 N/ } W& F, C5 k则要写成extern void Music3(void)即作外部宣告。
* r3 R# x2 v& M: ?5 }# ?3. Compling :C:\805 I\MANN.C' V ~. \, n6 j# g4 w) ^1 O8 `
Error:318:can't open file 'beep.h'; l3 T/ `; n% r: b% h8 u
说明:在编译C:8051MANN.C程序过程中,由于main.c用了指令#include“beep.h",但0 y' n A8 ~! }
却找不到所致。
0 D7 w) F5 d7 I1 W解决方法:编写一个beep.h的包含档并存入到c:\8051的工作目录中。: X0 V' O$ b/ K
4. Compling:C:\805 1\LED.C {' f, `6 s; ~# ~; E
Error 237:'LedOn':function already has a body
. ]5 ^& W$ R. ^' ?. H1 i# U说明: LedOn( )函数名称重复定义,即有两个以上一样的函数名称。+ A) A+ V# q$ h7 Q4 V
解决方法:修正其中的一个函数名称,使得函数名称都是独立的。! d8 }) J9 }; _& b1 O' |# ~
5. ***WARNING 16:UNCALLED SEGMENT,IGNORED FOR OVERLAY PROCESS
% \) _/ T% W( N2 q4 E! \SEGMENT: ?PR?_ DELAYXIMS?DELAY
, [. a& v3 }% B ~ E& @- R说明: DelayX1ms( )函数未被其它函数调用,也会占用程序记忆体空间。
% K' m9 p: Q! y- y解决方法:去掉DelayX1ms( )函数,或利用条件编译#if .. .#endif,可 保留该函数并不编, r @* y) h/ g
译。
6 A$ `4 a' {7 c3 m" U" s6. ***WARNING 6 :XDATA SPACE MEMORY OVERLAP9 H& G$ Y8 M3 ?2 Z: n
FROM : 0025H
- m7 p: O9 N1 U" `* a' }7 {! MTO
6 _4 K/ N/ r9 e$ g% O: d9 `0025H
5 j3 [) z2 G l' T8 I# W说明:外部资料ROM的0025H重复定义地址7 f& e- q# N6 A0 k# a! W
解决方法:外部资料ROM的定义如下:
7 j& j5 |8 f0 v) EPdata unsigned charXFR_ ADC_ at_ _0x25; 其中XFR_ ADC变量的名称为0x25,请检查是
; ?9 j7 z5 h2 W3 G" q% ~4 C否有其它的变量名称也是定义在0x25处并修正它。
& M+ H( x T. q2 p* @% C; }; e" \% G% b) Y6 b( P
0 D* D6 q6 ?" E
8 }; z; W; t- u; X5 J$ {
x- ~6 g5 z8 m7 L) |( b1 @/ f: s9 v" n) r0 P( B. S' N3 T9 p
|
|