Arduino UNO som AtMega328P programmerare
Efter att ha fått min första Arduino UNO, insåg jag snart att det är opraktiskt att använda en UNO för varje projekt. Som med mikrochip familjen av MCU, jag ville ha ett enkelt sätt att programmet fristående kretsar och chips.
Söka på internet, var det tydligt att Arduino IDE kan tillgodose alla mina behov, och att ingen ytterligare hårdvara kommer att krävas. Arduino UNO kan programmeras som en i Circuit programmerare med den medföljande exempel skissen ArduinoISP och UNO. Det finns således inget behov av separat programmerare, eller med AvrDude mjukvara för programmering. En hel del exempel på detta hittades på internet.
Efter några tester var det klart att programmering i AtMega328P inte var så lätt som jag trodde. Programmera alla berodde på AtMega328P chip. Det redan innehöll bootloader, eller är chipet tomt? Kostnaderna för ett chip med bootloader är dubbel en ren chip, så min första sats av chips var tom.
Vad är skillnaden, kan du fråga. Tja, handlar det om AtMega328P oscillator markeringen.
Låt oss titta på skillnaderna
AtMega328P med bootloader
Kostnaden för detta chip är om dubbla det av en tom chip
Config registren av chipet är inställd att använda en extern crystal som klocka (16MHz)
Utan en extern oscillator, kan en inte programmera chip använda Arduino som programmerare
När utrustad med en extern oscillator, kan chip programmeras använda Arduino som programmerare
AtMega328P utan bootloader
Kostnaden är hälften av ett chip med bootloader
Config registret över chipet är inställd att använda den interna klockan 1MHz
Chip kan programmeras använda Arduino som programmerare, men programmet löper 16 gånger långsammare än koden borde, när Arduino IDE sammanställer kod att köras på 16MHz och inte 1MHz
Chip kan konfigureras för 16MHz genom att ladda upp Arduino bootloader.