Agile Modbus 1.1.1
Lightweight modbus protocol stack.
Master Common Operation Functions

常用 modbus 主机操作函数 更多...

Master Common Operation Functions 的协作图:

函数

int agile_modbus_serialize_read_bits (agile_modbus_t *ctx, int addr, int nb)
 
int agile_modbus_deserialize_read_bits (agile_modbus_t *ctx, int msg_length, uint8_t *dest)
 
int agile_modbus_serialize_read_input_bits (agile_modbus_t *ctx, int addr, int nb)
 
int agile_modbus_deserialize_read_input_bits (agile_modbus_t *ctx, int msg_length, uint8_t *dest)
 
int agile_modbus_serialize_read_registers (agile_modbus_t *ctx, int addr, int nb)
 
int agile_modbus_deserialize_read_registers (agile_modbus_t *ctx, int msg_length, uint16_t *dest)
 
int agile_modbus_serialize_read_input_registers (agile_modbus_t *ctx, int addr, int nb)
 
int agile_modbus_deserialize_read_input_registers (agile_modbus_t *ctx, int msg_length, uint16_t *dest)
 
int agile_modbus_serialize_write_bit (agile_modbus_t *ctx, int addr, int status)
 
int agile_modbus_deserialize_write_bit (agile_modbus_t *ctx, int msg_length)
 
int agile_modbus_serialize_write_register (agile_modbus_t *ctx, int addr, const uint16_t value)
 
int agile_modbus_deserialize_write_register (agile_modbus_t *ctx, int msg_length)
 
int agile_modbus_serialize_write_bits (agile_modbus_t *ctx, int addr, int nb, const uint8_t *src)
 
int agile_modbus_deserialize_write_bits (agile_modbus_t *ctx, int msg_length)
 
int agile_modbus_serialize_write_registers (agile_modbus_t *ctx, int addr, int nb, const uint16_t *src)
 
int agile_modbus_deserialize_write_registers (agile_modbus_t *ctx, int msg_length)
 
int agile_modbus_serialize_mask_write_register (agile_modbus_t *ctx, int addr, uint16_t and_mask, uint16_t or_mask)
 
int agile_modbus_deserialize_mask_write_register (agile_modbus_t *ctx, int msg_length)
 
int agile_modbus_serialize_write_and_read_registers (agile_modbus_t *ctx, int write_addr, int write_nb, const uint16_t *src, int read_addr, int read_nb)
 
int agile_modbus_deserialize_write_and_read_registers (agile_modbus_t *ctx, int msg_length, uint16_t *dest)
 
int agile_modbus_serialize_report_slave_id (agile_modbus_t *ctx)
 
int agile_modbus_deserialize_report_slave_id (agile_modbus_t *ctx, int msg_length, int max_dest, uint8_t *dest)
 

详细描述

常用 modbus 主机操作函数

   API 形式如下:
   - agile_modbus_serialize_xxx    打包请求数据
   返回值:
       >0:请求数据长度
       其他:异常

   - agile_modbus_deserialize_xxx  解析响应数据
   返回值:
       >=0:对应功能码响应对象的长度(如 03 功能码,值代表寄存器个数)
       其他:异常 (-1:报文错误;其他:可根据 `-128 - $返回值` 得到异常码)

函数说明

◆ agile_modbus_serialize_read_bits()

int agile_modbus_serialize_read_bits ( agile_modbus_t ctx,
int  addr,
int  nb 
)

在文件 agile_modbus.c493 行定义.

◆ agile_modbus_deserialize_read_bits()

int agile_modbus_deserialize_read_bits ( agile_modbus_t ctx,
int  msg_length,
uint8_t *  dest 
)

在文件 agile_modbus.c509 行定义.

函数调用图:

◆ agile_modbus_serialize_read_input_bits()

int agile_modbus_serialize_read_input_bits ( agile_modbus_t ctx,
int  addr,
int  nb 
)

在文件 agile_modbus.c548 行定义.

◆ agile_modbus_deserialize_read_input_bits()

int agile_modbus_deserialize_read_input_bits ( agile_modbus_t ctx,
int  msg_length,
uint8_t *  dest 
)

在文件 agile_modbus.c564 行定义.

函数调用图:

◆ agile_modbus_serialize_read_registers()

