Hallo, Ich wollte mit einer Schleife den Interrupt ASC0 Receive auslösen, allerdings klappt es nicht so wie ich es gerne wollte? Muß ich nicht einfach den Enable flag (receive bit) auf eins setzen und die Interrupt routine wird dan ausgelöst?? . . S0RIE = 1;?? IEN = 1; . . Danke
Mit diesen Einstellungen hast du den Interrupt enabled. Es ist also möglich dass die Schnittstelle ein Interrupt auslöst. Um den Interrupt auch tatsächlich anzufordern muss das Request-Bit gesetzt sein (S0RIR). Dies sollte auch von der Hardware gesetzt werden wenn du etwas empfangen hast.
Das heißt, das man am besten etwas in den S0RBUF schreiben sollte und dann den den Interrupt wie oben enable`n. S0RBUF = 'a'; S0RIE=1; IEN =1;
Das S0RBUF ist read only! Wenn du das Request-Bit setzt solltest du erkennen können das der µC den Empfangs-Interrupt auslöst. In das S0RBUF bekommst du die Daten nur über die externe Schnittstelle rein (was auch der Sinn der Schnittstelle ist)
ich wollte durch einen String z.B. offset[] = {"*1,asdfghj"}; eine Eingabe(*1,asdfghj) durch die erste Serielle schnittstelle simulieren um zu gucken wie sich die Ausgabe an meiner zweiten seriellen(UART) verhält. Und da die erste serille bei mir Interrupt gesteuert ist, will ich den interruppt manuel bzw in einer schleife 256mal, die im main() implementiert ist, auslösen. Ist das Überhaubt möglich??
Sende doch deinen String von einem PC an den µC. Dann siehst du ob es richtig läuft. Und um den Interrupt zu testen kannst du da ja eine LED toggeln -> die müsste blinken wenn du Daten empfängst.
hab ich ja schon, benutze das Hyperterminal um zu senden und zu empfangen es klappt auch, nur der Empfänger den ich an der zweiten sitzt will das aus irgend einem Grund nicht akzeptieren, wollte deshalb den string den ich schicken will 256mal den Empfänger schicken, um zu gucken ob er irgend wann, den String akzeptiert, bzw. was er mir antwortet.
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.