Skocz do zawartości
armixus

ATmega 324A - przeniesienie projektu na Arduino IDE

Pomocna odpowiedź

Witajcie.

Zacząłem swoją Atmege 324A-PU od programowania w środowisku Atmel Studio po przez USBasp. Na płytce stykowej umieściłem najprostszy program do zapalenia i zgaszenia diody. Po napisaniu i skompilowaniu programu nie wystąpiły żadne błędy, natomiast przy wgrywaniu na uC avrdude wyrzucił błędy następujące:
- atmega324a not found
- cannot set sck period. please check for usbasp firmware update.

Pierwszy błąd dość szybko rozwiązałem, w pliku avrdude.conf podmieniłem sygnaturę z Atmegi 324P na swoją 0x1E 0x95 0x15, dzięki czemu po wybraniu w projekcie Atmegi 324P program wgrał się na uC, dioda zaczęła się zapalać i gasnąć. Drugi błąd natomiast wyczytałem, że może być związany ze starym wsadem atmegi w programatorze, ale nie miał on wpływu na wgrywanie programu, dlatego nic z nim nie robiłem.

Niestety po jakimś czasie uznałem, że język C dla początkującego jest trochę za trudny, dlatego postanowiłem zacząć programować w środowisku Arduino IDE. Wyczytałem, że po przez programator USBasp mogę wgrywać normalnie bez bootloader program ze środowiska Arduino IDE. Przystosowałem Arduino IDE do swojego uC instalując paczkę MightyCore, dzięki której mogłem w wyborze płytek wybrać swoją Atmege 324A. Tak jak w przypadku Atmel Studio pierwszy program był napisany dla diody, wybrałem z przykładów Blink zmieniając w kodzie nr pinu. Kompilacja programu przebiegła pomyślnie natomiast przy wgrywaniu na uC wystąpiły znane mi błędy z Atmel Studio. Błąd dotyczący sygnatury rozwiązałem w ten sam sposób co wcześniej podmieniając swoją sygnaturę, następnie wybierając Atmege 324P program wgrywał się na uC.

Niestety po wgraniu programu uC nie zapalał diody, sprawdziłem połączenia, diodę i wszystko było w porządku. Sprawdziłem napięcie na pinie, który miał podawać na przemian stan wysoki, niski i tutaj okazuje się, że napięcie jest stałe w granicach 1,5V, czyli tak jakby program w ogóle się nie wykonywał. Posprawdzałem inne piny, sytuacja podobna nigdzie nie było sygnału wysokiego,niskiego na przemian.

Myślałem, że może w jakiś sposób uszkodziłem uC, więc dla sprawdzenia wróciłem do Atmel Studio i po wgraniu programu dioda zaczęła z powrotem działać. Następnie z powrotem wróciłem do Arduino IDE wgrywając program, niestety dioda nie działała.

Może ktoś ma jakiś pomysł czemu w Atmel Studio bez problemu wykonuje się pogram a przeniesienie projektu na Arduino IDE nie przynosi rezultatów?

Dodam jeszcze, że fuse bity są fabryczne, nie dodawałem do układu zew kwarcu, w arduino w narządziach ustawiałem przy wgrywaniu 8mhz wewnętrzny zegar.

Udostępnij ten post


Link to post
Anonim
Ten temat został zamknięty.
×
×
  • Utwórz nowe...