我主要使用美国国家仪器公司的Labwindows CVI作为我的编译器。
我必须为设备创建一个接口,并开始为所有不同的寄存器查找结构。
// Interface.h
typedef enum Color{
White,
Black,
Blue
};
typedef struct Register1{
int Bit1:1;
int Bit2:2;
Color col;
} Register1;
// Interface.c
BuildSendMessage(Register1 temp)
{
unsigned int iTemp;
iTemp = temp.Bit1 << 7 + temp.Bit2 << 5 + temp.col;
}
// sample.c
Register1 reg1;
reg1.Bit1 = 0;
reg1.Bit2 = 1;
reg1.col = White;
// Pass to function where message is built up
BuildSendMessage(reg1);然后,我在调用函数中填充该结构,然后将该结构传递到一个函数中,在该函数中,我执行所有的位移位,将地址等附加到消息上,并通过comm接口将其发送出去。
这可以改进吗?我应该做更多的信息隐藏,并让一个函数填充结构吗?我已经做了大量的阅读,这肯定需要一些改进。
发布于 2016-03-03 20:50:03
我想要做的是,我有一个设备,它有一个文档,解释每个寄存器的作用。,
,I,I,to,tcp,它有一个文档,解释了每个寄存器的作用。
…
然后,我填充调用函数中的结构,然后将结构传递到一个函数中,在该函数中,我执行所有的位移位,将地址等附加到消息上,并通过comm接口将其发送出去。(
)
这可以改进吗?我应该做更多的信息隐藏,并让一个函数填充结构吗?
保护包括提供一个稳定的接口,该接口保护程序的其余部分不受实现的影响(最有可能发生变化的细节)。
设备中的每个寄存器所做的事情不太可能改变,如果它最终应该改变,程序的其他部分可能无论如何都需要修改,所以做“更多的信息隐藏”是没有意义的。
https://stackoverflow.com/questions/33975922
复制相似问题