Hola estoy realizando un proyecto en el cual necesito leer el estado de un pin y necesito ir concatenando estos valores hasta formar un byte completo para su posterior procesamiento, para ello utilizo el siguiente codigo:
PinRX var PORTB.1
n var byte
f var byte
Temp1 var byte
Temp2 var byte
clear
TRISB=%00100010 ' RB1 como entrada
TRISD.0=1
temp1=%11111111
LeerDatos:
if pinrx=0 then
goto bucle
endif
goto leerdatos
bucle:
pauseus 400
for n=0 to 7
temp1.0=PINrx
temp1=temp1<<1
pauseus 825
next n
el problema es que el primer bit que entra se coloca en temp1.0 y no se como desplazarle, los demas si que van desplazandose correctamente pero ocupando la posicion siguiente a la que le corres`ponderia, no se si me explico bien el ejemplo seria este:
necesito obtener el byte 12345678 pero obtengo 23456781 y por mas pruebas que hago no veo como solucionarlo.
Saludos