"); //-->
由LED图可知高电平为熄灭。由key图可知,GPB6、7只能有一个为低电平,低电平为选通。
首先,定义一个GP类,内有set、reset、test成员函数。其含义和bitset类型相同,详情请看《C++ primer》。
然后定义GPIO类,为了方便操作key和led,继承GP类,其中的blackOut(关灯)与lightOn(开灯)分别与set和reset对应。当test某键为true时,代表该键没有按下。
由LED图和key图宏定义如下:
#define KEY1 0 //GPF0 GPB6
#define KEY2 0 //GPF0 GPB7
#define KEY3 5 //GPG5 GPB6
#define KEY4 5 //GPG5 GPB7
#define LED1 4 //GPF4
#define LED2 5 //GPF5
#define LED3 6 //GPF6
#define LED4 7 //GPF7
创建的对象为:
static GPIO GPBDAT(rGPBDAT), key12(rGPFDAT), key34(rGPGDAT);
static GPIO led(rGPFDAT);
拿key1为例:
if (key12.test(KEY1)) {
led.blackOut(LED1); //熄灭LED1
}
else {
led.lightOn(LED1); //点亮LED1
}
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。