danke für die schnelle Antwort, aber leider bringts nichts... ich bekomm im Terminal nur Nullen ausgegeben
danke für die schnelle Antwort, aber leider bringts nichts... ich bekomm im Terminal nur Nullen ausgegeben
Also ich war mal so frei und habe für dich ins Datenblatt des Mega32 geschaut:
COM00/COM01 heißen beim Timer1 für KanalA COM1A0 und COM1A1 und müssen gelöscht sein für keine Ansteuerung des OCR-Pins, entsprechendes gilt für CS00-02. WGM00/WGM01 heißen WGM10/WGM11 und weil der Timer1 mehr Modi hat braucht man für CTC (Mode4) zusätzlich noch WGM12/13. Außerdem besitzt der Timer1 zwei Controllregister, das Setup (ungetestet) wäre also etwa so:
Code:void initRC(void) { TCCR1A = (0 << WGM11) | (0<<< WGM10) | (0 << COM1A0) | (0 << COM1A1); // CTC-Mode4, ohne OCR-Pin TCCR1B = (0 << WGM13) | (1 << WGM12) | (0 << CS12) | (1 << CS11) | (0 << CS10); // CTC und prescaler /8 TIMSK |= (1 << OCIE1A); // Interrupt ein OCR1A = 20; // 100kHz? }
Bild hier
Atmel’s products are not intended, authorized, or warranted for use
as components in applications intended to support or sustain life!
Danke für die Mühe allerdings bekomm ich eine Fehlermeldung:
Z.40 ist die erst der Initialisierung:Code:RC.c:40: error: expected expression before '<' token
Code:TCCR1A = (0 << WGM11) | (0<<< WGM10) | (0 << COM1A0) | (0 << COM1A1);
Naja, da ist eben ein "<" zu viel...
ach dankeich hab immer nur am anfang geschaut
auch danke an Radbruch für die Mühe sich das Datenblatt extra anzusehen.... es funktioniert jetzt einwandfrei![]()
Entschuldigung. Trotz ordentlicher Formatierung ist mir das nicht aufgefallen. Naja, niemand ist perfekt. Schön, dass es nun funzt :)Naja, da ist eben ein "<" zu viel...
Das aktuelle funktionierende Programm würde mich noch interessieren...
Bild hier
Atmel’s products are not intended, authorized, or warranted for use
as components in applications intended to support or sustain life!
Lesezeichen