Hello,
My program reads a string of ASCII characters via a serial port, such as 07DC. This represents the decimal year (2012).
How do I get the decimal equivalent of 07DC? What i get is decimal 236 on the LCD.
Thanks,
John
Code:
INCLUDE "BS1DEFS.BAS"
DEFINE HSER_CLROERR 1 'USART CLEAR OVERFLOW ERROR
DEFINE HSER_TXSTA 24H 'SET USART TX STAUS REG
DEFINE HSER_RCSTA 90H 'SET USART RC STAUS REG
DEFINE HSER_BAUD 9600 'SET USART BAUD RATE
define HSER_SPBRG 25 'SET PIC OSC FOR 9600 BAUD
PRITIM var BYTE (16) 'ALLOCATE 16 BYTES FOR USART RX DATA
YEAR VAR WORD
LCDOUT $FE,1 'CLEAR DISPLAY
'----------------------------------------------------------------
MAIN:
GOSUB LCDMAIN
'--------------------------------------------------
LCDMAIN:
HSEROUT [16,142,171,2,16,3] 'TRANSMIT CMD 8EAB STATUS PACKET
HSERIN [WAIT (56,70,65,66),STR PRITIM\16] 'WAIT FOR 8FAB - STORE PRI/TIM PACKET
YEAR = PRITIM [0] + PRITIM [1] + PRITIM [2] + PRITIM [3]
LCDOUT $FE,1 'CLEAR DISPLAY
LCDOUT DEC YEAR
RETURN
Bookmarks