Die meisten Anwender programmieren in Basic weils schneller geht und übersichtlicher ist, daher gibt es kaum C-Beispiele. Aber Basic ist eigentlich recht übersichtlich, so das du es mit C-Kentnissen eigentlich leicht übersetzen kannst. Bei RN-Control wird der Timer 1 zur Motorsteuerung verwendet.
Gute Tips dazu findet man hier:
https://www.roboternetz.de/phpBB2/viewforum.php?f=34
https://www.roboternetz.de/phpBB2/dl...le&file_id=219
Hier Grundprinzip:
Code:#include <avr/io.h> /* Timer1 initialisieren */ void timer1_init(void); int main(void) { /* Timer1 initialisieren */ timer1_init(); OCR1AL = 0xff; OCR1BL = 0x7f; while (1) ; } /* Timer1 initialisieren */ void timer1_init(void) { /* normale 8-bit PWM aktivieren ( nicht invertiert ), Das Bit WGM10 wird im Datenblatt auch als PWM10 bezeichnet */ TCCR1A = (1<<COM1A1)|(1<<COM1B1)|(1<<WGM10); /* Einstellen der PWM-Frequenz auf 14 kHz ( Prescaler = 1 ) */ TCCR1B = (1<<CS10); /* Interrupts für Timer1 deaktivieren Achtung : Auch die Interrupts für die anderen Timer stehen in diesem Register */ TIMSK &= ~0x3c; }
Vielleicht kann ein C-Programmierer mal ein paar weitere Beispiele ins Wiki posten







Zitieren

Lesezeichen