當前位置:首頁 » 編程軟體 » 偉福編譯器錯誤347

偉福編譯器錯誤347

發布時間: 2024-12-03 07:20:12

A. 急問:使用偉福匯編器輸入程序後,進行編譯後,出現對話框說:行:6,錯誤:353;符號未定義:TAB<AA.ASM>

呵呵,
你的程序裡面,竟有幾個「END」!
只應該在最後,保留一個即可。

B. WAVE6000未安裝編譯器或者指定路徑錯誤 怎麼解決 提示說請使用偉福安裝盤,運行LAB2000安裝 求高人解決

有時這個不支持中文路徑和長文件名,如果不符合路徑要求,就會產生以上錯誤。最好是將工程和ASM文件放在同一個文件夾下,並且最好為根目錄。
有時工程的路徑不對或工程文件有誤也會提示該錯誤,重新建立即可。

C. 偉福在單片機上不能運行死怎麼回事

1. 意外中斷。是否打開了某個中斷,但是沒有響應和清除中端標志,導致程序一直進入中斷,造成死機假象
2. 中斷變數處理不妥。若定義某些會在中斷中修改的全局變數,這時要注意兩個問題:首先為了防止編譯器優化中斷變數,要在這些變數定義時前加volatile,其次在主循環中讀取中斷變數前應該首先關閉全局中斷,防止讀到一半被中斷給修改了,讀完之後再打開全局中斷;否則出現造成數據亂套。
3. 地址溢出,常見錯誤為指針操作錯誤。我要著重說的是數組下標使用循環函數中循環變數,如果循環變數沒控制好則會出現數組下標越界,意外修改系統的寄存器造成死機,這種情況下如果死機說明運氣好,否則後面不知道發生什麼頭疼的事。
4. 無條件的死循環;比如使用while(x);等待電平變化,正常情況下x都會變成0,就怕萬一,因此最好加上時間限制;
5. 看門狗沒有關閉。有的單片機即使沒使用看門狗開機時也有可能意外自動開啟了最小周期的看門狗,導致軟體不斷復位,造成死機,這個要看晶元手冊,最好在程序復位後首先應該顯式清除看門狗再關閉看門狗;
6. 堆棧溢出。最難查找的問題,對於容量小的單片機,盡量減少函數調用層級,減少局部變數,從而減少壓棧的時候所需的空間。當你把以上幾條都試過不能解決問題,試一試把你的被調用少函數直接內置到調用的地方並且把佔用RAM大的局部變數改成全局變數,試一試說不定就可以了。

D. 51單片機的編程問題

1:C51編譯器如何區分位地址和位元組地址
是靠預定義實現的,比如:sfr P0 = 0x80; sbit P0_0 = 0x80;前者聲明了P0埠地址位於0x80,後者說明了P0埠的bit0,即P0.0位於位地址空間0x80處。這2個0x80具有完全不同的含義,靠關鍵字sfr和sbit來區別。這樣當程序被編譯時,編譯器會依此編譯成相應的匯編語言。例如:

C51語句: P0 = 1;

P0聲明為sfr,因此編譯成:mov 80h,01h,將把0x01數據送入0x80單元,由於0x80單元物理上對應P0埠,因此,P0.0腳將輸出高電平(其實是呈現高阻態,P0口獨有的),其他.1-.7腳輸出低電平。

C51語句: P0_0 = 1;

P0_0聲明為sbit,因此編譯成:setb 80h,這將把位地址空間的0x80地址的bit的值置1。這個位正是P0口的bit0,執行後,P0.0將輸出高阻態。而P0.1-.7不會變化。

2:C51為什麼要嵌套匯編
51單片機一個顯著優點就是指令執行時間固定,因此可以適應時序要求嚴格的場合。例如符合ISO7816協議的cpu卡的讀寫,對時序要求比較嚴格。其實就是用io腳做出來的同步半雙工串口。支持cpu卡的程序一般比較龐大,需要用c51來組織,但是由於c編譯的不確定性,必須把底層程序封裝成匯編語言模塊嵌入到工程中。這就帶來幾個問題:如何聲明函數、參數如何傳遞等。限於篇幅,不能說得很細。下面舉例:

匯編程序單獨保存一個文件,加入到工程中,函數如下:

_proc_a:

mov a, r7

inc a

mov r7, a

ret

c語言在.h文件中聲明: extern unsigned char proc_a(unsigned char val);

調用時形如: retvalue = proc_a(0x11);

說明:

a:匯編程序如果帶參數,則需要在匯編程序前多加一個下劃線。而聲明它的地方不用加(偉福編譯器這么要求的)。

b:函數的形參中第一參數用R7傳遞,函數返回值用R7返回,這是C51的通用規范。其他參數都有相應規定。函數可以返回一個位,用psw的c位返回。c:上面的語句,執行順序是把0x11給R7,然後跳轉子程序,子程序將它加1後送回。

d:函數跳轉到匯編程序時,本區的R0-R7,A,B,PSW,DPTR等寄存器可以供子程序使用,不必考慮調用後是否要恢復這些常規資源。上例中,A的值被函數使用了,編程者不必恢復調用前的值。

E. 為什麼我用偉福的編譯C文件時候出現"未安裝編譯器或編譯器路徑指定錯誤"

用別的編譯器好了
介紹你下這個下載Turbo C/C++ 3.0
http://www.pay500.com/s6/67269.htm

F. WAVE偉福的問題

你編譯的是C語言程序吧?偉福自帶編譯器中只有匯編沒C,你要裝個protues然後就可以了

熱點內容
怎麼修改iphone密碼 發布:2024-12-04 03:45:55 瀏覽:859
如何關掉內部密碼 發布:2024-12-04 03:35:17 瀏覽:156
wrf4編譯 發布:2024-12-04 03:02:01 瀏覽:257
三一演算法 發布:2024-12-04 03:01:58 瀏覽:119
阿里郵箱密碼如何修改 發布:2024-12-04 02:55:39 瀏覽:840
小米6配置功能怎麼樣 發布:2024-12-04 02:46:59 瀏覽:434
網賺源碼php 發布:2024-12-04 02:43:08 瀏覽:836
美拍上傳手機視頻怎麼下載 發布:2024-12-04 02:35:13 瀏覽:836
phphtml分頁 發布:2024-12-04 02:32:54 瀏覽:45
我的世界最火的生存伺服器ip 發布:2024-12-04 02:26:59 瀏覽:170