www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]1. Warning 280:’i’:unreferenced local variable說明局部變量i 在函數(shù)中未作任何的存取操作解決方法消除函數(shù)中i 變量的宣告2 Warning 206:’Music3’:missing function-prototype說明Music3( )函數(shù)未作宣告或未作

1. Warning 280:’i’:unreferenced local variable
說明局部變量i 在函數(shù)中未作任何的存取操作解決方法消除函數(shù)中i 變量的宣告

2 Warning 206:’Music3’:missing function-prototype
說明Music3( )函數(shù)未作宣告或未作外部宣告所以無法給其他函數(shù)調(diào)用
解決方法將敘述void Music3(void)寫在程序的最前端作宣告如果是其他文件的函數(shù)則要寫成extern void Music3(void),即作外部宣告

3 Compling :C:8051MANN.C
Error:318:can’t open file ‘beep.h’
說明在編譯C:8051MANN.C 程序過程中由于main.c 用了指令#i nclude “beep.h”,但卻找不到所致解決方法編寫一個beep.h 的包含檔并存入到c:8051 的工作目錄中

4 Compling:C:8051LED.C
Error 237:’LedOn’:function already has a body
說明LedOn( )函數(shù)名稱重復(fù)定義即有兩個以上一樣的函數(shù)名稱解決方法修正其中的一個函數(shù)名稱使得函數(shù)名稱都是獨(dú)立的

5 ***WARNING 16:UNCALLED SEGMENT,IGNORED FOR OVERLAY PROCESS
SEGMENT: ?PR?_DELAYX1MS?DELAY
說明DelayX1ms( )函數(shù)未被其它函數(shù)調(diào)用也會占用程序記憶體空間解決方法去掉DelayX1ms( )函數(shù)或利用條件編譯#if …..#endif,可保留該函數(shù)并不編譯

6 ***WARNING 6 :XDATA SPACE MEMORY OVERLAP
FROM : 0025H
TO: 0025H
說明外部資料ROM 的0025H 重復(fù)定義地址
解決方法外部資料ROM 的定義如下Pdata unsigned char XFR_ADC _at_0x25 其中XFR_ADC變量的名稱為0x25,請檢查是否有其它的變量名稱也是定義在0x25 處并修正它

7 WARNING 206:’DelayX1ms’: missing function-prototype
C:8051INPUT.C
Error 267 :’DelayX1ms ‘:requires ANSI-style prototype C:8051INPUT.C
說明程序中有調(diào)用DelayX1ms 函數(shù)但該函數(shù)沒定義即未編寫程序內(nèi)容或函數(shù)已定義但未作宣告
解決方法編寫DelayX1ms 的內(nèi)容編寫完后也要作宣告或作外部宣告可在delay.h 的包含檔宣告成外部以便其它函數(shù)調(diào)用

8 ***WARNING 1:UNRESOLVED EXTERNAL SYMBOL
SYMBOL:MUSIC3
MODULE:C:8051MUSIC.OBJ(MUSIC)
***WARNING 2:REFERENCE MADE TO UNRESOLVED EXTERNAL
SYMBOL:MUSIC3
MODULE:C:8051MUSIC.OBJ(MUSIC)
ADDRESS:0018H
說明程序中有調(diào)用MUSIC 函數(shù)但未將該函數(shù)的含擴(kuò)檔C 加入到工程檔Prj 作編譯和連接
解決方法設(shè)MUSIC3 函數(shù)在MUSIC C 里將MUSIC C 添加到工程文件中去

9 ***ERROR 107:ADDESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: _DATA_GOUP_
LENGTH: 0018H
***ERROR 118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: VOLUME
MODULE: C:8051OSDM.OBJ (OSDM)
ADDRESS: 4036H
說明data 存儲空間的地址范圍為0~0x7f,當(dāng)公用變量數(shù)目和函數(shù)里的局部變量如果存儲模式設(shè)為SMALL 則局部變量先使用工作寄存器R2~R7 作暫存當(dāng)存儲器不夠用時則會以data 型別的空間作暫存的個數(shù)超過0x7f 時就會出現(xiàn)地址不夠的現(xiàn)象
解決方法將以data 型別定義的公共變量修改為idata 型別的定義

