概述
各位高手:
我最近做项目遇到一个问题,请帮忙指点下有什么好的办法。
遇到的问题为:
项目为Modbus通讯数组的定义。按照Modbus协议,我定义了一个数组 Modbus_REG[120],如下:
modbus变量 | MODBUS地址 | 变量名称 | 变量描述 | 备注
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
Modbus_REG[0] | 0000H | 系统状态 | |
Modbus_REG[1] | 0001H | A相电流 | |
Modbus_REG[2] | 0002H | B相电流 | |
. | | | |
. | | | |
. | | | |
Modbus_REG[27] | 0x001BH | 故障信息 | | 见附表1
Modbus_REG[28] | 0x001CH | | |
. | | | |
. | | | |
Modbus_REG[119] | | | |
=========================================================================
但协议的数据里有些地址(如Modbus_REG[27])里的内容是按“位”进行功能划分的(见附表1),在此我用结构体定义了该内容 。
Sturct {
Err_Ii : 1;
Err_Ig : 1;
Err_Iunbal :1;
no1:1;
Err_Isd:1;
Err_Ir:1;
Err_IC1:1;
Err_Ic2:1;
} Fstle;
附表1:故障信息
---------------------------------------------------------------------------------------------------------------------------------|
bit15~bit8 | bit7 | bit6 | bit 5 | bit4 | bit3 | bit2 | bit1 | bit0 |
--------------------|-------------|-----------|------------|------------|--------------|------------|------------|-------------|
保留 | IC2 | IC1 | IR | ISD | 保留 | Iunbal | Ig | Ii |
----------------------------------------------------------------------------------------------------------------------------------
如何将这个结构体和数据联系起来(Fstyle 和 Modbus_REG[27]),可以单独访问,也可以按位访问。
最后
以上就是沉静草丛为你收集整理的c语言结构体联系,C语言中,数组中如何与结构体联系起来的全部内容,希望文章能够帮你解决c语言结构体联系,C语言中,数组中如何与结构体联系起来所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复