Gast
#6166271
Hallo Ich habe eine Frae zum setzen von Port PIC's (18F4550 mit XC8 Compiler). An sich habe ich einige Erfahrung, aber das hier will mir nicht in den Kopf. Es geht um die berüchtigten Funktionsunterschiede der LATA und PORTA Register. Im untenstehenden Code wird das PORTA Register bei der | Operation gelesen. Aber offenbar wird dort an Bitposition 1 ein low gelesen, obwohl ich den Port auf high gesetht habe.
1 | |
2 | |
3 | |
Ich weiss, die letzte Zeile ist ein praxisfremder Müll. Besser wäre LATA|= 0x01; Aber ich will einfach verstehen, was da passiert. Ist es wirklich so, dass ein PORT-Bit immer als low gelesen wird, wenn der Tristate auf Ausgang geschaltet wird? Liest nicht das PORT-Bit den Aushgang zurück, der durch das LAT-Bit gesetzt wurde? LATA verursacht doch ein high am Pin, das vom Port als solches eingelesen werden müsste.