STM32F4探索版-萌新求教,谢谢大神,跪拜!

2019-07-20 04:18发布

int main(void)
{
u8 key;                                   //保存键值
delay_inint(168);                    //初始化延时函数
LED_inint();                          //初始化LED端口
BEEP_inint();                       //初始化蜂鸣器端口
KEY_inint()                         //初始化与按键连接的硬件端口
LED0=0;                           //点亮LED0
while(1)
{
key=key_Scan(0);           //得到键值
if(key)
{
switch(key)
{
case WKUP_PRES;        //控制蜂鸣器
BEEP=!BEEP;
break;
case WKY0_PRES;       //控制LED0翻转
LED0=!LED0;
break;case WKY1_PRES;  //控制LED1翻转
LED1=!LED1;
break;case WKY2_PRES;  //同时控制LED0、LED1翻转
LED0=!LED0;
LED1=!LED1;
break;

}
}
}
}
标红部分不是很懂,请大神指点一下,萌新一枚。
1、u8我查了一下资料,是8位2进制数,为什么不是u16、u32呀?
2、为什么u8 key可以保存键值,保存键值是什么意思?不保存可以吗?
3、为什么要初始化key的硬件连接端口,不初始化可以吗?为什么?
4、key=key_Scan(0)是什么意思?怎么就得到键值了?键值是什么?按键的值吗?不是很明白
谢谢大神!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
4条回答
HCHDaLeiGe
2019-07-20 05:55
1、u8我查了一下资料,是8位2进制数,为什么不是u16、u32呀?
u8是unsigned char,该数据类型的取值范围是0--255,key_Scan(0)函数返回值为0--4,使用u8足够了,定义为u16 u32也可以

2、为什么u8 key可以保存键值,保存键值是什么意思?不保存可以吗?
用来存储key_Scan(0)函数的返回值,后续代码通过判断key的值进行其他动作,不保存没法判断

3、为什么要初始化key的硬件连接端口,不初始化可以吗?为什么?
初始化是为了使按键可以正常工作,不初始化不可以

4、key=key_Scan(0)是什么意思?怎么就得到键值了?键值是什么?按键的值吗?不是很明白
key_Scan(0)此函数的返回值为键值,通过此值判断哪个按键被按了

建议多看看C语言,这些都是比较基础的

一周热门 更多>