其中,寄存器类型包括01线圈寄存器、02离散输入寄存器、03保持寄存器、04输入寄存器,这是Modbus协议定义的4种寄存器类型。01线圈寄存器和03保持寄存器可以进行读写,02离散输入寄存器和04输入寄存器只能进行读取。 寄存器地址可填写值范围为0x0000-0xFFFF,使用16进制表示,大小写均可。
对于功能码FC=3,起始地址=0,对应的寄存器地址为40001。 比特位:主要用于保持寄存器,由于保持寄存器存储的是16-比特字,如果将BOOL变量(开关变量)储在保持寄存器数据段,则需要说明BOOL变量具体放在16-比特字中的第几个bit,0表示该寄存器最右边的bit(least significant bit), 15表示最左边的bit(most significant bit)。
1.线圈寄存器 2.离散输入寄存器 3.保持寄存器 4.输入寄存器 枚举: 1,2,3,4 ├─ address string 必须 寄存器地址 ├─ quantity number 必须 寄存器数量 ├─ opcua object 非必须 opcua时必填 ├─ nodeid string 必须 节点ID 返回数据 名称 类型 是否必须 默认值 备注 其他信息 status number 必须
1.线圈寄存器 2.离散输入寄存器 3.保持寄存器 4.输入寄存器 枚举: 1,2,3,4 ├─ address string 必须 寄存器地址 ├─ quantity number 必须 寄存器数量 ├─ opcua object 非必须 opcua时必填 ├─ nodeid string 必须 节点ID 返回数据 名称 类型 是否必须 默认值 备注 其他信息 status number 必须
address:为需要写的寄存器的起始地址。 data:为要写入modbus从站的数据。 从address开始,依次往后写入。例如示例中的request1,会向地址1-8等8个离散值(coins)写数据,写入的值分别为1,1,1,1,0,0,0,0; 示例中的request2,会写2个寄存器,40001和40002,写入的值分别为00ff, 1234。
header 'token: a9dcb88a-4fc0-4ae0-a103-3578bdb90e62' \ --header 'Content-Type: application/json' \ --header 'uid: cf7d9692703d45d1b5517a30ab3efa53' \ --header 'username: pnstest5' \ --data '{ id : edb92440
maps : - function : 3 # 功能码,对应离散量输入 address : 0 # 起始地址 quantity : 1 # 采集数量,离散量输入对应1bit, 当解析数据时模块可自动确定 field : name : temperature # 解析后数据field名 type : int16 # 针对float32数据类型解析数据 - function : 3 # 功能码,对应输入寄存器
sample使用轮询寄存器方式检查命令结果是否完成。 执行 ./sample_user_irq ,输出如下结果,PE正确地执行了浮点向量加功能。sample_user_irq使用中断方式检查命令结果是否完成。 关键代码示例
DDR4存储器连接到SoC的PS DDR控制器的物理端口上,IO电压为1.2V,支持的最高速度达2400MT/s。
KSZ9031RNX支持MDI/MDX自适应,各种速度自适应,Master/Slave自适应,支持MDIO总线进行PHY的寄存器管理。 KSZ9031RNX上电会检测一些特定的IO的电平状态,从而确定自己的工作模式。表3-1-1 描述了GPHY芯片上电之后的默认设定信息。