c18

    2熱度

    1回答

    好的,我一直試圖通過我自己很久解決這個問題,現在我放棄了。我搜遍了所有的網站,直到我無法忍受,我需要幫助! 我讀了整個「C18編譯器用戶指南」,它說C18支持使用大小超過256字節的堆棧。但是我做了他們所要求的所有內容,更改了鏈接器腳本並使用了多銀行堆棧模型編譯器選項(-ls),並且在堆棧的第一個銀行被填充後仍然有訪問變量的問題。 我調試了一個簡單的代碼,它簡單地調用一個函數遞歸。該函數有5個浮點

    0熱度

    1回答

    我已經存儲在EEPROM 陣列與{0,0,0,0,1,1,1 ...}開始直到從地址54個元素個「0'地址」 53',我已經交叉檢查了值,一切都很好。 但是當我採用了「搜索功能」和我已經通過了「0」作爲參數,因爲它從第0地址搜索。 無符號字符搜索(炭的current_time) { unsigned int loopcnt = 0; unsigned

    1熱度

    1回答

    嘗試編譯此宏時出現語法錯誤。我必須使用宏,因爲C18不支持函數內聯。使用常規函數調用會導致編譯器有更大的ISR開銷(通常大約有10個彙編指令,函數調用它變爲50)。 我查過了,沒有尾隨空格。 #define INCREMENT_IDX(puIdx,uMax) uMax--;\ if (*puIdx <= uMax)\ {\

    2熱度

    2回答

    我想進一步瞭解XC8 & C18編譯器的區別。 我知道XC8是所有8位微控制器控制器的最新編譯器。例如PIC16F,PIC18F。 C18是PIC18產品的編譯器。對於C18,PIC18系列包括PIC18F和PIC18C,是嗎? 我看到XC8是比C18更進一步的版本。這是否意味着XC8也可以編譯以前由C18編譯的全部/部分代碼。如果不是,應該是什麼。 順便說一句,目前(天)我正在尋找關於PIC18

    3熱度

    1回答

    我正在尋找一種方法,使使用C18編譯器使用C Jalv2狀的準變量。僞變量就像一個變量,但實際上是一個函數。 在Jalv2,有可能使這樣的僞變量: function the_var'get() return byte is -- some code end function procedure the_var'set(byte in value) is -- some c

    0熱度

    2回答

    有沒有辦法讓C18編譯器在編譯期間拋出自己的自定義錯誤消息? 例如,考慮以下情況,有兩個用戶自定義設置: #define SETTING_A 0x80 #define SETTING_B 0x3f 假設這些設置不能都0x00。當用戶將兩個設置都設置爲0x00時,是否有辦法讓編譯器拋出錯誤(或至少是警告)?

    2熱度

    2回答

    我有時會看到這樣一個C程序(我使用的是C18編譯器): unsigned char someValue = getSomeDataFromSomewhere(); if (someValue) { doStuff(); } else { doOtherStuff(); } 我知道當你給一個if環(在C18編譯器unsigned)一個布爾值會發生什麼,但會發生什麼當你把

    2熱度

    1回答

    我正在使用Microchip的C18編譯器編譯我的C代碼。我在此代碼得到一個警告[2054] suspicious pointer conversion: unsigned char ENC_MAADR1 = 0x65; unsigned char ENC_ReadRegister(unsigned char address); // ... puts(ENC_ReadRegister(EN

    0熱度

    1回答

    我經常看到的編譯器相關的代碼下面幾行: #if defined(__18CXX) ... #endif 和 #if (defined(__PCB__) || defined(__PCH__) || defined(__PCM__)) ... #endif 我怎麼能知道每個人的意義?

    0熱度

    1回答

    如果你的專家使用C18編譯器可以給我一個關於我在做什麼錯誤的指針,我將不勝感激。爲了熟悉我開始了一個簡單的溫度計項目: - NTC熱敏電阻 - > 18F2520 - > HD44780。 獲得鏈調試並生成代碼以轉換AN0輸入電壓後,2.5V中等範圍= 10000歐姆,包括所需的例程以將T℃加載到LCD上。 上面是光禿禿的骨頭,但很好地生成了每秒TºC的新LCD顯示。 下一步是成爲多一點sofhi