结构体声明:
typedef struct
{
GPIO_TypeDef* GPIOx;
uint16_t GPIO_Pin;
}GPIO_STATUS;
typedef struct
{
GPIO_TypeDef* GPIOx;
uint16_t GPIO_Pin;
}GPIO_CHECK;
typedef struct
{
GPIO_TypeDef* GPIOx;
uint16_t GPIO_Pin;
}GPIO_CONTROL;
typedef struct _DEVICE_PROPERTY
{
GPIO_STATUS* GPIO_Status;
GPIO_CHECK* GPIO_Check;
GPIO_CONTROL* GPIO_Control;
UINT8 Device_Status;
}__attribute__((packed)) DEVICE_PROPERTY;
创建设备并初始化GPIO配置
DEVICE_PROPERTY Main_Light ;
Device_GPIO_Default(&Main_Light,GPIOC,GPIO_Pin_7,GPIOC,GPIO_Pin_6,GPIOC,GPIO_Pin_1);
void Device_GPIO_Default(DEVICE_PROPERTY* device,
GPIO_TypeDef* GPIOX,uint16_t GPIO_PinX,
GPIO_TypeDef* GPIOY,uint16_t GPIO_PinY,
GPIO_TypeDef* GPIOZ,uint16_t GPIO_PinZ )
{
device->GPIO_Status->GPIOx = GPIOX;
device->GPIO_Status->GPIO_Pin = GPIO_PinX;
device->GPIO_Check->GPIOx = GPIOY;
device->GPIO_Check->GPIO_Pin = GPIO_PinY;
device->GPIO_Control->GPIOx = GPIOZ;
device->GPIO_Control->GPIO_Pin = GPIO_PinZ;
}
可以这样写么?很久没写了,希望大神指点,谢谢
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
参数那个是小问题,我可以分开配置,但是我现在这的在在线调试的连段选GPIOC都不能赋值成功,Pin赋值的时候,系统就死掉了,求解
Device_GPIO_Default(&Main_Light,GPIOC,GPIO_Pin_7,GPIOC,GPIO_Pin_6,GPIOC,GPIO_Pin_1);
里面应该用&GPIOC取地址传入
GPIOC是库文件就初始化了的
一周热门 更多>