Hallo,
ich bekomme es einfach nicht hin mit den Timern und nun Suche ich bei euch Hilfe
Ich habe versucht mit Hilfe des AVR-GCC Tut von Mikrocontroller.net einen Timer zum laufen zu bekommen, nur leider mache ich scheinbar irgendetwas falsch.
Mit C kenne ich mich leider nicht so richtig aus, den ich programmiere meine kleinen PC-Progrämmchen mit Delphi (also Pascal). Meine ATMega möchte ich in C programmieren, da es da mir das sehr verbreitet scheint.
Mein Testobjekt ist ein ATMega16 und mein Versuch sieht wie folgt aus:
Timer Aktivieren:
Versuch einen Ausgang zum blinken zu bewegen:Code:void init_timer() { TCCR0 = (1<<CS00) | (0<<CS01) | (1<<CS02); }
Bin wie gesagt noch etwas auf Kriegsfuß mit C, daher bitte nicht über den Code wundern. Der ist mit sicherheit alles andere als Professionell und scheinbar ja auch falschCode:#include <avr/io.h> #include "inttypes.h" int main() { int32_t Zaehler = 0; init_digital(); //Ports als Ausgänge schalten init_timer(); //Timer Aktivieren while(1) { if (TCNT0 == 100) { Zaehler++; PORTB = (0<<PB2); } if (Zaehler == 1020) { Zaehler = 0; PORTB = (0<<PB2); } if (Zaehler == 250) { PORTB = (0<<PB0); } if (Zaehler == 1000) { PORTB = (1<<PB0); } } //while } //main
Könnt Ihr mir evt. sagen was ich da für einen Denkfehler mache?
Danke schon einmal vorab







Zitieren

Lesezeichen