Když se nastaví PIN jako výstup, logická hodnota bude taková, jakou tam zadáš ty. Pokud bude PIN jako vstup, hodnota na pinu bude taková, jaká je daná zapojením. Ta se přenese do registru PORTu a s touho hodnotou pak pracuješ v programu. Pozor na PIN s otevřeným kolektorem - většinou nebo možná vždy ozn. RA4. Pokud zapíšeš do registru portu hodnotu (ať již movwf či jen nastavíš BIT pomocí BSF, BCF), tento zápis se provede tak, že se načte stávající hodnota registru, upraví se hodnota a zapíše se zpátky, což u pinu s otevřeným kolektorem má za následek shození do LOG.0. Trápil jsem se s tím dost dlouho, než jsem to pochopil a poté jsem se to i dočetl v datasheetu u PICu. To mi opět připomělo, jak důležité je číst pozorně datasheety

Takže pokud čidlo zkoušíš na tomto pinu a mezitím měníš hodnotu na jiném pinu,
může ti to způsobovat potíže.
