atmega

    0熱度

    1回答

    我在一個簡單的AVR編程器上爲我的大學項目工作,並且我堅持瞭解如何將內存從十六進制文件映射到實際的閃存。 例如,intel hex爲我們提供了關於數據塊起始地址,其中的字節數和數據本身的信息。麻煩來自於AVR MCU,特別是ATmega16,通常有兩個字節的地址:高和低。首先,我寫了一個簡單的函數,它只讀取來自十六進制文件的所有數據並按順序寫入,每傳遞兩個字節就增加一個地址。令我驚訝的是它在簡單的

    0熱度

    1回答

    嗨我有一個FT232RL板,我試圖用來編程一個arduino(ATmega328p)。我曾嘗試使用arduino IDE上傳草圖,但它一直讓我程序員沒有迴應。我也試圖在命令行中使用AVRDUDE這給了我: AVRDUDE -p m328p -c stk500v1 -P COM4 -b 115200 AVRDUDE:stk500_getsync():不同步:RESP = 0x00 我試過多個波特率,

    0熱度

    1回答

    如果我需要具體:我正在問ATmega328P芯片。該芯片上的模擬引腳位於PortC之下。 我知道digitalWrite可以使用out和digitalRead使用in來完成。 但是我該怎麼辦analogRead ??請解釋。我對此很陌生。 附加:如果您也顯示analogWrite(在PWM的意義上),這將會有所幫助。

    0熱度

    1回答

    我正在爲ATmega16編寫這個程序集,我只是想讓按鈕按下時閃爍10次LED。不幸的是,當達到RET指令時,它將我帶到第一個代碼(start),而不是在調用LONG_DELAY時返回它的左邊。 有人可以幫我嗎?謝謝。 start: /* set the PINB0 data direction to 0 for input */ /* This one simulates th

    0熱度

    1回答

    我在嘗試初始化ADC。首先是啓用Vref。爲此,我需要設置ADMUX的第6位。 事情我已經嘗試: sbi ADMUX, 6 錯誤:I/O out of range (0 <= P <= 31) ldi r16, 0b01000000 out ADMUX, r16 錯誤:I/O out of range (0 <= P <= 63) 這些錯誤甚至意味着什麼? 請別人幫忙!

    0熱度

    1回答

    我正在使用AtmelStudio 7編寫AVR ATmega16單片機的彙編代碼。我試圖從程序存儲器讀取一些數據並使用它們。我知道我必須使用Z寄存器指向程序存儲器,並且彙編器可以通過標籤「BCDTo7_Seg」識別預存的數據。它確實讀取該表中的第一個數字(我可以使用調試器看到這個過程),但是當我遞增Z寄存器時,地址增加,但讀取值仍然相同!希望有人能幫助我。以下是代碼的一部分: /* Simply

    0熱度

    1回答

    運行時可以寫入Atmel Atmega16的程序存儲器嗎?我正在嘗試編寫一個程序來對程序存儲器中給定的一組數字進行排序,並且我必須交換數據,所以我需要使用SPM(存儲程序存儲器),但是我不知道是否可以更改內容程序內存,而我正在運行程序! 我猜寫操作必須在程序存儲器的BOOT SECTION之類的地方執行,但我無法找到一種方法來做到這一點。任何幫助?謝謝。

    -3熱度

    1回答

    我最近在玩ATmega2560時遇到了一個問題,我真的不明白它有什麼問題。 這是我的代碼。 主: #include "Definitions.h" int main(void) { Initialization(); while (1) { //_delay_ms(1); // or printf... //wait for RXC flag

    -2熱度

    2回答

    我有問題,因爲我通過I2C連接Atmega8與mpu6050有問題。 這是我的聯繫: 這是一個很好的引黃?

    0熱度

    2回答

    我想問一下,我如何通過usart作爲整數發送數據,我的意思是存儲數字的變量。我能夠發送字符變量,但終端顯示我ascii這個數字的表示,我需要看到號碼。 我編輯的代碼就像下面所示,但它給我的錯誤:「衝突的類型‘USART_Transmit’」 #include <avr/io.h> #include <util/delay.h> #define FOSC 8000000// Clock Spe