Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

serin timeout not working

Status
Not open for further replies.

eworld

New Member
Hi guys,
I am using picbasic pro and here is my code. I want to receive a data in a certain time(timeout). Is there any other way instead of using timeout in serin,because i heard that if the line is noisy it won't come out from the time out.


'****************************************************************
@ __config _INTRC_OSC_NOCLKOUT & _WDT_OFF & _MCLRE_OFF & _PWRTE_OFF & _BODEN_OFF


INCLUDE "modedefs.bas" ' Include serial modes
OPTION_REG=%10000000
TRISIO = %00000011
ANSEL=$00000010 'GP1= ANALOG THEOTHERS DIGITAL
' INTCON = $90 'PULL-UPS DISABLE AND,INT ACCEPTED (10010000)

Define Osc 4


DEFINE ADC_BITS 8 'DEFINE THAT WE ARE USING 8_BIT CONVERSION
DEFINE ADC_CLOCK 3 'DEFINE THAT A/D CLOCK SOURCE IS RC(ADCON0_7=1,ADCON0_6=1)


CHKSUM VAR BYTE
DESTINATION VAR BYTE
ORIGIN VAR BYTE
ORIG VAR BYTE
DEST VAR BYTE
DATIN VAR GPIO.0
DATOUT VAR GPIO.2
DATSHOW VAR GPIO.4
NODENUM VAR BYTE
DAT VAR BYTE
SAVE VAR BYTE
TEMP VAR BYTE


SYNCH CON "~" ' 01111110 synch byte
PREAMBLE con "A"
CHECKSUM CON "5"

'****************************************************
asm

bsf STATUS, RP0
call 3FFh
movwf OSCCAL
bcf STATUS, RP0
endasm
'*****************************************************
NODENUM=1
pause 500
MAIN:

IF GPIO.5=0 THEN MYINT
serin DATIN,N2400,100,MAIN,[PREAMBLE],DAT,ORIGIN,SAVE,CHKSUM
IF CHKSUM=5 THEN
goto loop
endif

MYINT:
ADCIN 1,TEMP
SEROUT DATOUT,N2400,["AAAAAAA","55555",SYNCH,PREAMBLE,32,NODENUM,#TEMP,5]
goto main
END

loop:

SEROUT DATSHOW,N2400,[SAVE ]
GOTO MAIN
 
Status
Not open for further replies.

Latest threads

Back
Top