|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
程序編譯求問! |
| 作者:我無憂 欄目:單片機(jī) |
在對程序編譯時,出現(xiàn)下列錯誤: 1.錯誤347:跳轉(zhuǎn)出范圍:D0(D0為一個分支名) 請問這個錯誤是如何造成的,該如何避免? 2.錯誤334:重復(fù)定義:CY. 請問這個錯誤是如何造成的,該如何避免? 請各位大俠不吝賜教,非常感謝! |
| 2樓: | >>參與討論 |
| 作者: 我無憂 于 2004/5/20 9:49:00 發(fā)布:
怎么沒有人回復(fù)啊,大家在調(diào)試軟件的過程中沒有遇到過和一樣的問題嗎?真的希望各位大家?guī)蛶兔?這一關(guān)過不去,我以后的事情就沒得做了. 再次謝過了! |
|
| 3樓: | >>參與討論 |
| 作者: aibxyz 于 2004/5/20 12:46:00 發(fā)布:
第一個,如果是用SJMP、AJMP的話改用LJMP 第二個,CY是51已經(jīng)定義了的位變量,你不可以再次定義 |
|
| 4樓: | >>參與討論 |
| 作者: 藍(lán)夢天蝎 于 2004/5/20 13:04:00 發(fā)布:
我前幾天也遇到這種錯誤了 我解決的辦法是把跳轉(zhuǎn)改為子程序 |
|
| 5樓: | >>參與討論 |
| 作者: 我無憂 于 2004/5/20 15:09:00 發(fā)布:
多謝各位大俠的指教,我再調(diào)試一下,看看是什么結(jié)果. |
|
| 6樓: | >>參與討論 |
| 作者: 我無憂 于 2004/5/20 21:41:00 發(fā)布:
非常感謝各位大俠的指導(dǎo),特別是藍(lán)夢天蝎,我將我的跳轉(zhuǎn)改為子程序之后,最終編譯通過.至于第二個問題,還沒有找到解決的答案,版主說,不可以再定義CY位,CY位不就是PSW的第七位嗎?我沒有重新定義它啊. 我將PSW分別定義如下:MOV PSW,#00H MOV PSW,#08H MOV PSW,#18H 從上面可以看出我并沒有對PSW.7重新定義.那么錯誤是怎樣產(chǎn)生的呢?還是我的理解有什么問題? 請各位大俠再次給矛解答,非常感謝! |
|
| 7樓: | >>參與討論 |
| 作者: 藍(lán)夢天蝎 于 2004/5/21 11:10:00 發(fā)布:
好象不允許這樣直接操作吧 |
|
| 8樓: | >>參與討論 |
| 作者: 我無憂 于 2004/5/21 11:32:00 發(fā)布:
其實我對PSW的賦值僅僅是對工作寄存器組的選擇,并沒有改變其它的值,我記得我看過的一些源程序中,有對PSW直接賦值的啊. 那我再調(diào)試一下,看看是什么情況吧. |
|
| 9樓: | >>參與討論 |
| 作者: huterln 于 2004/5/21 19:03:00 發(fā)布:
用對 RS0,RS1進(jìn)行位操作就可以選擇工作寄存器 |
|
| 10樓: | >>參與討論 |
| 作者: 47770046 于 2006/3/5 19:37:00 發(fā)布:
用AJMP,JB,JNB時一定要注意跳轉(zhuǎn)的范圍不要太遠(yuǎn),如果需要跳到比較遠(yuǎn)的程序段時,可采用建立中間跳板從而間接的達(dá)到目的。 |
|
| 11樓: | >>參與討論 |
| 作者: SupermanTm 于 2006/3/5 23:10:00 發(fā)布:
MOV PSW,#xxx 沒有錯誤,CY的問題估計出在編譯器上面,也許你引用了一些宏文件,里頭重復(fù)定義了CY的標(biāo)識符。 |
|
|
|
| 免費(fèi)注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |