Dette er første gang, at jeg indså, at ekstra SMD IC i nærheden af USB-porten på Arduino UNO faktisk er en fuldt udviklet mikrocontroller, jeg troede, det var bare en USB til seriel konverter. Yderligere undersøgelse af denne chip efterlod mig med flere spørgsmål end svar.
Først og fremmest, hvorfor besluttede Arduino at bruge Atmega16U2 som en USB til seriel konverter? Kunne de ikke være gået med en FTDI-chip i stedet? Jeg stødte på denne sætning på Quora “Det bedste er, at du også kan programmere og oprette dine egne applikationer på 16u2, hvis du har en In-circuit seriel programmerer. Hvordan præcist fungerer dette?
Hvad med de to andre sæt stik på tavlen? (bortset fra de to hovedrækker med overskrifter) De, der er mærket ICSP og JP2? Er JP2 til 16U2? Jeg læste det disse kunne bruges til at brænde koden på Atmega328P, så den kan modificeres, men ikke overskrives. Hvad er andre anvendelser til 16U2 på Arduino UNO?
Kommentarer
- FTDI er dyrere end 16U2 AFAIK. Eksempler på omprogrammering er: at bruge det som en USB MIDI-enhed eller HID.
- @Wesley Lee Hvordan omprogrammerer du det faktisk Dog?
- Der er en separat ISP / ICSP-header til den. Brug derefter noget som en Arduino som ISP, Atmel ICE osv. (Jeg har ikke tid nu, men jeg kan muligvis skrive et svar og post s hotos snart)
Svar
Første grund til at jeg gætter er pris:
- FT232 på octopart : USD2,65 ~ 3
- Atmega16U2 på octopart : USD2.12 ~ 2.2
De kan sandsynligvis få meget bedre tilbud i betragtning af at Atmega328 også er fra Atmel (nu Microchip).
Om programmering:
Der er nogle projekter, der gør Atmega16U2 til en MIDI-enhed via USB eller HID, for eksempel nogle repoer: 1 , 2 , 3 . Jeg har brugt den anden, synes jeg, og den fungerer fint.
Du kan programmere den med en ISP / ICSP-programmør som Atmel ICE (nedenfor) eller Arduino ISP .
Brug ISP-benene fra Atmega16U2:
Kommentarer
- " De kan sandsynligvis få meget bedre tilbud " – Jeg ville ikke ' ikke blive overrasket, hvis en del af denne beslutning var, at Atmel tilbød Arduino-holdet en kæreste-aftale fra den side.
- @duskwuff – Sandt nok, det kunne have været omvendt!