avr-gcc

    2熱度

    1回答

    我現在正在教我的朋友如何編程AVR微控制器。我們編寫了這個小程序,它發送簡單的類似莫爾斯的代碼。 問題是,在用AVR-GCC和WinAVR編譯後,a.out文件幾乎是30KB,而十六進制文件是11KB,因此它不適合attiny2313 flash。 WinAVR中CMD:avr-gcc -mmcu=attiny2313 -Os -g main.c AVR-objcopy命令:avr-objcopy

    0熱度

    1回答

    我正在用AVR編程,我試圖創建一個函數來設置一個引腳作爲輸出。我做了一個結構來保存這樣的寄存器和引腳號: typedef struct Pin{ uint8_t pinNo; volatile uint8_t* pinReg; }; 然後我有這個功能來設置一個引腳的輸出。 void pin_output(struct Pin pin){ //DDRA |= _B

    0熱度

    1回答

    我在ASM約指令的幾個問題 1)添加路,RR; Rd和Rr是無符號或有符號數嗎? 2)如何在寄存器中加載帶符號的數字?我知道LDI Rd,K正在加載unisgned。 3)你能否給我提供一個具體的例子,增加兩個16位數字,它有可能是一個數字是負數嗎?

    4熱度

    2回答

    我一直在將IAR項目遷移到Atmel Studio 6.我花了一些時間來創建所有文件夾,並獲得與IAR項目中相同的結構。然後我意識到我創建了一個C項目,實際上我也有C++代碼。所以問題是:如何在不需要創建新項目的情況下將GCC編譯器從C更改爲C++? 我找不到有關Atmel Studio 6的任何適當文檔。另外,我沒有看到從GUI更改此參數的方法。 我發現我不必爲C++編譯器更改C語言。我必須使用

    1熱度

    2回答

    嗨,我是在AVR彙編編程新的,在下面的example,我有幾個問題: 1)它是標籤:8位或16位長? 2)爲什麼需要乘法標籤2? 3)指令LPM將它們的結果放在寄存器R0中?如果是這樣,那和Z有什麼關係? 4)你能explaine從所提供的鏈接引用的文字: 「如果地址不乘以二和標籤是在字節地址0x60的(字地址的0x30),Z將在代碼點存儲在那裏。我希望這澄清了解決問題的。其他版本的」 ldi Z

    1熱度

    1回答

    我有以下代碼: #define phase_1 0b00011000 #define phase_2 0b00101000 #define phase_3 0b00001010 #define phase_4 0b00001100 哪些實際上對應於需要被設置爲高爲步進電機的給定階段的插針。它工作得很好,但不清楚哪些位對應哪根線。 什麼我試圖acheive是類似的東西 #define Ye

    3熱度

    1回答

    我是這個社區的新手,因爲我從未創建過帳戶並提出過問題,但我一直都在使用本網站來解決我的編程問題。所以謝謝!不過,這次我找不到符合我確切需求的另一個問題。如果這是重複,我表示歉意。 我在基本操作系統0.2(盧娜),Ubuntu 12.04的衍生物。我正在使用avr-gcc庫來編譯ATmega32u4微處理器的程序。我編寫了這個程序幾次,因爲我開發它,但直到現在我沒有收到這個錯誤。我在下面粘貼它。 /

    0熱度

    2回答

    我最近聽說了Linux上的avr-gcc和avr-lib支持,可用於Atmel AVR微控制器(ATmega48/88/168, ATmega16的/ 32)。我也明白,Arduino也使用愛特梅爾的AVR微控制器(我不確定哪一個)。 現在不同的供應商已經設計了自己的產品(使用Atmel AVR uc),其中代碼將使用avr-gcc開發,即在Linux平臺上開發。同樣,Arduino的Window

    2熱度

    1回答

    使用gcc-AVR我剛剛進入AVR單片機編程,但是當我看到示例程序,我不能夠從代碼做出來了: DDRD |= (1 << PD7); TCCR2 = (1 << WGM21) | (0 << WGM20); TCCR2 |= (1 << COM20); TCCR2 |= (6 << CS20); 我做也看不到任何聲明變量:DDRD,PD7,TCCR2,WGM21,WGM20,COM20,

    1熱度

    1回答

    我在理解如何管理EEPROM地址空間方面遇到一些困難。 事實是(據我理解): 所以能夠有本地變量在EEPROM(例如,使用AVR-GCC的EEMEM宏) 所以能夠有遞歸函數呼籲 所以我可以有居住在EEPROM內存空間 這意味着它是(在這種情況下)在編譯時未知有多少EEPROM空間,我會使用局部變量的遞歸函數 那麼,這是如何管理的? EEPROM上是否有堆棧式的東西? 此外,如果有這樣的事情:它如何