1樓:匿名使用者
你的源程式我在keil c中編譯通過了,沒有問題呀!你編譯時出什麼錯誤呀,是不是你的設定不對呀!
2樓:匿名使用者
是不是沒有註冊呀?位元組數受限制!
3樓:斬丨我了個去
你把報錯的**貼出來看下
4樓:成學
我要查詢廣東陳進學**
有一個程式,我在keil上編譯的時候有一個錯誤,但不知道在怎麼改,求大神們幫忙看一下!!
5樓:做而論道
連結中給出**,經過編譯,沒有顯示任何錯誤。
複製貼上如下:
#include
#include
unsigned char tmp;
unsigned int c=0;
sbit led1=p2^0; //指示燈0
sbit led2=p2^1; //指示燈1
sbit led3=p2^3; //指示燈3
void init(); //串列埠初始化
void send(unsigned char a); //單位元組傳送函式
void ctrl(); //接收處理函式
void main()
}}void init() //串列埠初始化
void send(unsigned char a) //單位元組資料傳送
void ctrl() //接收處理函式
}上述**,沒有任何修改,完全是題目連結裡面所給出的。
我用keil在編譯程式的時候出錯了,我選用的是stc89c51型號的微控制器,程式是我複製別人的 10
6樓:
你還是把全部程式發上來吧,或者把錯誤提示中指定行的**發上來,好像是語法錯誤,其中應該有一個符號用錯了"]"。
7樓:
圖看不清,並且這些位定義一般不會有錯哦,應該是下面錯誤,程式整段發出來吧
8樓:爬行的山羊
sbit serialin_0=p2_0;
埠定義換成這個
9樓:巨季雅
很負責任地告訴你,你的上段程式沒有語法錯誤。
位定義 sbit clock_sclk=p1^2; 是對的,你沒有缺少;,結構也沒有問題
你再好好檢查一下,其他有沒有“;”寫錯的情況或者全形半形有問題錯誤中“]”是怎麼來的呢?可能是它附近有錯誤吧,你可以通過遮蔽方式一點一點檢查
直到錯誤完全排除ok
菜鳥向大俠請教:用keil軟體編的程式,編譯時沒錯。軟體**時出錯是怎麼回事?
10樓:匿名使用者
這說明你的程式沒有語法錯誤,但有邏輯錯誤,keil只能檢查出語法錯誤。
微控制器程式編譯的時候出錯了,要看的只有三條語句。
11樓:
前面那個是賦值運算,p3 ^ 4就是p3的值和4做異或運算,結果是一個常數,給常數賦值當然是錯誤的;
後面那句是判等,p3 ^ 0 == 1等同於p3 ^(0==1)就是p3的值和0做異或運算,再判斷結果是否為真,這樣的運算是符合規定的,所以不會報錯,只是結果不是你想象的了
12樓:匿名使用者
p3^4=0;要出錯,因為相當於給p3的4次方賦值為1,顯然c語法是不允許的。
if(p3^0==0)是一個條件語句,當p3的0次冪為0時的意思,所以c語法是允許的。
sbit lie1=p3^4則是keil允許這樣定義io口的。
13樓:匿名使用者
p3^4是io腳,keil的c是不支援的,只能定義成其他變數使用。
14樓:清晨復日暮
p3代表的是在標頭檔案中定義的具有地址的一個特殊暫存器的,不是這麼用的。
為什麼用keil程式設計軟體編譯時老是出現“目標未建立”
15樓:情談學長
使用keil程式設計軟體進行編譯時,由於建立了專案錯誤,始終會出現“未建立目標”。具體的編譯步驟如下:
1,從軟體下拉選單的頂部選擇[專案]-[新專案]。
2,在彈出視窗中,選擇專案檔案。 (如果沒有專案檔案,請建立一個新的專案檔案並填寫一個名詞點進行儲存。)
3,選擇單晶片模型(例如89c52或89c51)。
4,右鍵單擊左側專案“ source group 1”,然後選擇“將c檔案新增到專案組”。 (例如,新增以下c程式檔案。)
5,新增完成後,c檔名將顯示在左側。雙擊檔案以編輯右側的程式。
6,編輯c程式,編譯成十六進位制檔案,用於寫入cpu微控制器。
16樓:輕煙談生活
用keil程式設計軟體編譯時老是出現“目標未建立”是由於建立工程錯誤,具體編譯步驟如下:
1、在軟體頂部下拉選單選【工程】-【新建工程】。
2、在彈出視窗,選擇工程檔案。(如果無工程檔案,新建一個工程檔案,填一個名詞點儲存。)
3、選擇一個微控制器型號(比如89c52,也可以89c51)。
4、右擊左側工程“source group 1”,選擇增加一個c檔案到工程組裡。(比如增加下面的c程式檔案。)
5、增加後,左側會看到c檔名稱了,雙擊檔案可以在右側進行編輯程式。
6、編輯完c程式,進行編譯成hex檔案,用於寫進cpu微控制器。
17樓:匿名使用者
test.asm 檔案不再你的工程專案中,無法生成test.obj。
故編譯時找不到檔案造成的。
從你的截圖中有test.asm 中有ogr 0,你新建一個專案加入專案中。
18樓:
那就是表示編譯未通過呀!這時要去檢視是不是有什麼錯誤存在!正常情況下若編譯通過後就會建立目標!
19樓:
可能是c檔名中有空格哦
20樓:艾迪得
你試著重啟一下應用,不行的話是不是有什麼東西沒開
21樓:匿名使用者
你截圖看看,是不是你檔案沒有加到工程呀,還是你main函式名寫錯了?
stc微控制器程式在keil編譯時出現警告資訊請教
22樓:匿名使用者
code space memory overlap1.**段地址重複了,生成的**超過了編譯器最大限制,或是你重複使用了相同的地址.
unresolved external symbolsymbol: ?c_start
2.你檔案儲存的副檔名是不是.asm的,或是你仔細的檢查一下,是不是標號寫錯了或是忘寫了.主程式出問題的可能性比較大,看警告你就知道了
,實在不行你把程式通過訊息發過來,我給你看一下,看不到程式具體問題出在哪不好說.