Quote Originally Posted by mackrackit View Post
Re-read post 4 and 9 ???
Hi, I have arranged my hardware accordingly to use USART, trying to understand and blink an LED first.
My Rx code is :
Code:
DEFINE OSC 4
Include "modedefs.bas"
INCLUDE "DT_INTS-14.bas"     ; Base Interrupt System
INCLUDE "ReEnterPBP.bas"     ; Include if using PBP interrupts
 
@ __Config _XT_OSC & _WDT_ON & _PWRTE_ON & _BODEN_ON & _LVP_OFF & _CP_ALL & _CPD_ON
 
Pause 50
'-------variables declared-------------------------------------

code1 var byte
code2 var byte
a var bit
b var bit
c var bit
d var bit
e var bit
f var bit
g var bit
h var bit
a=0 : b=0 : c=0 : d=0 : e=0 : f=0 : g=0 : h=0
'-------------------------FUSES SET----------------------------
PAUSE 50
ADCON1=7
CMCON=7
CCP1CON=0
OPTION_REG=%10000000
TRISA=0 : PORTA=0
TRISE=0 : PORTE=0
TRISB=0 : PORTB=0
TRISC=%10000000 : PORTC=0
TRISD=0 : PORTD=0
@ ERRORLEVEL -306

;-----------HSERIN & OUT------------------
DEFINE HSER_RCSTA 90h ' Enable serial port & continuous receive
DEFINE HSER_TXSTA 20h ' Enable transmit, BRGH = 0
DEFINE HSER_SPBRG 12  ' 4800 Baud @ 0.17%
DEFINE HSER_CLROERR 1 ' Clear overflow automatically

RCSTA = $90 ' Enable serial port & continuous receive
TXSTA = $20 ' Enable transmit, BRGH = 0
SPBRG = 12  ' 4800 Baud @ 0.17%

'------INTERRUPT DECLARED--------------------------------------------------------------
ASM
INT_LIST  macro    ; IntSource,        Label,  Type, ResetFlag?
       INT_Handler    TMR1_INT,  _ToggleFast,   PBP,  yes
       INT_Handler    RX_INT,  _RX,   PBP,  yes	   
   endm
  INT_CREATE               ; Creates the interrupt processor
ENDASM
T1CON=%00110001
 
@   INT_ENABLE   TMR1_INT
@   INT_ENABLE   RX_INT

;------MAIN PROGRAM START-----------
start:
	HIGH PORTB.7
	PAUSE 50
	LOW PORTB.7
	PAUSE 100
Goto start


'---[INT - interrupt handler]---------------------------------
ToggleFast:
	Toggle PortB.6
@ INT_RETURN


RX:
		TOGGLE PortB.5
		HSERIN 100,close,[WAIT("MT3"),code1,code2]
	close:

@ INT_RETURN

'---------end--------------------
Nothing is comming from Tx currently because I wanted to see first if both interrupts are working fine.
This is what happens:
LEDs are connected to PortB.7,6 & 5. When power is applied, PortB.7 blinks, PortB.6 blinks but when PortB.5 blinks, normally PIC hangs for few seconds and then normal erratic behaviour happens because of the interrupts, then again PIC hangs for few seconds.
My TX module connected to PIN25 is also getting very hot, even though I am not using it in the above code. Is this overall behaviour normal, I am using this feature for the first time, am I doing it right?