Syntax:
stringvar = ByteToString(byte_variable) 'supports byte.
Command Availability:
Available on all microcontrollers.
Explanation:
The ByteToString function converts a number into a string. number can be any byte variable, or a fixed number constant between 0 and 255 inclusive. For Word numbers use WordToString(), for Long numbers use LongToString(), for Integer numbers use IntegerToString(), and for Single numbers use SingleToString().
The string variable stringvar contains the same number, represented as a string. The length of the string returned is 5 characters.
This function is especially useful if a number needs to be added to the end of a string, or if a custom data-sending routine
only supports the output of string variables.
This function does not support conversion of hexadecimal number strings.
Note: When calling ByteToString(), do not leave a space between the function name and the opening parenthesis — doing so produces a compiler error that is
not obvious to diagnose.
' use this -- no space between ByteToString and the opening parenthesis
ByteToString(number_variable)
' do not use this -- note the space before the parenthesis
ByteToString (number_variable)Example 1:
'Set chip model
#chip 16F1936
'Set up hardware serial connection
#define USART_BAUD_RATE 9600
#define USART_TX_BLOCKING
Dim SensorReading as Byte
'Take an A/D reading
SensorReading = ReadAD(AN0)
'Create a string variable
Dim OutVar As String
'Fill string with sensor reading
OutVar = ByteToString(SensorReading) ' <<< the ByteToString instruction
'Send
HSerPrint OutVar
HSerPrintCRLFKey line: OutVar = ByteToString(SensorReading) — converts the byte-sized ADC reading into a decimal string, ready to be transmitted over the serial connection with HSerPrint.
Example 2:
'''************************************************************************
''' PIC: 16F18855
''' Compiler: GCB
''' IDE: GCode
''' Board: Xpress Evaluation Board
''' Date: June 2021
' ----- Configuration
'Chip Settings.
#chip 16f18855,32
#Config CLRE_ON
#option Explicit
; ----- Define Hardware settings
'Set the PPS of the RS232 ports.
UNLOCKPPS
RC0PPS = 0x0010 'RC0->EUSART:TX;
RXPPS = 0x0011 'RC1->EUSART:RX;
LOCKPPS
; ----- Constants
#define USART_BAUD_RATE 19200
#define USART_TX_BLOCKING
; ----- Variables
dim bytevar as Byte
; ----- Main body of program commences here.
bytevar = 0xff
do
wait 100 ms
HSerPrint ByteToString( bytevar ) ' <<< the ByteToString instruction, using a hardware-PPS-configured USART
HSerPrintCRLF
wait 1 s
loop
endKey line: HSerPrint ByteToString( bytevar ) — converts bytevar (set to 0xff, i.e. 255) directly inline within the HSerPrint call, showing that the function’s result does not need to be stored in an intermediate variable before use.
See Also:

