Недавно я купил несколько автономных Atmega328p-pu (только M C, а не плата Arduino). В то время я забыл купить кристалл 16 МГц, но, согласно многим источникам на inte rnet, я мог запустить его без кристалла. но это никогда не работало. Я использовал Arduino Nano в качестве программиста (с Arduino в качестве эскиза ISP). сделал следующие подключения.
Nano ---> Atmega328p-pu
D13 Pin 19 (SCK)
D12 Pin 18 (MISO)
D11 Pin 17 (MOSI)
D10 Pin 1 (RESET) (tried it with and without a pullup resistor to 5V).
5V VCC
с этими подключениями, когда я пытаюсь записать загрузчик или загрузить эскиз с помощью программатора, моя загрузка не удалась. я получаю подпись устройства 0x000000. Я проверял это и на других MC, и ни один из них не работал. Несколько дней спустя я купил кристалл 16 МГц и подключил его, как показано ниже. (сохраняя прежние соединения, как они были).
Crystal Pin 1 ---> Pin 9 (XTAL 1)
Crystal Pin 2 ---> Pin 10 (XTAL 2)
22nF capacitor between the pins and ground
Только после этого сработал мой M C. я мог записать загрузчик и загрузить код в Atmega328p-pu, используя мой Nano в качестве программиста
Итак. вопрос почему Atmega328p-pu не работал без кристалла? Я видел видео на YouTube, где кристалл не использовался, а M C работал нормально.
Примечание: когда я говорю MC, я имею в виду другие Atmega328p-pu's