❶ keil的編譯錯誤:error c129:missing';'before'0000'
你的錯誤代碼是 error c129: 這是一個C語言方面的語法錯誤,說明你的文件被保存為C文件(文件名為.c後綴)。
我用你這段程序放在keil編譯器中試驗過,當程序保存為c文件並編譯時,會出現如你所示的error c129的錯誤且指向程序的第一句代碼處;若將文件另存為匯編文件(文件名為.asm後綴)再進行編譯,則不會出現c129的報錯。
現在將這段程序保存為.asm文件,並將程序整理為以下形式:
ORG0000H
LJMPSTART
ORG000BH;
LJMPINTT0;
START:MOVR0,#70H
MOVR7,#0CH
INIT:MOV@R0,#00H
INCR0
DJNZR7,INIT
MOV72H,#10
MOV75H,#10
MOVTMOD,#01H
MOVTL0,#0B0H
MOVTH0,#03CH
SETBEA
SETBET0
SETBTR0
START1:LCALLSCAN
LCALLKEYSCAN
SJMPSTART1;
DL1MS:MOVR6,#14H
DL1:MOVR7,#19H
DL2:DJNZR7,DL2
DJNZR6,DL1
RET;
DL20MS:
對於以上程序段,不知道整理出來之後是否與你的原代碼相同,但其中有一點需要說明,匯編文件中的分號「 ; 」 的作用與C文件中的「// 」作用類似,它後面緊跟的是注釋內容。 你這段程序,若按以上整理,那麼所有命令後面的分號「; 」 都可以不要的。 不過,也有可能你確實使用了分號的作用,將後面一些命令作了屏蔽處理,則此處不另作說明。
下面將整理後的程序進行編譯,會出現以下報錯情況:
錯誤、警告的解釋:
第4行的錯誤原因是:標志符號「INTT0」沒有定義;
第18行的錯誤原因是:標志符號「SCAN」沒有定義;
第19行的錯誤原因是:標志符號「KEYSCAN」沒有定義;
第27行的警告原因是:代碼結束處沒有「END」命令;(註:所有匯編文件結尾處都應有一句「END」命令表示結束)
可以看得出,你這段程序應該不是完整的,另有一部份你沒有復制出來。你可以根據以上說明,再結合你的實際情況處理你的程序。 祝你成功!
❷ 單片機c語言用keil編譯時出現如下的錯誤是什麼原因'=':illegal type conversion from/to 'void',急求
Write_24C02 ();
下方錯誤提示顯示的是,這個函數返回類型是 void 也就是沒有設定返回值,所以使用 = 等號 就產生了語法錯誤。
❸ keil中出現編譯錯誤,錯誤信息如下,各位大哥大姐給看看是什麼原因謝謝。十分緊急,跪等答案。
你的程序中沒有xdata 變數,說明在Keil設置中,內存模式的設置你選擇了「small」,只能使用內部RAM,造成你的變數定義超過128Byte(其實除去工作寄存器組和堆棧,實際能使用的RAM少於128位元組),這種錯誤一般應該在鏈接時出現。方法有兩個:1、減少變數定義,2、更改內存模式設置。
❹ Keil 編譯一直錯誤error C129: missing ';' before 'char'
原因:因為缺少';。解決步驟如下:
1.第一步是打開devc++5.11,然後進入以下界面。
❺ keil c51編譯錯誤什麼原因,求解
可能是因為你軟體沒安裝好,比如重裝系統之後可能會出現這個問題。
另外,估計你是用的KEIL V4版的,你安裝個KEIL V2 或V3版,然後用V2 或V3 打開工程,就可以順利編譯工程,並生成HEX文件了。
❻ Keil的編譯錯誤問題
根據LENGTH:082BH(2K)分析,ERROR L107錯誤的出現應該是你使用的Keil軟體是一個評估軟體(對代碼有2K長度的限制)。
至於在選擇的目標文件(就是存放這些C程序代碼的文件)裡面多了很多無用的C、H、LIB文件,只要裡面的函數名和全局變數不同名並且不違背C51的語法,是不會影響程序的編譯和運行的。C5會自動的把未被調用的函數和未使用的變數刪除以減小代碼的長度。
❼ keil編譯錯誤undefined identifier是什麼意思
undefined identifier是常見的keil編譯錯誤。
引發這一錯誤的原因是你使用的變數沒有被定義。
常見的處理手段是對你使用到的變喚消量進行變數定義。
另外一種常見的錯誤就是大和銷知小寫導致的,如定義的是unsigned char num;在使斗談用的時候,寫成了NUM,也會出現同樣的錯誤。
(7)keil編譯錯誤原因擴展閱讀:
使用獨立的Keil模擬器時,注意事項:
模擬器標配11.0592MHz的晶振,但用戶可以在模擬器上的晶振插孔中換插其他頻率的晶振。
模擬器上的復位按鈕只復位模擬晶元,不復位目標系統。
模擬晶元的31腳(/EA)已接至高電平,所以模擬時只能使用片內ROM,不能使用片外ROM;但模擬器外引插針中的31腳並不與模擬晶元的31腳相連,故該模擬器仍可插入到擴展有外部ROM(其CPU的/EA引腳接至低電平)的目標系統中使用。