void init_port();
void init_timer();
void setup() {
// put your setup code here, to run once:
volatile long i;
int j=0;
init_port();
init_timer();
Serial.begin(9600);
while(1){
for(i=0;i<1000000;i++);
Serial.println(j,DEC);
j++;
}
}
void init_port(){
volatile char *dirf=(volatile char*) 0x30;
*dirf=0x01;
}
void init_timer(){
volatile char *Timer3_TCCR3A=0x90;
volatile char *Timer3_TCCR3B=0x91;
volatile short *Timer3_TCCNT3=0x94;
volatile short *Timer3_OCRIA=0x98;
volatile char *Timer3_TIMSK3=0x71;
*Timer3_TCCR3A=0;
*Timer3_TCCR3B=0;
*Timer3_TCCNT3=0;
*Timer3_OCRIA=60000;
*Timer3_TCCR3B=0x0c;
*Timer3_TIMSK3=0x02;
}
ISR(TIMER3_COMPA_vect){
volatile char *outf=(volatile char*)0x31;
*outf= *outf ^ 0x01;
}
void loop() {
// put your main code here, to run repeatedly:
}