Po obejrzeniu ton poradników wideo Mirka, zdecydowałem się za zakup zestawu oraz programatora ATB-USB-RS232. Nie jest może najtańszy, ale podoba mi się projekt i jakość wykonania. Za to napewno warto zapłacić.
Przy okazji wielkie podziękowania Mirku za te poradniki, choć gaduła z Ciebie straszna .
Na codzień pracuję na Mac OS X, ale - żeby nie komplikować sobie życia - przygodę z programowaniem AVR chciałem rozpocząć na Windows. Mam wirtualną maszynę z Windows 10, więc teoretycznie nie powinien być to problem. Praktyka pokazała jednak, że podłączanie ATB-USB-RS232 do maszyny wirtualnej niekoniecznie musi być beproblemowe. Raz działało, raz nie - obstawiam problem z wirtualnym portem USB. Dałem sobie spokój, bo co to za praca, skoro nie jest się pewnym czy błąd wynika z mojej winy, czy akurat wirtualna maszyna nie może się w prawidłowy sposób dostać do programatora.
Chcąc nie chcąc, musiałem ustawić środowisko na Mac OS X. Niestety w sieci nie ma zbyt wiele materiałów, a te co są są przestarzałe, a już w prawie wcale nie ma informacji jak skonfigurować ATB-USB-RS232, czy chociaż jakieś inne FT232R.
No ale koniec końców udało się i obowiązkowy LED program działa .
Moje krótkie notatki poniżej, może komuś się przydadzą:
Środowisko do programowania AVR on Mac OS X
- Instalujemy najnowsze Java SDK. - Instalujemy Eclipse Mars. - NIE instalujemy CrossPack (większość poradników tak właśnie zaleca, ale to stary pakiet, plus jego avrdude nie ma libusb, ani libftdi). Jeśli CrossPack jest już zainstalowany, najlepiej go odinstalować (jest sktypt uninstall w katalogu /usr/local/Crosspack) - Nie ma potrzeby instalować sterowników ze stron FTDI. - Zamiast tego instalujemy manager pakietów dla Mac OS X o nazwie Brew (http://brew.sh).
Eclipse / Preferences / AVR / AVRDude - use custom configuration file, wskazując na avrdude zawierający definicję programmera jak wyżej (po ustawieniu najlepiej przerestartować Eclipse, żeby zaczytał definicję programatorów) - Dodajemy konfigurację nowego programatora. Ponieważ wcześniej wskazaliśmy własny plik avrdude.conf, na liście pojawi się ATB-FT232R. - W definicji programmera w Eclipse trzeba ustawić "Override default port (-P): ft0" oraz "Use this field to add any avrdude option not covered by the plugin: -B4800".
Eclipse / Preferences / AVR / Paths - ustawić ścieżki na /usr/local/Cellar/… (jeśli nie ma aliasów /usr/loca/bin/avr* - tylko “Atmel Part Description Files” ma prawo być z wykrzyknikiem (pewnie będzie), reszta musi być OK.
I już można cieszyć się środowiskiem z ATB-USB-RS232 na naszym Jabłku .
Chętnie usłyszę jakieś porady dotyczące tego ograniczenia do 2400bps. Program obowiązkowy LED ma kilka bajtów i wgrywa się i tak szybko, ale coś większego może już na 2400bps wgrywać się trochę dłużej. Z drugiej strony swoją przygodę z sieciami zaczynałem od modemu 2400 bez sprzętowej korekcji błędów, więc i tuaj dam radę . EDIT: Problem z ograniczeniem do 2400bps rozwiązany i uwzględniony w tym poście. Szczegóły kilka postów niżej.
Pozdrawiam, Michał.
Ostatnio edytowano 16 maja 2016, o 15:47 przez taszyn, łącznie edytowano 1 raz
Jakiś pomysł na konieczność ustawnienia tak wolnej (2400bps) transmisji?
Ja nie znam się na MAC'u - zakładam, że w procku ustawiasz większą ale wtedy ci nie działa ..... To o tyle dziwne, że na PC można sobie ustawiać jaką się żywnie spodoba
Ja nie znam się na MAC'u - zakładam, że w procku ustawiasz większą ale wtedy ci nie działa ..... To o tyle dziwne, że na PC można sobie ustawiać jaką się żywnie spodoba
Hm, więc może tutaj robię błąd? Powinienem coś ustawić w ATmega albo ATB-USB-RS232? Zakładałem, że nie.
Może jak zwiększę taktowanie procka, to będzie lepiej? Aktualnie jest na standardowym 1Mhz.
A ja bym to wrzucił do poradników jednak ... Gratulacje ... niech pożeracze ogryzków też mają a co ...
mirekk36 napisał(a):
Ja nie znam się na MAC'u
A tam ... bierzesz Apple <to był jeszcze porządny sprzęt Macintosh) gryziesz i masz MACA (element pop kultury dla szowinistów ,zmacany przez intela )
_________________ Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]
Ło matko no tego to nie podejrzewałem .... Przy 1 MHz nie licz na więcej ... więc to nie wina MAC'a tylko twoja bo kompletnie pominąłeś zajrzenie do noty PDF na ostatnią stronę rozdziału USART dowolnego procka AVR, szybko byś zobaczył, do jakiej prędkości możesz sobie pozwolić przy danym taktowaniu ....
hmmm chyba nie masz Bluebooka co? a tam to wyjaśniałem i nie tylko to ... Przypomnę tylko jak będziesz patrzył na te tabelki to interesują ciebie TYLKO te prędkości dla których wartości błędu są +/- 2%
Ło matko no tego to nie podejrzewałem .... Przy 1 MHz nie licz na więcej ... więc to nie wina MAC'a tylko twoja bo kompletnie pominąłeś zajrzenie do noty PDF na ostatnią stronę rozdziału USART dowolnego procka AVR, szybko byś zobaczył, do jakiej prędkości możesz sobie pozwolić przy danym taktowaniu ....
hmmm chyba nie masz Bluebooka co? a tam to wyjaśniałem i nie tylko to ... Przypomnę tylko jak będziesz patrzył na te tabelki to interesują ciebie TYLKO te prędkości dla których wartości błędu są +/- 2%
i co teraz ? widzisz ?
Bluebooka mam, a pewnie zaraz zamówię też zestaw 1.05 z Green Bookiem.
O taktowaniu "dziwnymi" częstotliwościami też pamiętam i nawet mam chyba wszystkie możliwe kwarce do 20Mhz, włącznie z tymi na których UART chodzi zawsze bez błędów.
Tylko jakoś nie pomyślałem, że to dotyczy takę programowania przez ATB-USB-RS232, ale podłączonego przez Kanda. Jednak ten programator koniec końców pospina się do pinów MOSI/MISO/SCK, a nie portu UART procesora.
No ale teraz wszystko jasne - zwiększę częstotliwość do 8MHz na wew. oscylatorze, sprawdzę na "kompatybilnej" prędkości, z potem podłączę także zewnętrzny kwarc. Dzięki za podpowiedź .
Tylko jakoś nie pomyślałem, że to dotyczy takę programowania przez ATB-USB-RS232, ale podłączonego przez Kanda. Jednak ten programator koniec końców pospina się do pinów MOSI/MISO/SCK, a nie portu UART procesora.
No ale teraz wszystko jasne - zwiększę częstotliwość do 8MHz na wew. oscylatorze, sprawdzę na "kompatybilnej" prędkości, z potem podłączę także zewnętrzny kwarc. Dzięki za podpowiedź
Nie no zaraz ale poczekaj bo ja już nie wiem do końca o czym my mówimy ... ustalmy to ok?
Bo programowanie przez ATB-USB-RS232 oczywiście, że nie ma nic wspólnego z tym co napisałem wyżej tzn częstotliwościami w tabelkach USART ... To o czym mówiłem ma związek z komunikacją RS232 np przez MkBootloadera ....
A ty mówisz o procesie programowania procka ? To podpowiedz mi - gdzie tam widzisz prędkość 2400 ? to może coś się wyjaśni i dojdziemy gdzie leży problem jaki masz.
Nie no zaraz ale poczekaj bo ja już nie wiem do końca o czym my mówimy ... ustalmy to ok?
Bo programowanie przez ATB-USB-RS232 oczywiście, że nie ma nic wspólnego z tym co napisałem wyżej tzn częstotliwościami w tabelkach USART ... To o czym mówiłem ma związek z komunikacją RS232 np przez MkBootloadera ....
A ty mówisz o procesie programowania procka ? To podpowiedz mi - gdzie tam widzisz prędkość 2400 ? to może coś się wyjaśni i dojdziemy gdzie leży problem jaki masz.
Jestem jak najbardziej za ustaleniem o czym mówimy .
Zobacz proszę na obrazek z mojego pierwszego posta (na screenshot jest jeszcze 4800, na 100% ruszyło dopiero przy 2400). Z tego co widzę takie ustawienie powoduje, że w avrdude dodawany jest parametr -b2400.
Zobacz proszę na obrazek z mojego pierwszego posta (na screenshot jest jeszcze 4800, na 100% ruszyło dopiero przy 2400). Z tego co widzę takie ustawienie powoduje, że w avrdude dodawany jest parametr -b2400.
hmm powinno działać w ogóle bez tego parametru czyli tak jakby była ustawiona prędkość 115200 ... Dziwne, ale wiesz co ? Sprawdź to jeszcze proszę jeśli możesz na komputerze z Windows. Ale nie na maszynie wirtualnej tylko na fizycznym kompie innym ... Najlepiej wtedy z programem MkAvrCalculator ... i gdyby w nim było coś nie tak to daj mi znać ok ?
hmm powinno działać w ogóle bez tego parametru czyli tak jakby była ustawiona prędkość 115200 ... Dziwne, ale wiesz co ? Sprawdź to jeszcze proszę jeśli możesz na komputerze z Windows. Ale nie na maszynie wirtualnej tylko na fizycznym kompie innym ... Najlepiej wtedy z programem MkAvrCalculator ... i gdyby w nim było coś nie tak to daj mi znać ok ?
Na fizycznej maszynie z Win 10 mkAVR Calculator działa poprawnie.
Jednak Eclipse już nie, mimo że skonfigurowałem ten sam "atnelowski" avrdude, z jego oryginalnym avrdude.conf. Znaczy, że mkAVR Calculator musiał robić coś jeszcze, co nie było zdefiniowane w avrdude.conf. No i chyba robi. Podejrzałem, że podczas wykrywania procka mkAVR Calc wykonuje swoisty fallback używając komendy -B4800 (UWAGA: wielkie -B4800, nie -b4800, czy -b2400).
Dodatkowo musi wprost (niezgodnie z definicjami w avrdude.conf) wysyłać do avrdude numer portu, bo bez zdefiniowanego portu Eclipse chce korzystać z LPT1, żeby łączyć się z programatorem.
Więc finalnie w Eclipse (fizyczny PC/Windows), w definicji programatora, ustawiłem: - Override default port (-P): ft0 - Use this field to add any avrdude option not covered by the plugin: -B4800
Od tego momentu na PC/Windows wszystko było OK.
Wróciłem więc do Eclipse pod Mac OS i zrobiłem to samo, plus usunąłem ograniczenie 2400 z "override default baudrate". Od tego momentu wszystko śmiga jak pod Windows , a nawet lepiej, bo z nowszym avrdude (6.3, "atnelowski" jest bodajże 5.11). Żeby jednak używać nowszego avrdude, trzeba nieco zmodyfikować avrdude.conf, gdyż nie ma już takiego typu programatora jak "rt245r". To zapewne dotyczy wersji pod każdy system operacyjny, po prostu zmienili to w nowszej wersji avrdude. Poprawny typ to "ftdi_syncbb", tak jak to podałem w pierwszym poście tego wątku.
Za to z "atnelowskiego" avrdude.conf warto skopiować definicję ATmega8A, bo domyślnie w nowym avrdude.conf jej nie ma i trzeba używać ATmega8 i ignorować błąd sygnatury. Nie wiem, czy definicja 8A różni się czymś od 8 oprócz samej sygnatury, już nie chciało mi się tego sprawdzać i po prostu skopiowałem .
Mirku, jeśli podeślesz mi źródło mojego pierwszego posta, to go uaktualnię i będzie można go wrzucić z powrotem, tak by była spójna instrukcja dla Macowców . (bo samemu chyba nie mogę edytować poprzednich postów?)
Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość
Nie możesz rozpoczynać nowych wątków Nie możesz odpowiadać w wątkach Nie możesz edytować swoich postów Nie możesz usuwać swoich postów Nie możesz dodawać załączników