Kann der zuletzt ausgegebene Wert eines Ports wieder eingelesen werden? Soweit ich mitbekommen habe, hat der Rechner ja keine einstellbare Betriebsrichtung des Ports, sprich, Lesen ist direktes Lesen.
Wenn man den Ausgang von aussen auf Masse zieht, und vom Programm her eine 1 schreibt, wird beim Zurücklesen eine 0 gelesen.
Ich frage nämlich, weil ich einen Pin togglen möchte, aber das geht dann wohl nur, wenn ich noch ein Register benutze, wo das ausgegebene Byte drinsteht. Merkwürdigerweise hat es aber gestern im Simulator trotzdem funktioniert..
>Ich frage nämlich, weil ich einen Pin togglen möchte
Dazu mußt Du doch nicht zurücklesen.
>Ich frage nämlich, weil ich einen Pin togglen möchte
wieso? die Ports kann man direkt ansprechen, sogar bitweise.
z.B. CPL P3.1 togelt den Pin 1 an Port 3...
Pin toggle gehört zu den read-modify-write Befehlen, liest also das Ausgangsregister und ändert es. Peter
Kannst Du mir zufällig sagen, wie ich der Keil-Umgebung den Watchdog für den Controller deaktivieren kann? In den Debug-Options für das Target läßt sich ein Ini-File angeben, aber ich habe diese Datei nicht, und weiß auch nicht, was da drin stehen sollte.
Hi, also in Assembler: Einlesebefehle lesen den Portpin: Mov,ziel,port ;ziel ist A, register0-7, interne Ram adresse ADD A,port ANL A, port jnb portpin,rel.adr Hingegen Änderungsbefehle lesen den Ausgangsspeicher zurück: anl port,operand2 orl port,operand2 xrl port,opernad2 inc port dec port djnz port,rel.adr mov portpin,c clr portpin setbit portpin CPL portpin <------------ dein toggle jbc portpin,rel Gruß Andi
hier der inhalt der sagenumwobenen initialisierungsdatei zum ausschalten des watchdog PE_SWD = 0 /* Disable Watchdog with pin PE_SWD */ reset /* perform CPU reset: uses value at PE_SWD */
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.