Agile Modbus 1.1.1
Lightweight modbus protocol stack.
Slave Operation Functions
Slave Operation Functions 的协作图:

函数

int agile_modbus_slave_handle (agile_modbus_t *ctx, int msg_length, uint8_t slave_strict, agile_modbus_slave_callback_t slave_cb, int *frame_length)
 从机数据处理 更多...
 
void agile_modbus_slave_io_set (uint8_t *buf, int index, int status)
 从机 IO 设置 更多...
 
uint8_t agile_modbus_slave_io_get (uint8_t *buf, int index)
 读取从机 IO 状态 更多...
 
void agile_modbus_slave_register_set (uint8_t *buf, int index, uint16_t data)
 从机寄存器设置 更多...
 
uint16_t agile_modbus_slave_register_get (uint8_t *buf, int index)
 读取从机寄存器数据 更多...
 

详细描述

函数说明

◆ agile_modbus_slave_handle()

int agile_modbus_slave_handle ( agile_modbus_t ctx,
int  msg_length,
uint8_t  slave_strict,
agile_modbus_slave_callback_t  slave_cb,
int *  frame_length 
)

从机数据处理

参数
ctxmodbus 句柄
msg_length接收数据长度
slave_strict从机地址严格检查标志
  • 0: 不比对从机地址
  • 1: 比对从机地址
slave_cb从机回调函数
frame_length存放 modbus 数据帧长度
返回
>=0:要响应的数据长度; 其他:异常

在文件 agile_modbus.c1202 行定义.

函数调用图:

◆ agile_modbus_slave_io_set()

void agile_modbus_slave_io_set ( uint8_t *  buf,
int  index,
int  status 
)

从机 IO 设置

参数
buf存放 IO 数据区
indexIO 索引(第几个 IO)
statusIO 状态

在文件 agile_modbus.c1139 行定义.

◆ agile_modbus_slave_io_get()

uint8_t agile_modbus_slave_io_get ( uint8_t *  buf,
int  index 
)

读取从机 IO 状态

参数
bufIO 数据区域
indexIO 索引(第几个 IO)
返回
IO 状态(1/0)

在文件 agile_modbus.c1156 行定义.

◆ agile_modbus_slave_register_set()

void agile_modbus_slave_register_set ( uint8_t *  buf,
int  index,
uint16_t  data 
)

从机寄存器设置

参数
buf存放数据区
index寄存器索引(第几个寄存器)
data寄存器数据

在文件 agile_modbus.c1172 行定义.

◆ agile_modbus_slave_register_get()

uint16_t agile_modbus_slave_register_get ( uint8_t *  buf,
int  index 
)

读取从机寄存器数据

参数
buf寄存器数据区域
index寄存器索引(第几个寄存器)
返回
寄存器数据

在文件 agile_modbus.c1184 行定义.