Hola tengo un pequeño problema, pase un programa de PBP a Proton y no logro que me funcione el Serin.
Basicamente la linea de codigo que use para recibir es la siguiente...
En PBP:
serin gpio.5,n1200,10000,alarma,["12345"],b1
En Proton:
SerIn GPIO.5 ,N1200 , 10000 , alarma,[Wait("12345") , b1]
Lo que hace el programa es esperar 10 segundos por el codigo "12345" si lo recibe guarda el siguiente byte en "b1" y si no lo recibe en 10 segundos se activa la alarma.
El dato que envio es "H", si programo el pic con el programa en PBP anda bien, pero programo el que hago en Proton y no anda :S.
Basicamente la linea de codigo que use para recibir es la siguiente...
En PBP:
serin gpio.5,n1200,10000,alarma,["12345"],b1
En Proton:
SerIn GPIO.5 ,N1200 , 10000 , alarma,[Wait("12345") , b1]
Lo que hace el programa es esperar 10 segundos por el codigo "12345" si lo recibe guarda el siguiente byte en "b1" y si no lo recibe en 10 segundos se activa la alarma.
El dato que envio es "H", si programo el pic con el programa en PBP anda bien, pero programo el que hago en Proton y no anda :S.
Device 12F683
Xtal = 4
All_Digital=True ' Coloca todo los pines como digitales (PBP alldigital)
Include "MODEDEFS.BAS"
TRISIO = %00100001 ;Pongo todo como salida menos gpio.0 ygpio.5
ANSEL = %00000000 ; Todas entradas digitales
CMCON0 = 7 ; Analog comparators off
GPIO = 0
;################################# RECEPTOR ##################################
b1 var Byte
inicio:
;puerto,velocidad,si pasan 10segundos..,va a "alarma,[Clave para aceptar datos], guarda datos en b1
SerIn GPIO.5 ,N1200 , 10000 , alarma,[Wait("12345") , b1]
If b1 = "H" Then ;Si recibe una "H" esta todo bien
Low GPIO.1 ;Apaga GPIO.1
SerOut GPIO.0,N2400,[13,10,"Llego","-Bien"]
GoTo inicio
Else
GoTo inicio
EndIf
alarma:
High GPIO.1 ;Prende GPIO.1
SerOut GPIO.0,N2400,[13,10,"ALARMA"," ALARMA"]
DelayMS 200
GoTo inicio
Última edición: