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
Lesezeichen