Agile Modbus 1.1.1
Lightweight modbus protocol stack.
Common Exported Functions
Common Exported Functions 的协作图:

函数

void agile_modbus_common_init (agile_modbus_t *ctx, uint8_t *send_buf, int send_bufsz, uint8_t *read_buf, int read_bufsz)
 初始化 modbus 句柄 更多...
 
int agile_modbus_set_slave (agile_modbus_t *ctx, int slave)
 设置地址 更多...
 
void agile_modbus_set_compute_meta_length_after_function_cb (agile_modbus_t *ctx, uint8_t(*cb)(agile_modbus_t *ctx, int function, agile_modbus_msg_type_t msg_type))
 设置 modbus 对象的计算功能码后要接收的数据元长度回调函数 更多...
 
void agile_modbus_set_compute_data_length_after_meta_cb (agile_modbus_t *ctx, int(*cb)(agile_modbus_t *ctx, uint8_t *msg, int msg_length, agile_modbus_msg_type_t msg_type))
 设置 modbus 对象的计算数据元之后要接收的数据长度回调函数 更多...
 
int agile_modbus_receive_judge (agile_modbus_t *ctx, int msg_length, agile_modbus_msg_type_t msg_type)
 校验接收数据正确性 更多...
 

详细描述

函数说明

◆ agile_modbus_common_init()

void agile_modbus_common_init ( agile_modbus_t ctx,
uint8_t *  send_buf,
int  send_bufsz,
uint8_t *  read_buf,
int  read_bufsz 
)

初始化 modbus 句柄

参数
ctxmodbus 句柄
send_buf发送缓冲区
send_bufsz发送缓冲区大小
read_buf接收缓冲区
read_bufsz接收缓冲区大小

在文件 agile_modbus.c257 行定义.

这是这个函数的调用关系图:

◆ agile_modbus_set_slave()

int agile_modbus_set_slave ( agile_modbus_t ctx,
int  slave 
)

设置地址

参数
ctxmodbus 句柄
slave地址
返回
0:成功

在文件 agile_modbus.c273 行定义.

◆ agile_modbus_set_compute_meta_length_after_function_cb()

void agile_modbus_set_compute_meta_length_after_function_cb ( agile_modbus_t ctx,
uint8_t(*)(agile_modbus_t *ctx, int function, agile_modbus_msg_type_t msg_type)  cb 
)

设置 modbus 对象的计算功能码后要接收的数据元长度回调函数

参数
ctxmodbus 句柄
cb计算功能码后要接收的数据元长度回调函数
参见
agile_modbus_compute_meta_length_after_function

在文件 agile_modbus.c284 行定义.

◆ agile_modbus_set_compute_data_length_after_meta_cb()

void agile_modbus_set_compute_data_length_after_meta_cb ( agile_modbus_t ctx,
int(*)(agile_modbus_t *ctx, uint8_t *msg, int msg_length, agile_modbus_msg_type_t msg_type)  cb 
)

设置 modbus 对象的计算数据元之后要接收的数据长度回调函数

参数
ctxmodbus 句柄
cb计算数据元之后要接收的数据长度回调函数
参见
agile_modbus_compute_data_length_after_meta

在文件 agile_modbus.c297 行定义.

◆ agile_modbus_receive_judge()

int agile_modbus_receive_judge ( agile_modbus_t ctx,
int  msg_length,
agile_modbus_msg_type_t  msg_type 
)

校验接收数据正确性

注解
该 API 返回的是 modbus 数据帧长度,比如 8 个字节的 modbus 数据帧 + 2 个字节的脏数据,返回 8
参数
ctxmodbus 句柄
msg_length接收数据长度
msg_type消息类型
返回
>0:正确,modbus 数据帧长度; 其他:异常

在文件 agile_modbus.c312 行定义.

函数调用图:
这是这个函数的调用关系图: