版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
Error:L6200EError:L6200E:Symboltempmultiplydefined(byand.在編譯的時候出現(xiàn)了這個問題,但是檢查不出來,希望各位大俠幫幫忙什么變量你給付了兩次值你看看是不是那個外部變量你又給賦值了申明,其他.c文件對應的.h文件中用extern引用error:#20error:#20:identifier"TIM2_IRQChannel"isundefined誰能說說,哪里錯了你的固件庫里的庫文件沒有添加進工程里面,所以出現(xiàn)未定義的情況。TIM2_IRQChannel指定時器2的中斷通道沒有定義,其實在固件庫對這些參數(shù)都有定義,宏定義代替了一串寄存器地址數(shù)據(jù)。需要將.C文件添加到工程文件中warning:#1-D(7):warning:#1-D:lastlineoffileendswithoutanewline當使用keil編譯時,彈出這樣的警告信息:(7):warning:#1-D:lastlineoffileendswithoutanewline這個是由于在main函數(shù)的“}”后,沒有加回車。只要在main函數(shù)的“}”后加回車鍵,此警告信息即可消除。error:#65...(27):error:#65:expecteda";"分數(shù)送你了,問題在你回答之前已經(jīng)解決了,頭文件里的結(jié)構(gòu)體定義里的最后一行沒有加";如NBmenu{..};折騰了大半天,才搞明白一個空操作的指令先在網(wǎng)上查有的說是_asm{NOP;},從里調(diào)用,可犄角旮旯全找了,也沒看到什么的文件。如果直接用,就出現(xiàn)error:#1113:lnlineassemblernotpermittedwhengeneratingThumbcode最后搜索這條錯誤,知道是因為__asm("指令");這種語法是內(nèi)聯(lián)匯編(inlineassembly)的語法。而RMDK下,內(nèi)聯(lián)匯編僅支持ARM匯編語言,不支持Thumb或者Thumb-2匯編語言;但內(nèi)嵌匯編器支持Thumb和Thumb-2。__asm放到一個單獨的子函數(shù)再被調(diào)用就沒問題了如下:__asmvoidnop(void){NOP}然后在之后的C代碼中調(diào)用該函數(shù):voidmain(){nop();?????最新更新來自KEIL官網(wǎng)warning:#223-D..\..\source\(718):warning:#223-D:function"_NOP_"declaredimplicitly在使用的文件中添加externvoid_NOP_();既可warning:#1295-D..\..\include\(20):warning:#1295-D:DeprecateddeclarationCC_XCal-giveargtypes沒有用形參定時時用voidCC_XCal(void);即可Error:L6218E:Undefinedsymbol.\Obj\:Error:L6218E:UndefinedsymbolFSMC_NORSRAMCmd(referredfrom..\Obj\:Error:L6218E:UndefinedsymbolFSMC_NORSRAMInit(referredfrom.Targetnotcreated請教高人,我該如何處理。你看看tft_lcd里面有沒有添加之類的頭文件,這個錯誤是說你使用的函數(shù)沒有被定義。一般只要添加相應的頭文件即可
OEebugliLFlaEh.+St^rtUp[+]■■■丸maiiL.c[+]■■■丸maiiL.c;=;f|iriizludee.h+:土]Syslnit.c由…卻MELadc.c- 、.Drv+■■■首MEL_uart.c+酉f&t cerror:#101:error:#101:hasalreadybeendeclaredinthecurrentscope將#ifndef__STM32F10x_LIB_H#define__STM32F10x_LIB_H#endif調(diào)整到最后!Icjidif/*_STMi2Fl<iK_LIB_HT嚴*■***?*****"—*|口COP!aRIQKT2Q^STHicrcelecexMilos***-*E3DCTFILE*-**i'error:#247:function"DelayUs"hasalreadybeendefined有一個同名的DelayUs類已經(jīng)被定義過了error:#109:expressionmusthave(pointer-to-)functiontype這個問題就是那19個error中的大部分,意思是表達式需要一個(指針)函數(shù)參數(shù),我一開始以為是自己函數(shù)聲明或者調(diào)用上的錯誤,但是看了下發(fā)現(xiàn)并沒有錯,后來查了好久發(fā)現(xiàn)原來是犯了一個很低級的錯誤:將宏定義和函數(shù)名重名了。因為我一開始想的是每一個宏定義對應一個函數(shù)名,這樣做起來就比較清晰,但是我卻很傻逼地將函數(shù)名每次直接復制到宏名,導致了這種蛋碎的結(jié)果。warning:#61-Dwarning:#68-D:在KeilARM的LPCARM,存在(1<<31)編譯警告問題(174):warning:#61-D:integeroperationresultisoutofrange(174):warning:#68-D:integerconversionresultedinachangeofsign由于編譯器默認signedint即32位有符號整數(shù)類型,而1<<31實際為Ox,這樣就有可能改寫了符號位(最高位)依此類推,(2<<30),(3<<29)...等都會出現(xiàn)編譯警告問題.解決辦法為:((unsignedint)1<<31),((unsignedint)2<<3O),...warning:#1295-D:warning:#1295-D:DeprecateddeclarationShowSendTime-giveargtypes解決方法:將voidShowSendTime()改為voidShowSendTime(void)warning:#550-D:warning:#550-D:variable"d"wassetbutneverused描述:變量'd'定義但從未使用,或者是,雖然這個變量你使用了,但編譯器認為變量d所在的語句沒有意義,編譯器把它優(yōu)化了.解決:仔細衡量所定義的變量d是否有用,若是認定變量d所在語句有意義,那么嘗試用volatile關(guān)鍵字修飾變量d,若是真的沒有用,那么刪除掉以釋放可能的內(nèi)存.error:#159:.error:#159:declarationisincompatiblewithprevious"wr_lcd"(declaredatline40)voida(void).}這樣如果點編譯,就會產(chǎn)生error:#159的錯誤,因為當函數(shù)a調(diào)用函數(shù)b時,發(fā)現(xiàn)在這之前都沒有函數(shù)b的任何聲明.解決方法:在函數(shù)a調(diào)用函數(shù)b之前,對函數(shù)b進行聲明,如:voidb(void);.}error:#70:error:#70:incompletetypeisnotallowed原來是重復定義了,包含了兩次的psock的定義,所以才會出現(xiàn)這種情況。因為我發(fā)現(xiàn)psock和pt是一樣定義的,但是pt是不報錯的,所以我就試圖刪除頭文件中include頭文件的那一行,錯誤消除了,謝謝你了,還是實踐出真知啊,有些時候不能死編,要思考,哈哈。keilMDK編譯器警告和錯誤詳解(不定期更新)工作后從單片機轉(zhuǎn)成ARM,剛開始用編譯器,用了一段時間,因為我接手的項目的老程序正是用ADS編譯的,部門也大都在用?在學單片機的時候用的是keilc51編譯器,ads和這個編譯器在易用性上真是無法比較?后來漸漸知道keil已經(jīng)被arm公司收購,現(xiàn)在keilMDK成為了arm官方編譯器,所以決定重新投奔keil,利用平時的時間,將原程序重新用mdk編譯.mdk的優(yōu)點就沒必要說了,在這里把平時遇到的編譯器給出的警告和錯誤信息給出詳解,希望給初學者一點幫助,發(fā)現(xiàn)錯誤,需要補充的歡迎留言.warning:#550-D::#550-D:variable"d"wassetbutneverused描述:變量'd'定義但從未使用,或者是,雖然這個變量你使用了,但編譯器認為變量d所在的語句沒有意義,編譯器把它優(yōu)化了.解決:仔細衡量所定義的變量d是否有用,若是認定變量d所在語句有意義,那么嘗試用volatile關(guān)鍵字修飾變量d,若是真的沒有用,那么刪除掉以釋放可能的內(nèi)存.warning:#1-D::#1-D:lastlineoffileendswithoutanewline描述:文件最后一行不是新的一行.編譯器要求程序文件的最后一行必須是空行,想了半天沒想通為什么要這樣.解決:可以不理會.若是覺得出現(xiàn)警告不爽,那么在出現(xiàn)警告的文件的最后一行敲個回車,空出一行.warning:#111-D:warning:#111-D:statementisunreachable描述:聲明不可能到達.多出現(xiàn)在這種場合:intmain(void){while(1).}return0;warning:C3017W:warning:C3017W:datamaybeusedbeforebeingset描述:變量'data'在使用前沒有明確的賦值?如:uint8i,data;個警告應引起足夠重視.應養(yǎng)成變量賦初值的習慣,好在有編譯器給把關(guān).warning:#177-D:warning:#177-D:variable"temp"wasdeclaredbutneverreferenced描述:變量'temp'進行了聲明但沒有引用.多出現(xiàn)在聲明了一個變量,但卻沒有使用它,它和warning:#550-D:variable"temp"wassetbutneverused不同之處在于temp從沒有使用過.解決:若是定義的變量確實沒有用,刪除掉;若是有用,則在程序中使用.與該警告類似的還有warning:#177-D:function"MACProcessBeacon"wasdeclaredbutneverreferencedwarning:#940-D:warning:#940-D:missingreturnstatementatendofnon-voidfunction"DealwithInspect2"描述:返回非空的函數(shù)"DealwithInspect2"的最后缺少返回值聲明.如:intDealwithInspect2(uint32test)arning:#1295-D:7..warning:#1295-D:Deprecateddeclarationlcd_init-giveargtypes描述:在定義函數(shù)的時候,如果你寫上函數(shù)參數(shù),就會有這個警告,比如voidtimer_init();這里就沒有形參,如果這樣的話,編譯器會給出警告.error:#65:error:#65:expecteda";"描述:缺少分號.大多是漏忘';'.解決:雙擊錯誤行,在定位到錯誤點的附近找到?jīng)]加';'號的語句,加上分號.并不一定在定位到的錯誤行才卻分號,可能是這行的上一行,也可能是下一行.error:#65:error:#20error:#65:expecteda";"和error:#20:identifier"xxxx"isundefined一塊出現(xiàn),而且后面的error:#20錯誤可能一大堆描述:這個錯誤對于第一次遇上的人來說絕對是個噩夢,當錯誤出現(xiàn),滿懷希望的雙擊錯誤提示,來到錯誤行時卻愕然發(fā)現(xiàn),錯誤行絕對沒有錯,于是找找錯誤行的上一行,下一行,沒有錯誤,再找上上行,下下行...讓人無比郁悶的事情出現(xiàn)了:編譯提示的所有錯誤行都不可能有錯誤出現(xiàn)?其實這最可能是你在.h文件聲明外部變量或者函數(shù)時,沒有在聲明語句的最后加分號!如果你有很多模塊,如,,...有很多頭文件,如,,若是在文件聲明函數(shù)時沒有加分號,那么這種錯誤可能定為到中,所以要檢查所有頭文件.解決:仔細檢查.h文件,將分號補上.Error:L6200E:Error:L6200E:Symbolflagumultiplydefined(byand.描述:變量(也是一種符號flagu多處定義(在中和都定義了)?通常錯在全局變量定義重復?比如:在中定義全局變量flagu:uint8flagu=0;在中也用到該變量,于是聲明此變量,我通常都是先復制定義的變量再在變量前面加關(guān)鍵字extern修飾:externuint8flagu=0;然后編譯,就會出現(xiàn)上面的連接錯誤,原因在于,我在中是又定義了一個變量,而不是聲明變量,因為我給變量賦了初值"flagu=O",這樣就重復定義了變量flag?正確的聲明方法是去掉賦值部分:externuint8flagu;解決辦法:找到重復定義的變量,看情況修改一處.e
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 心理健康教育和培訓的必要性考核試卷
- 塑料制品的創(chuàng)新與智能化生產(chǎn)技術(shù)考核試卷
- 煉鐵行業(yè)中的員工培訓與發(fā)展考核試卷
- 信息系統(tǒng)故障診斷與恢復策略要點和技巧分享與總結(jié)考核試卷
- 《TGF-β1-Smad3在hUMSCs移植改善原發(fā)性卵巢功能不全大鼠卵巢纖維化的機制研究》
- 《預付式消費中消費者權(quán)益保護研究》
- 制鞋業(yè)市場競爭格局與競爭策略分析考核試卷
- 《多花山竹子果實化學成分及其生物活性研究》
- 《對空氣穩(wěn)定的離子液體混合體系中多孔金屬材料的合成及其應用研究》
- 2024年加氣機項目規(guī)劃申請報告
- 中西方創(chuàng)世神話文化的比較
- 幼兒園戶外游戲活動設(shè)計課件精
- 2023燃氣工程分包合同正規(guī)版
- 陜西師范大學學位英語試題
- 【基于嵌入式的人體健康智能檢測系統(tǒng)設(shè)計與實現(xiàn)14000字(論文)】
- 醫(yī)學課件:臨床決策分析
- 江蘇開放大學2023年秋《中級會計實務(wù)(上) 050284》第4次任務(wù)參考答案
- 屋頂光伏安全專項施工方案
- 4.與食品經(jīng)營相適應的主要設(shè)備設(shè)施布局操作流程等文件
- 四班三倒排班表
- 銀行業(yè)信息系統(tǒng)災難恢復管理規(guī)范
評論
0/150
提交評論