User manual
mikroBasic PRO for PIC32
MikroElektronika
377
RS-485 Library
RS-485 is a multipoint communication which allows multiple devices to be connected to a single bus. mikroBasic PRO
for PIC32 provides a set of library routines for comfortable work with RS485 system using Master/Slave architecture.
Master and Slave devices interchange packets of information. Each of these packets contains synchronization bytes,
CRC byte, address byte and the data. Each Slave has unique address and receives only packets addressed to it. The
Slave can never initiate communication.
It is the user’s responsibility to ensure that only one device transmits via 485 bus at a time.
The RS-485 routines require the UART module. Pins of UART need to be attached to RS-485 interface transceiver,
such as LTC485 or similar (see schematic at the bottom of this page).
Library constants:
- START byte value = 150
- STOP byte value = 169
- Address 50 is the broadcast address for all Slaves (packets containing address 50 will be received by all Slaves
except the Slaves with addresses 150 and 169).
Important:
- The library uses the UART module for communication. The user must initialize the appropriate UART module before
using the RS-485 Library.
- For MCUs with multiple UART modules it is possible to initialize them and then switch by using the UART_Set_Active
routine.
Library Dependency Tree
The following variable must be dened
in all projects using RS-485 Library:
Description: Example:
dim RS485_rxtx_pin as sbit sfr
external
Control RS-485 Transmit/Receive
operation mode
dim RS485_rxtx_pin as sbit at RF2_
bit
dim RS485_rxtx_pin_direction as
sbit sfr external
Direction of the RS-485 Transmit/
Receive pin
dim RS485_rxtx_pin_direction as sbit
at TRISF2_bit
External dependencies of RS-485 Library