Jakiś czas temu nabyłem programator USB na TTL oparty o układ FT232RL. Jego dużą zaletą jest możliwość komunikowania się z programowaną płytką przez monitor szeregowy. Takiej możliwości nie mamy korzystając z programatora USBasp
Poniżej sterownik dla systemu MACOS ze strony FTDI Chip. Są tam oczywiście też sterowniki do innych systemów. Po instalacji należy zrestartować system.
(EDIT: dotyczy systemów macOS przed Big Sur, w tym systemie sterownik jest już w systemie)
Nowy port pojawi się po wstukaniu do Terminala komendy:
ls -al /dev/cu*
U mnie port prezentuje się tak:
/dev/cu.usbserial-A50285BI
Jeśli wszystko poszło dobrze możemy podłączyć płytkę Arduino Mini Pro i ją zaprogramować. Wcześniej pamiętać trzeba żeby w programatorze i Arduino IDE ustawić odpowiednie parametry: 5v lub 3v3 oraz w zakładce boards: Atmega 328P 5v/16 MHz lub 3v3/8 MHz, wedle posiadanej płytki.
Problemy, problemy
- Aby móc zaprogramować płytkę opartą o mikrokontroler ATmega328 lub sam procesor za pomocą programatora UART (transmisja przez piny RX, TX) należy wgrać BOOTLOADER od Nick Gammon lub korzystając z Arduino IDE w zakładce Tools->Burn Bootloader. Jeśli po wgraniu BOOTLOADER-a wgraliśmy skecz za pomocą programatora USBasp lub ArduinoISP korzystając na przykład z Arduino UNO to BOOTLOADER został skasowany i musimy go wgrać ponownie aby móc programować przez programator UART!
- Czasem port nie jest widoczny. U mnie pomaga tylko ponowna instalacja sterownika i reboot systemu. (EDIT, tak było w poprzednim systemie macOS, od Big Sur nie ma z tym problemu, sterowniki są w systemie)
- W czasie programowania otrzymywałem komunikat: avrdude: failed to read all of flash memory, rc=-2 . Wygląda na to, że programator nie lubi być podłączany przez USB3. Lepiej włączać go w starszy port USB2.
Samo programowanie odbywa się prosto: wybieramy rodzaj płytki, port i wrzucamy nieśmiertelny Blink.ino.