int agile_modbus_serialize_read_registers ( agile_modbus_t ctx,
int  addr,
int  nb 
)

在文件 agile_modbus.c603 行定义.

◆ agile_modbus_deserialize_read_registers()

int agile_modbus_deserialize_read_registers ( agile_modbus_t ctx,
int  msg_length,
uint16_t *  dest 
)

在文件 agile_modbus.c619 行定义.

函数调用图:

◆ agile_modbus_serialize_read_input_registers()

int agile_modbus_serialize_read_input_registers ( agile_modbus_t ctx,
int  addr,
int  nb 
)

在文件 agile_modbus.c647 行定义.

◆ agile_modbus_deserialize_read_input_registers()

int agile_modbus_deserialize_read_input_registers ( agile_modbus_t ctx,
int  msg_length,
uint16_t *  dest 
)

在文件 agile_modbus.c663 行定义.

函数调用图:

◆ agile_modbus_serialize_write_bit()

int agile_modbus_serialize_write_bit ( agile_modbus_t ctx,
int  addr,
int  status 
)

在文件 agile_modbus.c691 行定义.

◆ agile_modbus_deserialize_write_bit()

int agile_modbus_deserialize_write_bit ( agile_modbus_t ctx,
int  msg_length 
)

在文件 agile_modbus.c704 行定义.

函数调用图:

◆ agile_modbus_serialize_write_register()

int agile_modbus_serialize_write_register ( agile_modbus_t ctx,
int  addr,
const uint16_t  value 
)

在文件 agile_modbus.c721 行定义.

◆ agile_modbus_deserialize_write_register()

int agile_modbus_deserialize_write_register ( agile_modbus_t ctx,
int  msg_length 
)

在文件 agile_modbus.c734 行定义.

函数调用图:

◆ agile_modbus_serialize_write_bits()

int agile_modbus_serialize_write_bits ( agile_modbus_t ctx,
int  addr,
int  nb,
const uint8_t *  src 
)

在文件 agile_modbus.c751 行定义.

◆ agile_modbus_deserialize_write_bits()

int agile_modbus_deserialize_write_bits ( agile_modbus_t ctx,
int  msg_length 
)

在文件 agile_modbus.c796 行定义.

函数调用图:

◆ agile_modbus_serialize_write_registers()

int agile_modbus_serialize_write_registers ( agile_modbus_t ctx,
int  addr,
int  nb,
const uint16_t *  src 
)

在文件 agile_modbus.c813 行定义.

◆ agile_modbus_deserialize_write_registers()

int agile_modbus_deserialize_write_registers ( agile_modbus_t ctx,
int  msg_length 
)

在文件 agile_modbus.c844 行定义.

函数调用图:

◆ agile_modbus_serialize_mask_write_register()

int agile_modbus_serialize_mask_write_register ( agile_modbus_t ctx,
int  addr,
uint16_t  and_mask,
uint16_t  or_mask 
)

在文件 agile_modbus.c861 行定义.

◆ agile_modbus_deserialize_mask_write_register()

int agile_modbus_deserialize_mask_write_register ( agile_modbus_t ctx,
int  msg_length 
)

在文件 agile_modbus.c883 行定义.

函数调用图:

◆ agile_modbus_serialize_write_and_read_registers()

int agile_modbus_serialize_write_and_read_registers ( agile_modbus_t ctx,
int  write_addr,
int  write_nb,
const uint16_t *  src,
int  read_addr,
int  read_nb 
)

在文件 agile_modbus.c900 行定义.

◆ agile_modbus_deserialize_write_and_read_registers()

int agile_modbus_deserialize_write_and_read_registers ( agile_modbus_t ctx,
int  msg_length,
uint16_t *  dest 
)

在文件 agile_modbus.c941 行定义.

函数调用图:

◆ agile_modbus_serialize_report_slave_id()

int agile_modbus_serialize_report_slave_id ( agile_modbus_t ctx)

在文件 agile_modbus.c969 行定义.

◆ agile_modbus_deserialize_report_slave_id()

int agile_modbus_deserialize_report_slave_id ( agile_modbus_t ctx,
int  msg_length,
int  max_dest,
uint8_t *  dest 
)

在文件 agile_modbus.c984 行定义.

函数调用图: