Detta är första gången jag insåg att extra SMD IC nära USB-porten på Arduino UNO faktiskt är en fullfjädrad mikrokontroller, jag trodde att det var bara en USB till seriell omvandlare. Ytterligare forskning om detta chip gav mig fler frågor än svar.
Först och främst, varför bestämde Arduino sig för att använda Atmega16U2 som en USB till seriell omvandlare? Kunde de inte ha gått med ett FTDI-chip istället? Jag stötte på den här frasen på Quora ”Det bästa är att du också kan programmera och skapa dina egna applikationer på 16u2 om du har en serieprogrammerare i krets”. Hur exakt fungerar det?
Hur är det med de två andra kontakterna på kortet? (andra än de två huvudraderna med rubriker) De som är märkta ICSP och JP2? Är JP2 för 16U2? Jag läste det dessa kan användas för att bränna koden på Atmega328P så att den kan modifieras, men inte skrivas över. Vad är andra användningsområden för 16U2 på Arduino UNO?
Kommentarer
Svar
Första anledningen till att jag antar är pris:
- FT232 on octopart : USD2.65 ~ 3
- Atmega16U2 på octopart : USD2.12 ~ 2.2
De kan förmodligen få mycket bättre erbjudanden med tanke på att Atmega328 också kommer från Atmel (nu Microchip).
Om programmering:
Det finns några projekt som gör Atmega16U2 till en MIDI-enhet via USB eller HID, till exempel några repor: 1 , 2 , 3 . Jag har använt den andra tror jag, och den fungerar bra.
Du kan programmera den med en ISP / ICSP-programmerare som Atmel ICE (nedan) eller Arduino ISP .
Använd ISP-stiften från Atmega16U2:
Kommentarer
- " De kan förmodligen få mycket bättre erbjudanden " – Jag skulle inte ' inte bli förvånad om en del av detta beslut var att Atmel erbjöd Arduino-teamet en älskling av den delen.
- @duskwuff – Det kan sant ha varit tvärtom!