Zacząłem programować uC w Visual Studio Code. Zrobiłem to wg. tego poradnika: link . Wszystko dobrze działało i się kompilowało dopóki nie zacząłem programować przerwań. Napisałem taki kod:
#ifndef __AVR_ATmega8__
#define __AVR_ATmega8__
#endif
#define F_CPU 8000000UL
#include <avr/io.h>
#include <avr/interrupt.h>
volatile int timeCounter = 0;
ISR(TIMER0_OVF_vect)
{
//Timer overflow
timeCounter++;
}
ISR(EXT_INT0_vect)
{
//Timer stop
TCCR0 = (1 << CS00);
}
int main(void)
{
//Timer config
TCNT0 = 0;
TIMSK |= (1 << TOIE0);
//Interrupt on int0
MCUCR |= (1<<ISC01) | (1<<ISC00);
GICR |= (1<<INT0);
sei();
//Timer start
TCCR0 = (1 << CS00);
while(1);
}
Problem jest taki, że VS Code pokazuje mi:
- przy sei() "identyfikator "__asm__" jest niezdefiniowany"
- przy ISR() "oczekiwano znaku „{” "
Czego to może być przyczyna?