Hello! I´m trying to send data from PIC12F675 to 16F877 via serout2.
The 12F675 is generating the sequence:
0,1,2,3,4,...,255
And the 16F877 is receiving:
128,129,130,131, ... , 157,158,159,128, 129,130,... Why?
12F675 code:
@ __config _INTRC_OSC_NOCLKOUT & _WDT_OFF & _MCLRE_OFF & _CP_OFF
DEFINE OSC 4
OPTION_REG.7 = 1 ' Disable pullups
TRISIO = 101001
CMCON = 7 ' Comparators OFF
ANSEL = 0 ' A/D OFF -- Port pins all digital
AL var byte
TEMP var gpio.0 ' 1
RELE1 var gpio.1 ' 0
RELE2 var gpio.2 ' 0
RES var gpio.3 ' 1
TX var gpio.4 ' 0
RX var gpio.5 ' 1
al =0
low RELE1
low RELE2
main:
low tx
serout2 TX,813,[AL]
AL=AL+1
pause 500
goto main
16F877 code:
DEFINE LCD_DREG PORTD
DEFINE LCD_DBIT 4
DEFINE LCD_RSREG PORTD
DEFINE LCD_RSBIT 2
DEFINE LCD_EREG PORTD
DEFINE LCD_EBIT 3
DEFINE LCD_BITS 4
DEFINE LCD_LINES 2
Define OSC 4
ADCON1 = 7
led var PORTC.0
trim var PORTA.1
rx var PORTB.5
B0 var byte
Main:
serIN2 RX,813,[B0]
LCDOUT $fe, 1,"b0 ", dec B0
LCDOUT $fe,$c0, bin (B0)
pause 100
GoTo Main
End
Bit 7 is always set to 1, Why?
Bookmarks