retepsnikrep
Senior Member
Which is faster and by how much?
I am assuming 5v devices not the 64mhz X2.
Thanks
Looking at a 28X1 at 20mhz but need 9600,8,E,1 any thoughts on initialising the 28X1 ASUART for 20mhz to work at 9600 baud.
I have been using an 18X with the asuart code at 8mhz but it's just not quite fast enough to keep up with reception. It does work so i'm reasonably happy with the code below.
Peter
I am assuming 5v devices not the 64mhz X2.
Thanks
Looking at a 28X1 at 20mhz but need 9600,8,E,1 any thoughts on initialising the 28X1 ASUART for 20mhz to work at 9600 baud.
I have been using an 18X with the asuart code at 8mhz but it's just not quite fast enough to keep up with reception. It does work so i'm reasonably happy with the code below.
Code:
`Constants
; Ports
SYMBOL Shadow_TRISB = $AE
; Registers PICAXE-18X / 16F88 SFR Definitions
SYMBOL PIR1 = $0C
SYMBOL RCSTA = $18
SYMBOL TXREG = $19
SYMBOL RCREG = $1A
SYMBOL TXSTA = $98
SYMBOL SPBRG = $99
; TXSTA Bit Masks
SYMBOL CSRC = %10000000
SYMBOL TX9 = %01000000
SYMBOL TXEN = %00100000
SYMBOL SYNC = %00010000
SYMBOL BRGH = %00000100
SYMBOL TRMT = %00000010
SYMBOL TX9D = %00000001
SYMBOL CSRC_BIT = bit15
SYMBOL TX9_BIT = bit14
SYMBOL TXEN_BIT = bit13
SYMBOL SYNC_BIT = bit12
SYMBOL BRGH_BIT = bit10
SYMBOL TRMT_BIT = bit9
SYMBOL TX9D_BIT = bit8
; RCSTA Bit Masks
SYMBOL SPEN = %10000000
SYMBOL RX9 = %01000000
SYMBOL SREN = %00100000
SYMBOL CREN = %00010000
SYMBOL ADDEN = %00001000
SYMBOL FERR = %00000100
SYMBOL OERR = %00000010
SYMBOL RX9D = %00000001
SYMBOL SPEN_BIT = bit15
SYMBOL RX9_BIT = bit14
SYMBOL SREN_BIT = bit13
SYMBOL CREN_BIT = bit12
SYMBOL ADDEN_BIT = bit11
SYMBOL FERR_BIT = bit10
SYMBOL OERR_BIT = bit9
SYMBOL RX9D_BIT = bit8
; PIR1 Bit Masks
SYMBOL ADIF = %01000000
SYMBOL RCIF = %00100000
SYMBOL TXIF = %00010000
SYMBOL SSPIF = %00001000
SYMBOL CCP1IF = %00000100
SYMBOL TMR2IF = %00000010
SYMBOL TMR1IF = %00000001
SYMBOL ADIF_BIT = bit14
SYMBOL RCIF_BIT = bit13
SYMBOL TXIF_BIT = bit12
SYMBOL SSPIF_BIT = bit11
SYMBOL CCP1IF_BIT = bit10
SYMBOL TMR2IF_BIT = bit9
SYMBOL TMR1IF_BIT = bit8
symbol SPBRG_INIT = 12 ;9600 baud @ 8MHz