Works ok for me if BArray has something printable placed in it
perhaps u wired it up incorrectly
Works ok for me if BArray has something printable placed in it
perhaps u wired it up incorrectly
Warning I'm not a teacher
thanks to everyone involved to help me on this project.
I tried about every way to setup the HSerin1,2
still not working.
I'm realy suprise since these HSerin command are part of PBP3 for at least 15 years
and today in 2025 cannot find any reliable sample codes.
even the PBP3 examples does not work at all for my setup.
I had 1 rs232/ttl scanner bad (intermitent power on the rs232 rail)
connected another one and the only easy way to make work it's
with the code below.
Code:MAIN: '-------------------------------------------- serin2 PORTB.0,84,50,MAIN,[STR AARRAY\12] serOut2 PORTB.1,84, [str aarray\12,13,10] serOut2 PORTB.1,84, ["Done!",13,10] '-------------------------------------------- GoTo MAIN
Last edited by jackberg1; - 19th January 2025 at 23:02.
works as expected
only slight change was to move serout to portb.7 to suit my pickit2 debug uart tool and put something printable
into BArray
what doesn't work are code snippets and failure to provide connection details [ schematic]Code:'-------------------------------------------------------------------------' Name : Hserin Test (18F25K22) ' Serout Baud rate: 188:4800,84:9600,49:14400,32:19200,15:28800,6:38400 'ok ' Serout : p296,297 ' 9600 Open Inverted None 49236 ' HSERIN [WAIT("!"), STR MyArray\200, STR MyArray(200)\200, _ ' STR MyArray(400)\200, STR MyArray(600)\100] ' '------------------------------------------------------------------------- Include "modedefs.bas" ' Include serial modes ;----[18F25K22 Hardware Configuration]------------------------------------------ #CONFIG CONFIG FOSC = INTIO67 CONFIG PLLCFG = On CONFIG WDTEN = Off CONFIG MCLRE = INTMCLR CONFIG LVP = Off #ENDCONFIG ANSELA = 0 ; All Digital ANSELB = 0 ANSELC = 0 DEFINE OSC 64 TRISA = % 11111111 '1:IN, 0:OUT TRISB = % 11111111 TRISC = % 11111111 OSCCON = $70 OSCTUNE = $40 ' Set receive register to receiver enabled DEFINE HSER_RCSTA 90h DEFINE HSER2_RCSTA 90h ' Set transmit register to transmitter enabled DEFINE HSER_TXSTA 20h DEFINE HSER2_TXSTA 20h ' Set baud rate DEFINE HSER_BAUD 9600 DEFINE HSER2_BAUD 9600 DEFINE HSER_CLROERR 1 AArray VAR BYTE[12] BArray VAR BYTE[12] ARRAYWRITE BARRAY,["GOT IT",0] ' code to scan sample : 0 59749 96859 1 MAIN: HSERIN [wait ("0"), str AArray\12] serOut2 PORTB.7,84, [str BArray,13,10] GoTo MAIN
and even a description of what happens versus what you expect to happen
![]()
Last edited by richard; - 20th January 2025 at 00:56.
Warning I'm not a teacher
more useful would be
Code:'-------------------------------------------------------------------------' Name : Hserin Test (18F25K22) ' Serout Baud rate: 188:4800,84:9600,49:14400,32:19200,15:28800,6:38400 'ok ' Serout : p296,297 ' 9600 Open Inverted None 49236 ' HSERIN [WAIT("!"), STR MyArray\200, STR MyArray(200)\200, _ ' STR MyArray(400)\200, STR MyArray(600)\100] ' '------------------------------------------------------------------------- Include "modedefs.bas" ' Include serial modes ;----[18F25K22 Hardware Configuration]------------------------------------------ #CONFIG CONFIG FOSC = INTIO67 CONFIG PLLCFG = On CONFIG WDTEN = Off CONFIG MCLRE = INTMCLR CONFIG LVP = Off #ENDCONFIG ANSELA = 0 ; All Digital ANSELB = 0 ANSELC = 0 DEFINE OSC 64 TRISA = % 11111111 '1:IN, 0:OUT TRISB = % 11111111 TRISC = % 11111111 OSCCON = $70 OSCTUNE = $40 ' Set receive register to receiver enabled DEFINE HSER_RCSTA 90h DEFINE HSER2_RCSTA 90h ' Set transmit register to transmitter enabled DEFINE HSER_TXSTA 20h DEFINE HSER2_TXSTA 20h ' Set baud rate DEFINE HSER_BAUD 9600 DEFINE HSER2_BAUD 9600 DEFINE HSER_CLROERR 1 AArray VAR BYTE[12] BArray VAR BYTE[12] ARRAYWRITE BARRAY,["GOT IT",0] ' code to scan sample : 0 59749 96859 1 MAIN: HSERIN [wait ("0"), str AArray\12] serOut2 PORTB.7,84, [str BArray,13,10] hserout ["got", str AArray\12 ,13,10] GoTo MAIN![]()
Warning I'm not a teacher
Hello everyone, and thank to all for helping me
this case is solved!
1st
the GM65 scanner Tx/Rx line are at 3.3v not at standard 5V TTL logic, so I add a BSS138 between the Tx and the Rx (HSerin) of the PIC
2nd
I like to thank also BrianS (HSERIN issue with a 18F452 and IF THEN statements or Case statements)
while reading about his case I took part of the HSerin setup and added to my program, first try work just fine on HSerin/HSerin2.
Code:'------------------------------------------------------------------------- ' Name : Hserin Test (18F25K22) '------------------------------------------------------------------------- Include "modedefs.bas" ' Include serial modes ;----[18F25K22 Hardware Configuration]------------------------------------------ #CONFIG CONFIG FOSC = INTIO67 CONFIG PLLCFG = ON CONFIG WDTEN = Off CONFIG MCLRE = INTMCLR CONFIG LVP = Off #ENDCONFIG '------------------------- DEFINE HSER_CLROERR 1 DEFINE HSER_BAUD 9600 RCSTA = $90 TXSTA = $20 DEFINE HSER2_CLROERR 1 DEFINE HSER2_BAUD 9600 RCSTA2 = $90 TXSTA2 = $20 '------------------------- ANSELA = 0 ; All Digital ANSELB = 0 ANSELC = 0 DEFINE OSC 64 TRISA = 111101 '1:IN, 0:OUT TRISB = 000001 TRISC = 111101 OSCCON = $70 OSCTUNE = $40 AArray VAR BYTE[12] ' code to scan sample : 0 59749 96859 1 MAIN: HSERIN 50,MAIN,[STR AARRAY\12] 'HSERIN2 50,MAIN,[STR AARRAY\12] ' -------------------------------------------- serOut2 PORTB.1,84, [str aarray\12,13,10] ' -------------------------------------------- GoTo MAIN
Bookmarks