Syntax:
HSerGetString myString ‘Get a multi char string from USART 1 HSerGetString myString,1 ‘Get a multi char string from USART 1 HSerGetString myString,2 ‘Get a multi char string from USART 2
Variable type is string and the routine checks for numbers,letters, and puctuation.
Command Availability:
Available on all microcontrollers with a USART or UART module.
Microchip PIC supports USART1 and 2.
Atmel AVR supports USART 1,2,3 and 4.
Enabling Constants:
To enable the use of the USART these are the enabling constants. These constants are required. You can change the USART_BAUD_RATE
and to meet your needs. For addition USART ports use #define USARTn_BAUD_RATE 9600
where n`
is the required port number.
'USART settings for USART1 #define USART_BAUD_RATE 9600 #define USART_TX_BLOCKING #define USART_DELAY OFF
Explanation:
This command will read a multi character string received as ascii input to the hardware serial module followed by a CR from an external serial source. It can be used only as a subroutine. Variable type is string and the routine checks for numbers,letters, and puctuation.
Example:
'This program receives char string and CR from a PC terminal, sends back the string on the serial port, and turns Led’s on off by command #chip 18f26k22, 16 'Set the pin directions #define USART_BAUD_RATE 9600 #define USART_BLOCKING #define USART2_BAUD_RATE 9600 #define USART2_BLOCKING 'InitUSART #define SerInPort PORTc.7 'USART 1 Rx Pin #define SerOutPort PORTc.6 'USART 1 Tx Pin 'Set pin directions Dir SerOutPort Out Dir SerInPort In Dir PORTB.6 Out 'second USART Tx Pin Dir PORTB.7 In 'second USART Rx Pin Dir PORTB.0 Out ' LED hooked up for testing Dir PORTB.1 Out ' LED hooked up for testing Wait 100 Ms ; ----- Variables ' All byte variables are defined upon use. Dim myNum as Word Dim MyString as String ; ----- Main body of program commences here. 'Message after reset HSerPrint "18F26k22" HSerPrintCRLF 'Main routine Do Forever HSerGetString MyString HSerPrint MyString HSerSend(13) If MyString = "LED1 ON" Then Set PORTB.0 Off End If If MyString = "LED1 OFF" Then Set PORTB.0 On End If If MyString = "LED2 ON" Then Set PORTB.1 Off End If If MyString = "LED2 OFF" Then Set PORTB.1 On End If Loop
See also HSerReceive and HSerGetNum