一种取多引脚的函数用法


  
  

    
    
#ifdef _GPIOE
EXT GPIO_TypeDef *GPIOE;
#endif /*_GPIOE */
#define GPIO_Pin_12                ((u16)0x1000)    /* Pin 12 selected */

struct PortDef
{
    GPIO_TypeDef *port;//从定义的port中看出 GPIO_TypeDef 如上面定义所示
    u16 pin;//从定义的PIN中看出   如上面定义所示
};
static const struct PortDef relay_chns[RELAY_CHN_NR] = 
{
    {RELAY1_CHK_PORT, RELAY1_CHK_PIN},
    {RELAY2_CHK_PORT, RELAY2_CHK_PIN},
    {RELAY3_CHK_PORT, RELAY3_CHK_PIN},
    {RELAY4_CHK_PORT, RELAY4_CHK_PIN},
};

 
 
  
  

    
    
#ifdef RELAY_CHK
#define RELAY1_CHK_PORT  GPIOE
#define RELAY1_CHK_PIN  GPIO_Pin_12
#define RELAY2_CHK_PORT  GPIOE
#define RELAY2_CHK_PIN  GPIO_Pin_13
#define RELAY3_CHK_PORT  GPIOE
#define RELAY3_CHK_PIN  GPIO_Pin_14
#define RELAY4_CHK_PORT  GPIOE
#define RELAY4_CHK_PIN  GPIO_Pin_15

#define is_relay_on(PORT,PIN) GPIO_ReadInputDataBit(PORT,PIN)
#endif
is_relay_on(relay_chns[i].port, relay_chns[i].pin)
   
   
#ifdef RELAY_CHK
    /* relay check pin */
    GPIO_InitStructure.GPIO_Pin = RELAY1_CHK_PIN;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD;
    GPIO_Init(RELAY1_CHK_PORT, &GPIO_InitStructure);
    
    GPIO_InitStructure.GPIO_Pin = RELAY2_CHK_PIN;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD;
    GPIO_Init(RELAY2_CHK_PORT, &GPIO_InitStructure);
    
    GPIO_InitStructure.GPIO_Pin = RELAY3_CHK_PIN;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD;
    GPIO_Init(RELAY3_CHK_PORT, &GPIO_InitStructure);
    
    GPIO_InitStructure.GPIO_Pin = RELAY4_CHK_PIN;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD;
    GPIO_Init(RELAY4_CHK_PORT, &GPIO_InitStructure);

#endif


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值