版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、15.1C語言編程常見錯誤如果提示工具連接錯誤,則表示KEIL安裝程序有問題,重新卸載,并全部刪除后重新再進(jìn)行安裝后即可。15.2KEILC程序調(diào)試常見錯誤Compling:C:8051MANN.CError:318:cantopenfilebeep.h說明在編譯C:8051MANN.C程序過程中由于main.c用了指令#include“beep.h”,但卻找不到所致解決方法編寫一個beep.h的包含檔并存入到c:8051的工作目錄中Compling:C:8051LED.CError237:LedOn:functionalreadyhasabody說明LedOn()函數(shù)名稱重復(fù)定義即有兩個以上
2、一樣的函數(shù)名稱解決方法修正其中的一個函數(shù)名稱使得函數(shù)名稱都是獨立的WARNING206:DelayX1ms:missingfunction-prototypeC:8051INPUT.CError267:DelayX1ms:requiresANSI-styleprototypeC:8051INPUT.C說明程序中有調(diào)用DelayX1ms函數(shù)但該函數(shù)沒定義即未編寫程序內(nèi)容或函數(shù)已定義但未作聲明解決方法編寫DelayX1ms的內(nèi)容編寫完后也要作聲明或作外部聲明可在delay.h的包含檔聲明成外部以便其它函數(shù)調(diào)用*WARNING1:UNRESOLVEDEXTERNALSYMBOLSYMBOL:MUSI
3、C3MODULE:C:8051MUSIC.OBJ(MUSIC)*WARNING2:REFERENCEMADETOUNRESOLVEDEXTERNALSYMBOL:MUSIC3MODULE:C:8051MUSIC.OBJ(MUSIC)ADDRESS:0018H說明程序中有調(diào)用MUSIC函數(shù)但未將該函數(shù)的含擴(kuò)檔C加入到工程檔Prj作編譯和連接解決方法設(shè)MUSIC3函數(shù)在MUSICC里將MUSICC添加到工程文件中去*ERROR107:ADDESSSPACEOVERFLOWSPACE:DATASEGMENT:_DATA_GOUP_LENGTH:0018H*ERROR118:REFERENCEMADE
4、TOERRONEOUSEXTERNALSYMBOL:VOLUMEMODULE:C:8051OSDM.OBJ(OSDM)ADDRESS:4036H說明data存儲空間的地址范圍為00 x7f,當(dāng)公用變量數(shù)目和函數(shù)里的局部變量如果存儲模式設(shè)為SMALL則局部變量先使用工作寄存器R2R7作暫存當(dāng)存儲器不夠用時則會以data型別的空間作暫存的個數(shù)超過0 x7f時就會出現(xiàn)地址不夠的現(xiàn)象。解決方法將以data型別定義的公共變量修改為idata型別的定義15.3C編譯器錯誤信息中文翻譯Ambiguousoperatorsneedparentheses不明確的運算需要用括號括起Ambiguoussymbol、
5、xxx不明確的符號Argumentlistsyntaxerror參數(shù)表語法錯誤Arrayboundsmissing丟失數(shù)組界限符Arraysizetoolarge數(shù)組尺寸太大Badcharacterinparamenters參數(shù)中有不適當(dāng)?shù)淖址鸅adfilenameformatinincludedirective包含命令中文件名格式不正確Badifdefdirectivesynatax編譯預(yù)處理ifdef有語法錯Badundefdirectivesyntax編譯預(yù)處理undef有語法錯Bitfieldtoolarge位字段太長Callofnon-function調(diào)用未定義的函數(shù)Calltofu
6、nctionwithnoprototype調(diào)用函數(shù)時沒有函數(shù)的說明Cannotmodifyaconstobject不允許修改常量對象Caseoutsideofswitch漏掉了case語句CasesyntaxerrorCase語法錯誤Codehasnoeffect代碼不可述不可能執(zhí)行到Compoundstatementmissing分程序漏掉Conflictingtypemodifiers不明確的類型說明符Constantexpressionrequired要求常量表達(dá)式Constantoutofrangeincomparison在比較中常量超出范圍Conversionmaylosesigni
7、ficantdigits轉(zhuǎn)換時會丟失意義的數(shù)字Conversionofnearpointernotallowed不允許轉(zhuǎn)換近指針Couldnotfindfile、xxx找不到XXX文件Declarationmissing;說明缺少;Declarationsyntaxerror說明中出現(xiàn)語法錯誤DefaultoutsideofswitchDefault出現(xiàn)在switch語句之外DefinedirectiveneedsanIdentifier定義編譯預(yù)處理需要標(biāo)識符Divisionbyzero用零作除數(shù)DostatementmusthavewhileDo-while語句中缺少while部分Enum
8、syntaxerror枚舉類型語法錯誤Enumerationconstantsyntaxerror枚舉常數(shù)語法錯誤Errordirective:xxx錯誤的編譯預(yù)處理命令Errorwritingoutputfile寫輸出文件錯誤Expressionsyntaxerror表達(dá)式語法錯誤Extraparameterincall調(diào)用時出現(xiàn)多余錯誤Filenametoolong文件名太長Functioncallmissing)函數(shù)調(diào)用缺少右括號Fuctiondefinitionoutofplace函數(shù)定義位置錯誤Fuctionshouldreturnavalue函數(shù)必需返回一個值Gotostateme
9、ntmissinglabelGoto語句沒有標(biāo)號Hexadecimaloroctalconstanttoolarge16進(jìn)制或8進(jìn)制常數(shù)太大Illegalcharacterx非法字符xIllegalinitialization非法的初始化Illegaloctaldigit非法的8進(jìn)制數(shù)字Illegalpointersubtraction非法的指針相減Illegalstructureoperation非法的結(jié)構(gòu)體操作Illegaluseoffloatingpoint非法的浮點運算Illegaluseofpointer指針使用非法Improperuseofatypedefsymbol類型定義符號使
10、用不恰當(dāng)In-lineassemblynotallowed不允許使用行間匯編Incompatiblestorageclass存儲類別不相容Incompatibletypeconversion不相容的類型轉(zhuǎn)換Incorrectnumberformat錯誤的數(shù)據(jù)格式IncorrectuseofdefaultDefault使用不當(dāng)Invalidindirection無效的間接運算Invalidpointeraddition指針相加無效Irreducibleexpressiontree無法執(zhí)行的表達(dá)式運算Lvaluerequired需要邏輯值0或非0值Macroargumentsyntaxerror宏
11、參數(shù)語法錯誤Macroexpansiontoolong宏的擴(kuò)展以后太長Mismatchednumberofparametersindefinition定義中參數(shù)個數(shù)不匹配Misplacedbreak此處不應(yīng)出現(xiàn)break語句Misplacedcontinue此處不應(yīng)出現(xiàn)continue語句Misplaceddecimalpoint此處不應(yīng)出現(xiàn)小數(shù)點Misplacedelifdirective不應(yīng)編譯預(yù)處理elifMisplacedelse此處不應(yīng)出現(xiàn)elseMisplacedelsedirective此處不應(yīng)出現(xiàn)編譯預(yù)處理elseMisplacedendifdirective此處不應(yīng)出現(xiàn)編譯預(yù)
12、處理endifMustbeaddressable必須是可以編址的Musttakeaddressofmemorylocation必須存儲定位的地址Nodeclarationforfunction、xxx沒有函數(shù)xxx的說明Nostack缺少堆棧Notypeinformation沒有類型信息Non-portablepointerassignment不可移動的指針(地址常數(shù))賦值Non-portablepointercomparison不可移動的指針(地址常數(shù))比較Non-portablepointerconversion不可移動的指針(地址常數(shù))轉(zhuǎn)換Notavalidexpressionforma
13、ttype不合法的表達(dá)式格式Notanallowedtype不允許使用的類型Numericconstanttoolarge數(shù)值常太大Outofmemory內(nèi)存不夠用Parameterxxxisneverused能數(shù)XXX沒有用到Pointerrequiredonleftsideof-符號-的左邊必須是指針Possibleuseofxxxbeforedefinition在定義之前就使用了XXX(警告)Possiblyincorrectassignment賦值可能不正確Redeclarationofxxx重復(fù)定義了XXXRedefinitionofxxxisnotidenticalXXX的兩次定義
14、不一致Registerallocationfailure寄存器定址失敗Repeatcountneedsanlvalue重復(fù)計數(shù)需要邏輯值Sizeofstructureorarraynotknown結(jié)構(gòu)體或數(shù)給大小不確定Statementmissing;語句后缺少;Structureorunionsyntaxerror結(jié)構(gòu)體或聯(lián)合體語法錯誤Structuresizetoolarge結(jié)構(gòu)體尺寸太大Subscriptingmissing下標(biāo)缺少右方括號Superfluous&withfunctionorarray函數(shù)或數(shù)組中有多余的&Suspiciouspointerconversion可疑的指針轉(zhuǎn)
15、換Symbollimitexceeded符號超限Toofewparametersincall函數(shù)調(diào)用時的實參少于函數(shù)的參數(shù)不ToomanydefaultcasesDefault太多(switch語句中一個)Toomanyerrororwarningmessages錯誤或警告信息太多Toomanytypeindeclaration說明中類型太多Toomuchautomemoryinfunction函數(shù)用到的局部存儲太多Toomuchglobaldatadefinedinfile文件中全局?jǐn)?shù)據(jù)太多Twoconsecutivedots兩個連續(xù)的句點Typemismatchinparameterxxx
16、參數(shù)xxx類型不匹配Typemismatchinredeclarationof、XXXxxx重定義的類型不匹配Unabletocreateoutputfile、xxx無法建立輸出文件xxxUnabletoopenincludefilexxx無法打開被包含的文件xxxUnabletoopeninputfilexxx無法打開輸入文件xxxUndefinedlabelxxx沒有定義的標(biāo)號xxxUndefinedstructurexxx沒有定義的結(jié)構(gòu)xxxUndefinedsymbolxxx沒有定義的符號xxxUnexpectedendoffileincommentstartedonlinexxx從x
17、xx行開始的注解尚未結(jié)束文件不能結(jié)束Unexpectedendoffileinconditionalstartedonlinexxx從xxx開始的條件語句尚未結(jié)束文件不能結(jié)束Unknownassembleinstruction41.UnknownassembleinstructionUserbreak用戶強(qiáng)行中斷了程序VoidfunctionsmaynotreturnavalueVoid類型的函數(shù)不應(yīng)有返回值Wrongnumberofarguments調(diào)用函數(shù)的參數(shù)數(shù)目錯xxxnotanargumentxxx不是參數(shù)xxxnotpartofstructurexxx不是結(jié)構(gòu)體的一部分xxxsta
18、tementmissing(xxx語句缺少左括號xxxstatementmissing)xxx語句缺少右括號xxxstatementmissing;xxx缺少分號xxxdeclaredbutneverused說明了xxx但沒有使用xxxisassignedavaluewhichisneverused給xxx賦了值但未用過Zerolengthstructure結(jié)構(gòu)體的長度為零未知的匯編結(jié)構(gòu)未知的匯編結(jié)構(gòu)42.未知的操作43.UnknownoptionUnknownpreprocessordirective:、xxx不認(rèn)識的預(yù)處理命令xxxUnreachablecode44.Unreachable
19、code無路可達(dá)的代碼45.constant字符串缺少引號Unterminatedstringorcharacter15.3KEILC常用警告原因及處理方法1.|二口田戸j丄日已丄呂-二conipillngkeyukey匚WS:warningC316:unterminatedconditionalslinking.ProgramSize:data=12.0 xdata=Ocode=544rr2358rr-0Ettoir(s)f2Wairning(s).原因:#ifndefkey_h#ifndefkey_hvoidkey(void);#endif應(yīng)該修改為:#ifndefkey_h/如果沒有定義
20、,那么#definekey_h/重新定義voidkey(void);#endif如果keil在編譯過程中經(jīng)常出現(xiàn)對話框提示要保存的話,解決方法:把該文件夾放入英文文件夾下面,并且該文件夾最好用英文,不能用:要把該文件夾只讀去掉。Warning280:i:unreferencedlocalvariable說明局部變量i在函數(shù)中未作任何的存取操作解決方法消除函數(shù)中i變量的聲明Warning206:Music3:missingfunction-prototype說明Music3()函數(shù)未作聲明或未作外部聲明所以無法給其他函數(shù)調(diào)用解決方法將敘述voidMusic3(void)寫在程序的最前端作聲明如果
21、是其他文件的函數(shù)則要寫成externvoidMusic3(void),即作外部聲明*WARNING16:UNCALLEDSEGMENT,IGNOREDFOROVERLAYPROCESSSEGMENT:?PR?_DELAYX1MS?DELAY說明DelayX1ms()函數(shù)未被其它函數(shù)調(diào)用也會占用程序記憶體空間解決方法去掉DelayX1ms()函數(shù)或利用條件編譯#if.#endif,可保留該函數(shù)并不編譯*WARNING6:XDATASPACEMEMORYOVERLAPFROM:0025HTO:0025H說明外部資料ROM的0025H重復(fù)定義地址解決方法外部資料ROM的定義如下Pdataunsign
22、edcharXFR_ADC_at_0 x25其中XFR_ADC變量的名稱為0 x25,請檢查是否有其它的變量名稱也是定義在0 x25處并修正它.*WARNINGL15:MULTIPLECALLTOSEGMENTSEGMENT:?PR?_WRITE_GMVLX1_REG?D_GMVLX1CALLER1:?PR?VSYNC_INTERRUPT?MAINCALLER2:?C_C51STARTUP*WARNINGL15:MULTIPLECALLTOSEGMENTSEGMENT:?PR?_SPI_SEND_WORD?D_SPICALLER1:?PR?VSYNC_INTERRUPT?MAINCALLER2
23、:?C_C51STARTUP*WARNINGL15:MULTIPLECALLTOSEGMENTSEGMENT:?PR?SPI_RECEIVE_WORD?D_SPICALLER1:?PR?VSYNC_INTERRUPT?MAINCALLER2:?C_C51STARTUP該警告表示連接器發(fā)現(xiàn)有一個函數(shù)可能會被主函數(shù)和一個中斷服務(wù)程序(或者調(diào)用中斷服務(wù)程序的函數(shù))同時調(diào)用,或者同時被多個中斷服務(wù)程序調(diào)用。出現(xiàn)這種問題的原因之一:是這個函數(shù)是不可重入性函數(shù),當(dāng)該函數(shù)運行時它可能會被一個中斷打斷,從而使得結(jié)果發(fā)生變化并可能會引起一些變量形式的沖突(即引起函數(shù)內(nèi)一些數(shù)據(jù)的丟失,可重入性函數(shù)在任何時候都可以被ISR打斷,一段時間后又可以運行,但是相應(yīng)數(shù)據(jù)不會丟失)。原因之二:是用于局部變量和變量(暫且這樣翻譯arguments,自變量,變元一數(shù)值,用于確定程序或子程序的值)的內(nèi)存區(qū)被其他函數(shù)的內(nèi)存區(qū)所覆蓋,如果該函數(shù)被中斷,則它的內(nèi)存區(qū)就會被使用,這將導(dǎo)致其他函數(shù)的內(nèi)存沖突。例如,第一個警告中函數(shù)WRITE_GMVLX1_REG在D_GMVLX1.C或者D_GMVLX1.A51被定義,它被一個中斷服務(wù)程序或者一個調(diào)用了中斷服務(wù)程序的函數(shù)調(diào)用了,調(diào)用它的函數(shù)是VSYNC_INTERRUPT,在MAIN.C中。解決方法:如果你確定兩個函數(shù)決不會
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 整本書閱讀《鄉(xiāng)土中國》課件 2024-2025學(xué)年統(tǒng)編版高中語文必修上冊
- 《我與地壇 》課件 2024-2025學(xué)年統(tǒng)編版高中語文必修上冊
- 2025屆山西省昔陽縣中學(xué)高三下學(xué)期第六次檢測英語試卷含解析
- 2025屆黑龍江省肇東一中高三3月份第一次模擬考試英語試卷含解析
- 湖北省黃岡市蔡河中學(xué)2025屆高考仿真卷英語試卷含解析
- 2025屆安徽省宣城市八校高三二診模擬考試英語試卷含解析
- 福州屏東中學(xué)2025屆高考數(shù)學(xué)五模試卷含解析
- 2025屆營口市重點中學(xué)高三最后一卷語文試卷含解析
- 2025屆湖北省武漢市達(dá)標(biāo)名校高考臨考沖刺英語試卷含解析
- 浙江省寧波市十校2025屆高三下學(xué)期聯(lián)合考試語文試題含解析
- 解讀ASTMG154熒光紫外測試條件和要求
- 基層醫(yī)療機(jī)構(gòu)醫(yī)療廢物污水管理共35張課件
- 十二時辰養(yǎng)生(0002)課件
- 二年級數(shù)學(xué)上冊教學(xué)課件:第9單元 除法 北師大版
- 部編三年級上冊語文期末整理復(fù)習(xí)強(qiáng)化練習(xí)題
- 被執(zhí)行人財產(chǎn)申報表
- 家族祭祖祭文
- 高低壓開關(guān)柜技術(shù)方案
- JJF 1969-2022 沖擊彈性波檢測儀校準(zhǔn)規(guī)范
- 車輛租賃審批單(模板)
- 四年級上冊語文選擇正確讀音名校專項習(xí)題含答案
評論
0/150
提交評論