Gast
#517539
Hallo leute ich versuche ein klein programm test zu schreiben. das
programm soll das 5. bit des Port D jede 70s Toggle in meinem Programm
fehlt wahrscheinlich jegen etwas. Bitte ich brauche Ihre Hilfe Leute.
Danke
#include <avr/io.h>
#include <stdint.h>
#include <avr/interrupt.h>
#include <avr/wdt.h>
#define isr(vector)
#define sleep
// Die Routine Function schaltet das 5.bit des Ports D jede 71 ms um.
ISR(TIMER1_COMPA_vect)
{
TIFR=0x10; /*Aufruf des Interrupt um das bit zu Toggle*/
TCNT1= 0x000; // Counter wieder auf null setzen um die
//Prozess zu wiederholen;
}
// Hauptprogramm: Innitialisierung der benötigten Registern und Aufruft
der //Routine Function
int main(void){
DDRD=0x0FFFF; //Daten Richtung zu Port D
PORTD=0x20; /*pin 5 des Ports D setzen*/
TCCR1B=0x4; //Prescaler = 256: signalstakt=clk/256
TCNT1=0x00; /*Counter auf null initialisieren*/
OCR1A=0x03EA; /*es wird bis zu 1000 dez. gezählt um 71
ms zu erreichen hier Prescaler = 256*/
sei();
TIFR=0x10; /*Aufruf des Interrupt um das bit zu Toggle*/
TIMSK=0x10; /*output Compare A Match Interrupt Enable*/
while(1)
{
}
}