Hallo, ich möchte einen Software UART auf einem Atmega16 realisieren, die später auf einen Attiny übertragen werden soll. Ich habe mich mit der AppNote304 von Atmel eingehend beschäftig und darauf basierend meine Software geschrieben. Sie soll nur empfangen, daher habe ich den Code nicht einfach nur kopiert. Die Routine ist Interrupt getriggert und das Bit-Sampling sollte in einer Schleife erfolgen (auskommentiert im Quelltext oben". Nun funktionierte dies irgendwie überhaupt nicht und ich habe die Abfrage in diskreten Schritten gemacht. Als Kontrolle wird jeweils der eingelesene Zustand auf einem anderen Pin wieder ausgegeben und das am Ende gesampelte Byte auf das lCD gegeben. Sende ich per PC (uC im STK500) ein Zeichen, so wird dies auch immer wieder richtig zurückgesendet, es folgt aber immer noch ein 0xFF. Das Zeichen im Display ist auch immer ein 0xFF. Bei einigen Zeichen (zum Beispiel 0xF0 oder 0x80) funktioniert es hingegen einwandfrei. Hat jemand eine Idee, woran das liegt? Gruß Christoph
So, Fehler gefunden: Im MCU Control Register muss der Interrupt anscheinen auch disabled werden. Ich dachte, es reicht GICR auf Null zu setzen, aber dem ist anscheinend nicht so.
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.