Hallo an alle, ich bin Anfänger und versuche mit dem Atmega8 ein Signal einzulesen und auf dem UART auszugeben. Das Signal ist gleich dem RC5-Code, nur das bei mir die Bits alle 100µs wechseln. Mein Signal ist kürzer es hat nur 10 Bit. Ich habe mein Programm an das RC5-Beispiel hier aus dem Forum angelehnt. Seit einer Woche probiere ich jetzt rum und habe mich hier durch das Forum gelesen, aber ich finde keinen Fehler. Es kommt außer meiner Kopfzeile nichts am PC an. Ich verwende einen Atmega8 mit Minimalbeschaltung, interner Takt 8MHz, das Signal kommt von einem 74HC00 an Pin 4(PD2/Int0). Könnt ihr mir helfen mein Problem zu lösen. Vielen Dank Olli
1 | ISR(TIMER0_OVF_vect) |
2 | {
|
3 | unsigned int Tmp = PulsTmp; |
4 | TCNT0 = -2; //Z�hlerstartwert 0 |
5 | ...
|
6 | |
7 | TCCR0 = (1<<CS01); //Prescaler 8 |
Du willst alle 16 Takte einen Overflow-Interrupt haben? Keine Chance.
@Stefan Ich wollte eigentlich 16-mal während einer Bitzeit prüfen ob es Änderungen am Eingangspin gibt. Bin ich zu langsam mit dem Prescaler ? Olli
Olli schrieb: > Ich wollte eigentlich 16-mal während einer Bitzeit prüfen ob es > Änderungen am Eingangspin gibt. Das wäre dann aber ein Interrupt alle 50 Takte (nicht 16). Auch das könnte knapp werden, so rein vom Gefühl her, denn du hast ja doch etwas Code in der ISR (mit diverser 16 Bit Arithmetik).
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.