Osaisko kukaan neuvoa miksi ao. ohjelma ei toimi kuin PORTA 3 ja 5 pinneistä?
0,1,2 ja 4 pinneistä ei tapahdu mitään.(tuloista)
Mikä Penttiperusvirhe tässä on?
#include
__config (_INTRC_OSC_NOCLKOUT & _WDT_OFF & _PWRTE_OFF & _MCLRE_OFF & _CP_OFF & _IESO_OFF & _FCMEN_OFF)
org 0
GOTO Alku
Alku
bsf STATUS,RP0
movlw b'111111'
movwf TRISA
movlw b'00000000'
movwf TRISC
bcf STATUS,RP0
movlw b'00000000'
movwf PORTC
Valot
btfss PORTA,_???????
GOTO valot1
GOTO valot2
valot1 movlw b'00000011'
movwf PORTC
GOTO Valot
valot2 movlw b'00001100'
movwf PORTC
GOTO Valot
end
0,1,2 ja 4 pinneistä ei tapahdu mitään.(tuloista)
Mikä Penttiperusvirhe tässä on?
#include
__config (_INTRC_OSC_NOCLKOUT & _WDT_OFF & _PWRTE_OFF & _MCLRE_OFF & _CP_OFF & _IESO_OFF & _FCMEN_OFF)
org 0
GOTO Alku
Alku
bsf STATUS,RP0
movlw b'111111'
movwf TRISA
movlw b'00000000'
movwf TRISC
bcf STATUS,RP0
movlw b'00000000'
movwf PORTC
Valot
btfss PORTA,_???????
GOTO valot1
GOTO valot2
valot1 movlw b'00000011'
movwf PORTC
GOTO Valot
valot2 movlw b'00001100'
movwf PORTC
GOTO Valot
end
Vastaukset 4
Vanhimmat
Portit on analogisina tuloina oletuksena käynnistettäessä. ANSEL-rekisterillä saa valittua 0=analoginen/1=digitaalinen tulo.
Pinneissä 3 ja 5 ei ole analogisia juttuja, ne on aina digitaalisia.
Pitää testata, kunhan tulee taas vapaata.
Puoli päivää jo asiaa ihmettelin, mutta en älynnyt syytä.
vielä valaista kuinka saisin esim. porta:n joka toisen tulon ylösvedetyksi..??
Laita niihin ylösvetovastukset. Sisäänrakennettuina sellaiset löytyy PICeistä muistaakseni yleensä vain B-portissa.