TODOPIC
Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: madvilla en 18 de Febrero de 2013, 23:29:38
-
saludos..
mi pregunta es la siguente:
estoy programando 2 pic 877 en lenguaje basic pbp. en el primer pic estoy usando los 3 puertos b,c,y d
para unas lucecitas y el puerto rb0 como interrupcion , esta interrupcion la da un boton para detener las luces y dar un resultado
de cuantas luces quedan encendidas este codigo lo tengo funcionando bien cuando presiono el boton
y se detienen las luces ....el resultado de cuantas luces estan encendidas las visualizo al encender un led desde el pin ra.1 del mismo pic cuando termina el conteo de la cantidad envia un serout al otro pic pero este no recibe nada......
mi duda es la siguente vean el codigo en el termino de la funcion y enviando el serout al segundo pic.
mar:
serout porta.0,N2400,["a"] 'si es solo 1 luz encendida
pause 500
goto espe
jar:
serout porta.0,N2400,["b"] 'si solo son 5 luces encendidas
pause 500
goto espe
far:
serout porta.0,N2400,["c"] 'si solo son 10 luces encendidas
pause 500
goto espe
espe:
serin porte.0,N2400,datos 'DATOS ESTA DECLARADA COMO VARIABLE DE WORD
pause 500
if datos = "z" then REINICIA
goto espe
EL SEGUNDO PIC ESTA ESPERANDO EL SEROUT PARA COMENZAR A LEER EL DATO
Y VISUALIZAR EL RESULTADO EN UN DISPLAY DE 2 DIGITOS
Y ES EL SIGUENTE:
partida:
serin porte.0,N2400,datos 'DATOS ESTA DECLARADA COMO VARIABLE DE WORD
pause 500
if datos = "a" then ledo ' SOLO ES 1 ENCENDIDO
if datos = "b" then pedo ' SOLO SON 5 ENCENDIDOS
if datos = "c" then kedo ' SOLO SON 10 ENCENDIDOS
GOTO PARTIDA
estoy usando un cable de timbre de 10 cm para la comunicacion entre un pic y otro en protoboard
no se que esta mal porfavor ayuda
-
hola amigo madvilla concetaste bien lo que es tx-rx y rx-tx de maestro a esclavo por asi desirlo y tambien conectaste la masa o tierra en comun
otra cosa creo que el serin tendra que ser asi
serin porte.0,N2400,datos,datos1,datos2
ya que mandaras 3 datos por el puerto serial por sofware tambien prueva bajando los tiempo de envio no de recepcion ya que pusiste medio segundo tal vez los datos se pierden por estar en ese preciso momento en el tiempo ese
tal vez en mi opinion te combendra utilizar la interrupcion por recepcion de datos en el pic que recibe la informacion
saludos