10.***WARNING L15: MULTIPLE CALL TO SEGMENT
SEGMENT: ?PR?_WRITE_GMVLX1_REG?D_GMVLX1
CALLER1: ?PR?VSYNC_INTERRUPT?MAIN
CALLER2: ?C_C51STARTUP
***WARNING L15: MULTIPLE CALL TO SEGMENT
SEGMENT: ?PR?_SPI_SEND_WORD?D_SPI
CALLER1: ?PR?VSYNC_INTERRUPT?MAIN
CALLER2: ?C_C51STARTUP
***WARNING L15: MULTIPLE CALL TO SEGMENT
SEGMENT: ?PR?SPI_RECEIVE_WORD?D_SPI
CALLER1: ?PR?VSYNC_INTERRUPT?MAIN
CALLER2: ?C_C51STARTUP
該警告表示連接器發(fā)現(xiàn)有一個函數(shù)可能會被主函數(shù)和一個中斷服務(wù)程序(或者調(diào)用中斷服務(wù)程序的函數(shù))同時調(diào)用,或者同時被多個中斷服務(wù)程序調(diào)用。出現(xiàn)這種問題的原因之一是這個函數(shù)是不可重入性函數(shù),當(dāng)該函數(shù)運(yùn)行時它可能會被一個中斷打斷,從而使得結(jié)果發(fā)生變化并可能會引起一些變量形式的沖突(即引起函數(shù)內(nèi)一些數(shù)據(jù)的丟失,可重入性函數(shù)在任何時候都可以被ISR 打斷,一段時間后又可以運(yùn)行,但是相應(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ù)決不會在同一時間執(zhí)行(該函數(shù)被主程序調(diào)用并且中斷被禁止),并且該函數(shù)不占用內(nèi)存(假設(shè)只使用寄存器),則你可以完全忽略這種警告。如果該函數(shù)占用了內(nèi)存,則應(yīng)該使用連接器(linker)OVERLAY 指令將函數(shù)從覆蓋分析
(overlay analysis)中除去,例如:
OVERLAY (?PR?_WRITE_GMVLX1_REG?D_GMVLX1 ! *)
上面的指令防止了該函數(shù)使用的內(nèi)存區(qū)被其他函數(shù)覆蓋。如果該函數(shù)中調(diào)用了其他函數(shù),而這些被調(diào)用在程序中其他地方也被調(diào)用,你可能會需要也將這些函數(shù)排除在覆蓋分析(overlay analysis)之外。這種OVERLAY 指令能使編譯器除去上述警告信息。
如果函數(shù)可以在其執(zhí)行時被調(diào)用,則情況會變得更復(fù)雜一些。這時可以采用以下幾種方
法:
1.主程序調(diào)用該函數(shù)時禁止中斷,可以在該函數(shù)被調(diào)用時用#pragma disable 語句來實(shí)現(xiàn)禁
止中斷的目的。必須使用OVERLAY 指令將該函數(shù)
從覆蓋分析中除去。
2.復(fù)制兩份該函數(shù)的代碼,一份到主程序中,另一份復(fù)制到中斷服務(wù)程序中。
3.將該函數(shù)設(shè)為重入型。例如:
void myfunc(void) reentrant {
...
}
這種設(shè)置將會產(chǎn)生一個可重入堆棧,該堆棧被被用于存儲函數(shù)值和局部變量,用這種
方法時重入堆棧必須在STARTUP.A51 文件中配置。
這種方法消耗更多的RAM 并會降低重入函數(shù)的執(zhí)行速度。

11. ***WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
SEGMENT: ?PR?_COMPARE?TESTLCD
說明:程序中有些函數(shù)(或片段)以前(調(diào)試過程中)從未被調(diào)用過,或者根本沒有調(diào)用它的語句。
這條警告信息前應(yīng)該還有一條信息指示出是哪個函數(shù)導(dǎo)致了這一問題。只要做點(diǎn)簡單的調(diào)整就可以。不理它也沒什么大不了的。
解決方法:去掉COMPARE()函數(shù)或利用條件編譯#if …..#endif,可保留該函數(shù)并不編譯。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

0.4 kV配電線路是電網(wǎng)系統(tǒng)的最后一環(huán) ,承載著將電能送入千家萬戶的重任。但在實(shí)際運(yùn)用中,0.4 kV配電線路 卻會受到多重因素的干擾 ,從而產(chǎn)生不同類型的故障 ,影響整個配電系統(tǒng)的穩(wěn)定運(yùn)行。因此 ,對于0.4...

關(guān)鍵字: 0.4 kV配電線路 常見故障類型 解決方法

嵌入式開發(fā)作為一種專業(yè)且技術(shù)密集型的領(lǐng)域,涵蓋了從硬件底層驅(qū)動、中間件到應(yīng)用層軟件開發(fā)等多個層面的工作,其所需的工具種類繁多,各有針對性,旨在提升開發(fā)效率、保證代碼質(zhì)量以及簡化調(diào)試過程。

關(guān)鍵字: 嵌入式開發(fā) keil

之后新建新的工程,添加.a文件就可以使用了,當(dāng)然也可以使用keil來添加,但是keil默認(rèn)的是用.lab,需要自己配置一下文件屬性,改為lib文件即可。一半release sdk的時候用這種方式很關(guān)鍵的,畢竟自己的核心代...

關(guān)鍵字: keil 文件屬性 lib文件

摘要:真空系統(tǒng)是凍干機(jī)的重要組成部分之一,凍干過程中,制品中的水分只有在一定的真空狀態(tài)下才能進(jìn)行升華,達(dá)到干燥的目的。真空系統(tǒng)的運(yùn)行效果將直接影響凍干制劑產(chǎn)品的質(zhì)量和生產(chǎn)周期。鑒于此,對凍干機(jī)真空系統(tǒng)常見故障的原因與解決...

關(guān)鍵字: 常見故障 原因分析 解決方法

摘要:分析了影響鉛碳儲能電站收益的多種因素,并提出了解決方法,達(dá)到了大幅提高鉛碳儲能電站收益的目的。

關(guān)鍵字: 鉛碳儲能電站 影響因素 解決方法

摘要:針對某水電站機(jī)組下導(dǎo)油槽存在的甩油及油霧外溢現(xiàn)象,技術(shù)人員對機(jī)組運(yùn)行過程中存在的技術(shù)問題進(jìn)行了分析,并提出了解決方法。

關(guān)鍵字: 下導(dǎo)油槽密封蓋 原因分析 解決方法

摘要:小巖頭水電站裝機(jī)容量3×43.33MW,采用混流式機(jī)組,投產(chǎn)后發(fā)現(xiàn)3臺調(diào)速器存在不同程度的非周期性抽動問題,影響了機(jī)組的穩(wěn)定運(yùn)行,經(jīng)反復(fù)檢測、試驗(yàn)后找到了導(dǎo)致出現(xiàn)該問題的原因,通過增加調(diào)速器機(jī)械柜柜體接地線后,調(diào)速...

關(guān)鍵字: 水輪發(fā)電機(jī)組 調(diào)速器抽動 解決方法

摘要:分析了影響鉛碳儲能電站收益的多種因素,并提出了解決方法,達(dá)到了大幅提高鉛碳儲能電站收益的目的。

關(guān)鍵字: 收益 影響因素 解決方法

摘要:針對某水電站機(jī)組下導(dǎo)油槽存在的甩油及油霧外溢現(xiàn)象,技術(shù)人員對機(jī)組運(yùn)行過程中存在的技術(shù)問題進(jìn)行了分析,并提出了解決方法。

關(guān)鍵字: 油霧外溢 原因分析 解決方法

摘要:小巖頭水電站裝機(jī)容量3×43.33Mw,采用混流式機(jī)組,投產(chǎn)后發(fā)現(xiàn)3臺調(diào)速器存在不同程度的非周期性抽動問題,影響了機(jī)組的穩(wěn)定運(yùn)行,經(jīng)反復(fù)檢測、試驗(yàn)后找到了導(dǎo)致出現(xiàn)該問題的原因,通過增加調(diào)速器機(jī)械柜柜體接地線后,調(diào)速...

關(guān)鍵字: 水輪發(fā)電機(jī)組 調(diào)速器抽動 解決方法
關(guān)閉