User manual
441
mikoPascal PRO for dsPIC30/33 and PIC24
MikroElektronika
RS485Master_Receive
RS485Master_Send
Prototype
procedure RS485Master_Receive(var data : array[10] of byte);
Description Receives messages from Slaves. Messages are multi-byte, so this routine must be called for each
byte received.
Parameters - data_buffer: 7 byte buffer for storing received data. Data will be stored in the following manner:
- data_buffer[0..2]: message content
- data_buffer[3]: number of message bytes received, 1–3
- data_buffer[4]: is set to 255 when message is received
- data_buffer[5]: is set to 255 if error has occurred
- data_buffer[6]: address of the Slave which sent the message
The routine automatically adjusts data[4] and data[5] upon every received message. These ags
need to be cleared by software.
Returns Nothing.
Requires MCU must be initialized as a Master for RS-485 communication. See RS485Master_Init.
Example
var msg : array[8] of byte;
...
RS485Master_Receive(msg);
Notes None
Prototype
procedure RS485Master_Send(var buffer : array[20] of byte; datalen : byte;
slave_address : byte);
Description Sends message to Slave(s). Message format can be found at the bottom of this page.
Parameters - data_buffer: data to be sent
- datalen: number of bytes for transmition. Valid values: 0...3.
- slave_address: Slave(s) address
Returns Nothing.
Requires MCU must be initialized as a Master for RS-485 communication. See RS485Master_Init.
It is the user’s responsibility to ensure (by protocol) that only one device sends data via 485 bus at a
time.
Example
var msg : array[8] of byte;
...
// send 3 bytes of data to Slave with address 0x12
RS485Master_Send(msg, 3, 0x12);
Notes None