-
Notifications
You must be signed in to change notification settings - Fork 8
str
Syntax:
stringvar = Str(number) 'supports decimal byte and word strings only.
'Use the following to support decimal long number strings.
stringvar = Str32(long number) 'supports decimal long number strings.
'Use the following to support decimal integer number strings.
stringvar = StrInteger(integer number) ' decimal integer number strings.
Command Availability:
Available on all microcontrollers
Explanation:
The Str
function will convert a number into a string. number
can be
any byte or word variable, or a fixed number between 0 and 65535
inclusive. For Long numbers use Str32
and for Integer numbers use
StrInteger
.
The string variable stringvar
will contain the same number,
represented as a string. The length of the string returned is 5, 10 or
6 characters for Byte & Word, Long and Integer respectively.
This function is especially useful if a number needs to added to the end of a string, or if a custom data sending routine has been created but only supports the output of string variables.
These methods will not support conversion of hexadecimal number strings.
Example1:
'Set chip model
#chip 16F1936
'Set up hardware serial connection
#define USART_BAUD_RATE 9600
#define USART_TX_BLOCKING
'Take an A/D reading
SensorReading = ReadAD(AN0)
'Create a string variable
Dim OutVar As String
'Fill string with sensor reading
OutVar = Str(SensorReading)
'Send
HSerPrint OutVar
HSerPrintCRLF
When using the functions STR() do not leave space between the function
call and the left brace. You will get a compiler error that is
meaningless.
' use this, note this is no space between the STR and the left brace!
STR(number_variable)
' do not use, note the space!
STR (number_variable)
Example2:
'''
'''
'''
'''
'''************************************************************************
'''
''' PIC: 16F18855
''' Compiler: GCB
''' IDE: GCB@SYN
'''
''' Board: Xpress Evaluation Board
''' Date: June 2021
'''
' ----- Configuration
'Chip Settings.
#chip 16f18855,32
#Config CLRE_ON
#option Explicit
; ----- Define Hardware settings
'' -------------------LATA-----------------
'' Bit#: -7---6---5---4---3---2---1---0---
'' LED: ---------------|D5 |D4 |D3 |D2 |-
''-----------------------------------------
''
'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
#define LEDD2 PORTA.0
#define LEDD3 PORTA.1
#define LEDD4 PORTA.2
#define LEDD5 PORTA.3
Dir LEDD2 OUT
Dir LEDD3 OUT
Dir LEDD4 OUT
Dir LEDD5 OUT
#define Potentiometer PORTA.4
DIR Potentiometer In
#define SWITCH_DOWN 0
#define SWITCH_UP 1
#define SWITCH PORTA.5
Dir SWITCH In
; ----- Variables
dim bytevar as Byte
dim wordvar as Word
dim longvar as long
dim integervarP, integervarN,integervar as Integer
; ----- Main body of program commences here.
bytevar = 0xff
wordvar = 0xffff
longvar = 0xffffffff
integervarP = 127
integervarN = -127
integervar = 0
do
wait 100 ms
HSerPrint str( bytevar )
HSerPrintCRLF
HSerPrint str( wordvar )
HSerPrintCRLF
HSerPrint str32( longvar )
HSerPrintCRLF
HSerPrint StrInteger( integervarP )
HSerPrintCRLF
HSerPrint StrInteger( integervarN )
HSerPrintCRLF
HSerPrint StrInteger( integervar )
HSerPrintCRLF
wait 100 ms
HSerPrintCRLF
wait 1 s
loop
end
; ----- Support methods. Subroutines and Functions