Witam serdecznie.
Pracuję na mikrokontrolerze ATmega64 i ładuje wsady przez bootloader. Wsad bootloadera generowany z "plików wzorcowych". Prędkość to 115200 bodów transmitowane przez USB i przejściówke na FT232.
Urządzenie docelowo ma pracować w sieci opartej o RS485
postanowiłem więc od nowa wygenerować bootloader do pracy w sieci. Natknąłem się na wątek:
http://forum.atnel.pl/topic2168.html?hilit=mkbootloader%20485gdzie bardzo fajnie została opisana zmiana bootloadera. Ustawiłem więc wszystko tak jak w artykuje:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Plik makefile ustawiony tak:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
BLS start ustawiony tak jak w "plikach wzorcowych" czyli 0xFE00
Wszystko się bardzo dobrze kompiliuje i wgrywa do procka. Fusebity ustawione tak:


Jednak podczas próby wgrania programu przez RS485 występuje błąd.

Procesor odzywa się i wysyła wszystkie dane na temat bootloadera, jednak w momencie kiedy program wysyła dane, procek spóźnia się z odesłaniem potwierdzenia "@" albo wysyła go w momencie kiedy wysyłane są dane z komputera (dwie wysokie szpilki na drugim screenie).


Myślałem, że źle ustawiłem parametry bootloadera, i za drugim razem ustawiłem BLS_START tak jak na stronie:
http://atnel.pl/mkbootloader.htmlczyli: 0x7E00 *2 = 0xFC00, Ustawiłem więc nowy BLS lecz problem dalej pozostał ten sam.
Nie wiem czy jest to problem z przejściówką (opartą o FT232 i MAX485) czy programu ale skoro odczyt parametrów odbywa się poprawnie to nie wiem dlaczego transmisja już nie.
Jakieś podpowiedzi co ustawione jest źle?
Błagam, męczę się z tym już kilka dni a deadline goni
