I need to program a ATMega328P on a breadboard, running on an external crystal at 8 MHz.
All of the guides I can find either use the arduino environment and describe a 16 MHz config, or using the 8 MHz internal oscillator - which is too inaccurate for this project.
How do I do this? Configure the chip to run at 8 MHz and upload the program?
-
why don't you use the internal 8Mhz crystal?nemo bondt– nemo bondt2017年01月15日 16:28:22 +00:00Commented Jan 15, 2017 at 16:28
-
Because I'm using serial communication with another device - the internal 8Mhz crystal is only rated as accurate within 10% at 25 degrees C. Serial communication tolerates an error of about half this.user2702772– user27027722017年01月15日 16:37:11 +00:00Commented Jan 15, 2017 at 16:37
-
There is no such thing as an internal 8 MHz crystal, just an 8 MHz RC oscillator.Leon Heller– Leon Heller2017年01月15日 16:42:22 +00:00Commented Jan 15, 2017 at 16:42
-
I accept the correction that the on chip device isn't a crystal. Doesn't change the reason I can't use it :)user2702772– user27027722017年01月15日 16:45:27 +00:00Commented Jan 15, 2017 at 16:45
-
you forgot to ask a question.Marcus Müller– Marcus Müller2017年01月15日 16:50:35 +00:00Commented Jan 15, 2017 at 16:50
1 Answer 1
myself as of 3 hours ago.
- Get an arduino or similar, install the ArduinoISP sketch
- Connect the two as described here.
- Change the board to Arduino Pro or Pro Mini, Processor to 3.3V, 8Mhz, Programmer: Arduino as ISP
- Hit burn bootloader button
- Load up the sketch that you want on the device
- Without changing anything, use "Upload using programmer"
- Remove arduino, fix wiring changes required to use as programmer
Committed to Electronics Stackexchange for posterity. Or so I can find it when I forget next time...