Die Definition eines Ports als Ausgang erfolgt implizit, nämlich durch Ausgabe eines Wertes und muß zur Umwandlung in einen Eingang explizit zurückgenommen werden.
Der Tog Befehl übernimmt, wie sich zeigt, nicht das implizite Setzen als Ausgang.
Ich wollte schnell noch sagen was das auf deutsch heißt:
mit
define x Port [1]
gibt man dem Port einen Namen, man sagt aber nicht, daß es ein Ausgang sein soll, also bleibt er wie nach reset ein Eingang.
Erst mit dem Befehl
x = on
gibt man dem Port einen Wert den er ausgeben soll. Daß es ein Ausgang sein soll hat man also nie direkt (explizit) gesagt, er versteht es aber trotzdem, denn wie soll er sonst on ausgeben, wenn er kein Ausagang ist, also wurde er (implizit) auf Ausgang gesetzt.
Soll er wieder zum Eingang werden, dann geht das mit
deact x
dieser Befehl muß explizit gegeben werden, denn ein lesen ist auch bei einem Ausgangsport möglich und der Befehl
a = x
schaltet den Port nicht auf Eingang zurück.
Toggle heißt, daß der Ausgang gelesen werden soll und das Gegenteil des Wertes anschließend geschrieben, man wird deshalb annehmen, daß Toggle auch, ohne es direkt zu sagen (also implizit) den Port zum Ausgang macht.
Macht er aber wohl nicht und da liegt dann das Problem, eine Ausnahme die man beim Programmieren beachten sollte. Das wußte ich vorher auch nicht.
Manfred
Lesezeichen