Hallo Leute ich möchte einen Ausgang eines Atmegas per Bascom weder auf 0 noch auf 1 schalten, sondern auf den Tristate Zustand. Kann man das mit Bascom realisieren? Wenn ich den Port nicht Konfiguriere, dann ist er ja offen. Kann ich diese Config auch wider während des Programms ändern? Also z.B. PortC.0 = 1 wait 1 PortC.0 = 0 wait 1 PortC.0 = ??? Tristate wait 1
Hallo! einfach den betreffenden Portpin auf Eingang (mit/ohne) Pullup.
Christian H-elec schrieb: > PortC.0 = 1 > wait 1 > PortC.0 = 0 > wait 1 > PortC.0 = ??? Tristate > wait 1 PortC.0 = 1 wait 1 PortC.0 = 0 wait 1 Config PortC.0 = Input ' = Tristate wait 1
Hallo Das scheint so nicht ganz zu stimmen. Der Port ist, wenn er einmal per Befehl Config konfiguriert wurde immer irgendwie definiert. Kann man diese Config nicht wieder löschen?
Christian H-elec schrieb: > Hallo > > Das scheint so nicht ganz zu stimmen. > Der Port ist, wenn er einmal per Befehl Config konfiguriert wurde immer > irgendwie definiert. > > Kann man diese Config nicht wieder löschen? vergiss das Config. Jeder Port auf dem AVR hat ein DDRx Register, über welches er auf Eingang oder Ausgang konfiguriert wird. Config macht auch nichts anderes, als dort die entsprechenden BIts zu setzen. Aber nichts und niemand hindert dich daran, selber in den DDRx Registern das einzustellen, was du willst. AVR-Tutorial AVR-GCC-Tutorial Ja, ich weiss. Keines dieser Tutorien ist für Bascom. Aber das macht nichts. Denn das Prinzip (und das ist das wichtige) ist überall das gleiche. lediglich die Schreibweise ist ein wenig anders. Kennst du das Prinzip ist der Rest ein Kinderspiel.
lurker schrieb: > Config PortC.0 = Input ' = Tristate lt. BASCOM-Hilfe müsste das "Config PinC.0 = Input" heißen. Gruß Dietrich
Christian H-elec schrieb: > Kann man diese Config nicht wieder löschen? Einfach irgendwo im Code wieder als Output konfigurieren. Das Kommando macht nichts anderes als das DDRx Register zu beschreiben. Du hast nicht geschrieben, wie so oft hier, welchen µC du nutzt. Vielleicht kommt dir das jtag-Interface auf Port C in die Quere. Rest vom Code ist auch unbekannt. Netiquette.
Danke für die Antworten. Atmega16 PortA (was auch gleichzeitig der ADC Port ist. Ich werde es nochmal versuchen. Danke
Dietrich L. schrieb: > lurker schrieb: >> Config PortC.0 = Input ' = Tristate > > lt. BASCOM-Hilfe müsste das "Config PinC.0 = Input" heißen. Beim Config auf Port bzw Pin geht beides und funktioniert beides bis mindestens Version 2.0.7. Bei Pegelabfrage auf Portpin ist die Unterschied sehr wichtig.
Beachte auch: Es macht einen Unterschied, ob auf dem Portpin der Pullup-Widerstand eingeschaltet ist. Nur weil du einen Portpin, der auf Ausgang mit dem Wert 1 gesetzt ist auf Eingang umschaltest, wird das entsprechende Bit im Port Register nicht gelöscht. Deine 1 vom vorhergehenden Ausgansgstatus wird so zur Aufforderung den Pullup an diesem Pin einzuschalten.
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.