• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Problem! Atmega 2560 Homemade Arduino
#1
Witam! Jak w tytule - mam problem z atmegą. Posiadam arduino UNO i głowę na karku, co skłoniło mnie do zbudowania własnego Arduino MEGA 2560. Wszystko ładnie fajnie polutowałem, potestowałem z programami pana Gammona (link), program Board Detector widzi atmegę 2560, a Board Programmer bez problemów i błędów wgrywa bootloader. do tego miejsca jest super. 
Do nóżki procesora nr 26, która oznaczona jest jako wyjście cyfrowe 13, przylutowałem diodę świecącą wraz z opornikiem 1K Ohm, aby tak jak we wszystkich modelach mieć diodę "testową". Chciałem wgrać klasycznego blinka, nic specjalnego:
Kod:
void setup() {pinMode(13,OUTPUT);}

void loop() 
{
  digitalWrite(13,HIGH);
  delay(1000);
  digitalWrite(13,LOW);
  delay(1000);
}

każdy rozumie. Problem z wgraniem, użyłem słynnego i wszystkim znanego programatora USBASP. Zainstalowałem sterowniki, w ArduinoIDE wszystko ustawione, wgrywam za pomocą programatora i... dupa. dioda nie miga a "wgrano pomyślnie" . Próbowałem też z Arduino as ISP i nic. wszystko podłączone poprawnie, sprawdzałem kilkanaście razy. Potem pogrzebałem trochę od końca, bo użyłem AVR DUDE i za pomocą jego zgrałem program z atmegi z wgranym programatorem, oczywiście w .hex w formacie intela. co to format intela? (link). Wyniki były zatrwarzające:
Kod:
:20 E9C0 00 58F4903319F1903308F4E3C59F33A1F1903409F0DEC5BDC0953409F470C19634 B5
:20 E9E0 00 09F0D7C598C1923509F42BC2933538F49C3409F4F5C1913509F0CBC518C29635 0D
:20 EA00 00 09F445C2993509F0C4C567C483E792EE62E00F94F5F110920602109207021092 CB
:20 EA20 00 08021092090210920A0210920B0210920C0210920D0213C18FE792EE62E00F94 B2
:20 EA40 00 F5F18FEE90EE60E00F94F5F181E291EE60E00F94C2F187EB91EE60E00F94F5F1 DA
przykładowy kod samego programatora wgrany programem Gammon'a zgrany z atmegi
potem zapisałem mój program za pomocą ArduinoIDE jako "już skompilowany" wraz z programatorem w pliku .hex przeznaczony dla atmegi 2560 i wtedy odkryłem błąd:
Cytat:
Kod:
:10 00B0 00C0C00000BEC00000BCC00000BAC00000 4C
:10 00C0 00B8C00000B6C00000B4C00000B2C00000 5C
:10 00D0 00B0C00000AEC00000ACC00000AAC00000 6C
:10 00E0 00A8C000004B024E023D02410247028502 B9
:10 00F0 00520256025C02600264026A026E027202 DE
przykładowy kod zapisany przez ArduinoIDE

Jak widać dane z ArdunoIDE są 2 razy krótszym słowem niż jest to wymagane. Da się taki kod wgrać, ale on nie działa. Zamiast tego cała pamięć się zeruje. 

I tu moje pytanie - robił ktoś sam Arduino MEGA 2560? miał ktoś styczność z tym mikrokontrolerem? Wiem, że mogę "blinka" napisać w assemblerze, ale zależy mi na c++, ponieważ mam napisany wcześniej kod na ten mikrokontroler. Jak wgrywać program? może inny programator. Myślałem nad programatorem TTL - FTDI. 
Z góry dzięki za pomoc Big Grin
Yeah, science! ~Jessy Pinkman, Breaking Bad
 
Odpowiedź
  


Wiadomości w tym wątku
Problem! Atmega 2560 Homemade Arduino - przez Garbus_Uchiha - 27-06-2016, 03:44

Skocz do:


Przeglądający: 1 gości