c51

    5熱度

    1回答

    我試過尋找這個答案,但找不到明確的原因。 我想優化一些8051 C代碼以減少代碼空間。我做了如下改變.. xdata unsigned char a, b; 到 data unsigned char a, b; ...看到我的代碼大小由39Bytes(感覺像聖誕節)減少。 來源:程序大小:數據= 9.0 ...碼= 10509 到:程序大小:數據= 11.0 ...碼= 10468 問:爲

    1熱度

    2回答

    (數組被intialised用一串字符) 我也得到一個錯誤說「數據段太大」當我使陣列更大。如何將數組從「CODE」複製到「XDATA」?或者這不是問題? 編輯:當我這樣調用函數時,lcd會跳過數組中的元素[i] []並打印下一個元素[i]。 任何幫助,我會非常感激。 unsigned char piece [4] [8]; lcd_msg_write(piece[0]); //rank

    0熱度

    2回答

    我不是很喜歡彙編,但對於一個項目,我不得不將C51 C編譯器的幾行彙編代碼修改爲SDCC。 這是代碼C51 setb T1Run setb T0Run setb IDLE jnb T0Full, $ 其中,與SDCC編譯產生 ?ASlink-Warning-Undefined Global 'IDLE' referenced by module 'Com_Func' ?ASlin

    0熱度

    2回答

    根據的Keil C51,以下是有效的: static void kernel(void) small interrupt 1 using 2 { /* do stuff */ } 根據Eclipse索引,然而,事實並非如此。 我們可以做出以下定義,以幫助的情況下: #define small /*small*/ #define interrupt /*interrupt*/

    3熱度

    2回答

    我使用Keil uVision編程4. 我有一些像這樣的代碼: sbit X = P3^3; // X is third bit of P3 register ... while (1) { X = !X; // X equals not X ?! if (X == 0) printf("0"); else printf