|
суть - пин установленный как выход, на который выставлена 1 читается как 0, хотя вроде компаратор и АЦП я отключил и все ноги используются как digital I/O
кусок проги, в которой на это натолкнулся:
===========================
clrf GPIO
movlw b'001100' ; установка входа-выхода
_page1
movwf TRISIO
movlw b'10001010'
movwf OPTION ; установка OPTION REGISTER
_page0
movlw 3 ; отключаю компаратор
movwf CMCON
clrf ADCON0 ; отключаю АЦП
_page1
clrf ANSEL
_page0
main: ; основной цикл
clrwdt
bcf GPIO,4 ; просто обозначаю начало цикла дергая ногу
btfss GPIO,2 ; на GP1 повторяю то, что появляется на GP2
bcf GPIO,1
btfsc GPIO,2
bsf GPIO,1
bsf GPIO,4 ; дергаю ногу в конце цикла
nop
goto main
=======================
при выполнении, по команде bsf GPIO,4 сбрасывается так же и GP1, если он был установлен (на GP2 подана 1). Это у меня в чем то ошибка или это фича PIC12F675 ?
Спасибо.
E-mail: info@telesys.ru