Code:
INCLUDE "AllDigital.pbp"
DEFINE OSC 8 ' this was run on an 18F2525
OSCCON = %01110000
DEFINE HSER_RCSTA 90h ' Enable serial port & continuous receive
DEFINE HSER_TXSTA 24h ' Enable transmit, BRGH = 1
DEFINE HSER_CLROERR 1 ' Clear overflow automatically
DEFINE HSER_SPBRG 34 ' 57600 Baud @ 8MHz, -0.79%
SPBRGH = 0
BAUDCON.3 = 1 ' Enable 16 bit baudrate generator
ByteData var byte[32] BANK0
Arg VAR WORD EXT
ArgWd0 var word
ArgHi0 var byte
ArgLo0 var byte
ArgWd1 var word
ArgHi1 var byte
ArgLo1 var byte
@Arg = _ByteData
hserout["ArgTest",10,13]
start:
CounterB var byte
for CounterB = 0 to 31
ByteData[CounterB]= CounterB
next CounterB
hserout["Byte0= ",dec bytedata[0],", Byte1= ",dec bytedata[1],10,13]
ArgWd0 = Arg[0]
ArgHi0 = ArgWd0.highbyte
ArgLo0 = ArgWd0.lowbyte
hserout["Arg0 HiBtD= ",dec ArgHi0,10,13]
hserout["Arg0 LoBtD= ",dec ArgLo0,10,13]
hserout["Arg0 HiBtB= ",bin ArgHi0,10,13]
hserout["Arg0 LoBtB= ",bin ArgLo0,10,13]
hserout["Arg0 HiBtH= ",hex ArgHi0,10,13]
hserout["Arg0 LoBtH= ",hex ArgLo0,10,13]
hserout["Arg0= ",dec Arg[0],10,13]
hserout["Byte2= ",dec bytedata[2],", Byte3= ",dec bytedata[3],10,13]
hserout["Arg1= ",dec Arg[1],10,13]
ArgWd1 = Arg[1]
ArgHi1 = ArgWd1.highbyte
ArgLo1 = ArgWd1.lowbyte
hserout["Arg1 HiBtD= ",dec ArgHi1,10,13]
hserout["Arg1 LoBtD= ",dec ArgLo1,10,13]
hserout["Arg1 HiBtB= ",bin ArgHi1,10,13]
hserout["Arg1 LoBtB= ",bin ArgLo1,10,13]
hserout["Arg1 HiBtH= ",hex ArgHi1,10,13]
hserout["Arg1 LoBtH= ",hex ArgLo1,10,13]
hserout["Arg1= ",dec Arg[1],10,13]
end
The results were:
Bookmarks