Problema con Serin en PicBasic

#1
Hola a todos, resulta que tengo un problema que aun no doy con su solucion.

Estoy comunicando un pic 16f877a, con la compu, mediante un cable usb-serial, el codigo lo tengo en basic, y resulta que cuando envio un dato desde el microcode en el serial communicator, el pic no guarda el valor en la variable "dat".

Tengo el siguiente codigo:

Código:
DEFINE OSC 4    'OSCILADOR DE 4 MHZ
DEFINE ADCBITS 8 ' DEFINE LA CONVERSIÓN A/D A 10 BITS
DEFINE ADCSAMPLEUS 50 'TIEMPO DE MUETREO EN EL CONVERSOR A/D DE 50 MICRO SEGUNDOS

ADCON1=%00001110

TRISA=%000001      'DECLARAR RA0 COMO ENTRADA
TRISB=%00000000    'DECLARA PORTB COMO SALIDA ((PWM)
PULSO VAR PORTB.0 'ESTABLECE RB0 COMO SALIDA PARA PWM
POT1 VAR BYTE ' DECLARACIÓN DE UNA VARIABLE TIPO BYTE
ALTA VAR WORD 'TIEMPO DE ALTA
BAJA VAR WORD 'TIEMPO EN BAJA

pot1=0 'INICIALIZAR VARIABLES
 
ALTA=0
BAJA=0

PAUSEUS 500

PORTA.2=0

INICIO:

                       
ADCIN 0,POT1 ' CONVERSION ADC RA0



ALTA=POT1*(1800/255)        'CONVERSION DE ADC A MILISEGUNDOS

alta=(alta/10)+60                'OBTENCION DE TIEMPO EN ALTA
BAJA=(2140-ALTA)           'OBTENCION DE TIEMPO EN BAJA
baja=baja*10

PULSOUT PULSO, alta        'SE GENERA UN PULSO EN ALTA

PULSO=0                     'SE GENERA UN PULSO EN BAJA
PAUSEus baja

GOTO INICIO


End
resulta, que en SERIN, el valor que le mando desde Microcode, no lo gurda en la variable "dat" por lo tanto nunca pasa por los if, el valor de dat siempre es cero.

Espero puedan ayudarme.
 
Última edición por un moderador:
#2
te hace falta mas programa no veo el comando SERIN ni la transmisión baudios, no hay nada de esto en tu programa y si lo tiene en Proteus subelo que así es mejor ayudar
 
Arriba