Hi, try a direct connection (porta to porta) with following. And of course don't forget to connect the Transmitter board GND with the Receiver board GND.
Receiver
TransmitterCode:@ __CONFIG _HS_OSC & _LVP_OFF define OSC 20 DEFINE LCD_DREG PORTC 'LCD data port DEFINE LCD_DBIT 0 'LCD data starting bit 0 or 4 DEFINE LCD_RSREG PORTB 'LCD register select port DEFINE LCD_RSBIT 7 'LCD register select bit DEFINE LCD_EREG PORTB 'LCD enable port DEFINE LCD_EBIT 5 'LCD enable bit DEFINE LCD_RWREG PORTB 'LCD read/write port DEFINE LCD_RWBIT 6 'LCD read/write bit DEFINE LCD_BITS 8 'LCD bus size 4 or 8 DEFINE LCD_LINES 2 'Number lines on LCD DEFINE LCD_COMMANDUS 2000 'Command delay time in us DEFINE LCD_DATAUS 50 'Data delay time in us TRISC = %00000000 'Set port B as output TRISB = %00000000 'Set port D as output low PORTB.6 'Set the R/W bit to low pause 1000 'wait until the LCD initializes INCLUDE "modedefs.bas" Counter VAR BYTE ReciverPIN VAR PORTA.0 ADCON1 = 7 ' Alla digitala PAUSE 500 Main: SERIN ReciverPIN,T2400,[9],Counter GOSUB LCD GOTO Main LCD: LCDOUT $FE,1 LCDOUT $FE,$80,#Counter PAUSE 500 RETURN END
If you want to switch to the inverted mode, you just need to change T2400 to N2400, and the HIGH TransmitterPIN to LOW TransmitterPIN.Code:@ __CONFIG _HS_OSC & _LVP_OFF DEFINE OSC 20 ADCON1=7 ;CMCON = 7 'Alla I/O Digitala LEDPin VAR PORTB.4 TransmitterPIN VAR PORTA.0 INCLUDE "modedefs.bas" Counter VAR BYTE Synk VAR BYTE Synk = $55 DEFINE CHAR_PACING 500 Counter = 0 HIGH TransmitterPin pause 200 Main: HIGH LEDPin PAUSE 100 LOW LEDPin PAUSE 100 SEROUT TransmitterPIN,T2400,[Synk,Synk,9,Counter] HIGH LEDPin PAUSE 100 LOW LEDPin PAUSE 100 Counter = Counter + 1 PAUSE 600 GOTO Main END
Work just fine here.
Unfortunately your picture don't help... it's a bit fuzzy







Bookmarks