微控制器KEIL編譯問題,微控制器keil編譯的問題

2022-10-25 12:16:24 字數 2676 閱讀 2403

1樓:

1. 變數宣告中間應該是逗號,不是分號:unsigned char i,j;

2. 你的函式沒有宣告,應該在include的下面加上一句:void delay(viod);

3. 函式應該這樣寫:void delay(viod)void main(void)

2樓:斷笛牧童

unsigned char i;j;不對。應該是i,j;

順便提一句,keil裡面的編譯器功能沒有vc的好,它很多東西是不完善的,有時候錯誤是顯示在這一行,但是事實上很可能是你在很遠的地方寫錯了某個字母。所以要自己加強檢查

3樓:匿名使用者

unsigned char i,,j; 逗號

4樓:匿名使用者

unsigned char i,,j; 定義兩個連續變數的時候,變數之間是逗號,否則要分開定義才行

unsigned char i;

unsigned char ,j;

5樓:匿名使用者

unsigned char i;j;這裡的標點不對

6樓:匿名使用者

標頭檔案用的是#include "reg51.h"

7樓:匿名使用者

具體錯誤是在哪一行?

微控制器keil編譯的問題

8樓:

#define led p2

最後面那個分號去掉,自己給自己找麻煩。

c語言的基本寫法要掌握……

9樓:

把#define 後面那個;去掉

keil,微控制器編譯問題,請高手進

10樓:

在編譯後進行連線時,未呼叫的函式所佔用的臨時空間都是單獨分配的,不會放入覆蓋呼叫空間內(因為聯結器不知道該函式會不會被隱式呼叫,這種情況下如果放在覆蓋空間內可能造成意外的改寫),因此會造成額外的記憶體開銷。

11樓:匿名使用者

???能不能詳細點??

微控制器 keil 編譯問題

12樓:太真醒

program size: data=148.0 xdata=0 code=2172

target not created

注意這個,你用的什麼微控制器??器件型別選的哪一款?

-------------------------------你看看工程的mcu是不是選錯了,keil說的是你mcu的記憶體不夠用,是不是選了標準的51?

----------------------------------不用擴充套件,你的mcu是夠用的。可能是你選錯了器件型別。編譯器認為你的mcu沒有那麼大記憶體

13樓:匿名使用者

code=2172

超過了 51 的eprom

你可以選擇用 c52 來 linking.

14樓:匿名使用者

記憶體不夠,解決方法1.擴充套件記憶體。2.

換用其他記憶體大的cpu,也有可能像3樓說的那樣使用了標準51。3.減少全域性變數定義,把部分data段定義為idata,這樣keil會自動覆蓋,節約記憶體。

因為你超出的不多,應該可以優化掉。

擴充套件記憶體方法

目標定義中增加xdata,編譯模式選擇large就可以了。

15樓:乘心宜於初

這個簡單,把程式裡面的

uchar

指令變成

uchar

xdata

就可以了

微控制器keil編譯出錯

16樓:匿名使用者

p0=0x01

其中的0x,打成字ox了,不是0,是字大寫字母o,ok的o!

微控制器c語言 keil編譯這些錯誤怎麼改

17樓:匿名使用者

前面定義的全域性變數陣列wenzi最後應該是分號,而不是逗號。

延時子程式中用了庫函式_nop_( );  必須用#include包含標頭檔案intrins.h。因為沒加標頭檔案,_nop_( ) 是不識別的,才引起變數p錯誤。

兩個延時子程式前面要加void ,否則編譯時會警告。

主程式中還有幾處錯誤,修改如下圖

18樓:自我程式設計

你那個定義全域性變數陣列wenzi最後寫的是逗號,缺少分號。

19樓:匿名使用者

10行語法錯誤,看看{是不是多了。

15行變數p重複定義了。

16行,語法錯誤,)可能有少或多的。

20樓:杯具——悲劇

能有提示的全是語法錯誤,直接改掉就好了

關於c51微控制器使用keil編譯器的一些問題?

21樓:匿名使用者

1.如果沒有被呼叫,就不會被編譯,自然不佔用空間。

2.只要結構體有元素被使用,就要佔據整個結構體的空間。

3.多出來的0.2是位變數,表示你用了兩個bit的變數。

微控制器問題

晶振 6mhz 時鐘週期 1 6 10 6 秒,機器週期 12 時鐘週期 2us。機器週期個數 0.1s 2us 100000us 2us 50000。顯然需要用定時器工作方式1,因為只有2 16 65535 50000,2 13和2 8都小於50000.初值 2 16 50000 65536 50...

微控制器之間如何實現通訊,微控制器與微控制器之間如何進行序列通訊?

兩個單抄片機之間串列埠襲通訊,如果是用proteus 最簡單 bai了,兩個微控制器的rxd,txd交叉連線就行了。du要是實物最zhi好用rs232連線通訊,距離可以達到幾十米。再遠點距離,用rs485連線通訊。總之,方法很多的,dao也很靈活的。1 微控制器的通訊 有抄序列襲通訊和並行通bai信...

求助微控制器c語言程式問題,求助 微控制器C語言程式問題

第一個是在主程式中設定的定時計數器中斷相關引數設定,tmod 0x10 設定定時計數器的工作方式為方式1 16為計數器 也就是計數範圍為 0 65536 th1 65536 200 256 tl1 65536 200 256 設定計數器的初值為 200.ea 1 開總中斷,et1 1 開定時計數器1...