リセット信号を作る
リセット信号もATmega328Pで生成することにする。
#define F_CPU 8000000UL #include <avr/io.h> #include <util/delay.h> int main(){ DDRD |= (1 << PD3); // PD3から!リセット信号を出力することにする。 PORTD &= ~(1 << PD3); // 最初に!リセット信号をLにしておいて、 _delay_ms(500 - 65); // 適当にリセット時間を設けて、(65msはATmega328P自体のリセットからの遅延時間) PORTD |= (1 << PD3); // リセット期間が明けたら!リセット信号をHにする。 while(1); return 0; }
黄色がPC6、緑がPD3。