一种取多引脚的函数用法
2016-03-10 20:16
267 查看
#ifdef _GPIOE EXT GPIO_TypeDef *GPIOE; #endif /*_GPIOE */
#define GPIO_Pin_12 ((u16)0x1000) /* Pin 12 selected */[/code]
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}, };[/code]
#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[/code][/code]
相关文章推荐
- GB之MarkDown语法
- Xcode 如何提供文件路径
- Pg188-2 覆盖 向上转型
- Java作业
- WPF 转义字符
- 复制构造函数为什么必须是引用?
- 第2周项目3-小试循环
- nyist 20
- keepalived
- Android之Button
- 二分图的判定 (图)
- C#利用反射获取对象属性值
- Total Commander使用笔记
- 【android】ListView 的 stackFromBottom 选项
- Uva10905 Children's Game (C++String的运运用呀...)
- 第2周项目4-用循环求
- homework2
- 区间和 (苏州大学计算机学院三月月赛暨蓝桥杯热身赛)
- LeetCode 237. Delete Node in a Linked List
- c 中的单引号和双引号的使用