Jag har oscilloskop på PD4 och om jag lägger togglingen av pinnen direkt i while-loopen så togglas den, men om den ligger i "FastLoop" så togglas den inte. Att jag har två timers och två avbrott var för att felsöka ifall det var bara timer2(som jag tänkt använda) som inte fungerade.
Jag har även provat att inkludera <Arduino.h> men det hjälper inte.
Nån som ser nått uppenbart problem?
Kod: Markera allt
#include <avr/io.h>
#include <avr/interrupt.h>
#define fastloop 256
#define TestOut1 PD4 //D4
int FastLoopCounter = 0;
int main(void)
{
DDRD = (1 << TestOut1); //Set output pins
TCCR1B = (0 << CS12) | (1 << CS11) | (0 << CS10); //Prescale 8
TIMSK1 = (1 << TOIE1);
TCCR2B = (0 << CS22) | (0 << CS21) | (1 << CS20);
TIMSK2 = (1 << TOIE2);
sei();
while(1)
{
if(FastLoopCounter >= fastloop) //Timed loop 118Hz(236Hz)
{
PORTD = PORTD ^ (1 << TestOut1); //Toggle StepPin
FastLoopCounter = 0;
}
}
return 0;
}
ISR(TIMER1_OVF_vect)
{
FastLoopCounter++;
}
ISR(TIMER2_OVF_vect)
{
FastLoopCounter++;
}