我试图使用结构调用通道的成员来在更高级别的函数中使用。是否可能只有一个参数?
typedef struct {
int size;
Port_PadDriver padDriver; //pad driver speed
UserConfig *pinTable;
Port_Mode defaultmode;
Port_State defaultstate; //set, reset, toggle port
} DefaultConfig;
typedef struct {
uint32 Channel;
Port_Pin *pin;
Port_Mode mode;
Port_State state; //set, reset, toggle port
} UserConfig;
void IO_init(void) {
DefaultConfig defaultConfig;//create object
initconfig(&defaultConfig);//set init settings
userConfig(&defaultConfig);//overwrite settings with users settings with
a struct array
}
是否可以创建IO_SetPinHigh(int channelnum);在IO_init(void)中用于更改特定引脚。
答案 0 :(得分:1)
您可以使用.
运算符引用struct成员。通过这样做,您可以像任何其他变量一样单独引用此成员:
IO_SetPinHigh(defaultConfig.channel);
当然,如果要修改此变量,则必须将指针传递给它:
IO_SetPinHigh(&defaultConfig.channel);