OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2871|回复: 4

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

[复制链接]

2

主题

9

帖子

0

精华

新手入门

积分
16
金钱
16
注册时间
2019-1-4
在线时间
3 小时
发表于 2019-1-4 10:31:31 | 显示全部楼层 |阅读模式
1金钱
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)是什么意思?怎么就得到键值了?键值是什么?按键的值吗?不是很明白
谢谢大神!

最佳答案

查看完整内容[请看2#楼]

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的硬件连接端口,不初始化可以吗?为什么? 初始化是为了 ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

14

主题

204

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2443
金钱
2443
注册时间
2017-9-13
在线时间
559 小时
发表于 2019-1-4 10:31:32 | 显示全部楼层
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语言,这些都是比较基础的
回复

使用道具 举报

14

主题

204

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2443
金钱
2443
注册时间
2017-9-13
在线时间
559 小时
发表于 2019-1-4 10:37:55 | 显示全部楼层
你应该先看看C语言
回复

使用道具 举报

2

主题

9

帖子

0

精华

新手入门

积分
16
金钱
16
注册时间
2019-1-4
在线时间
3 小时
 楼主| 发表于 2019-1-4 10:52:00 来自手机 | 显示全部楼层
HCHDaLeiGe 发表于 2019-1-4 10:37
你应该先看看C语言

看了,但不是很懂
回复

使用道具 举报

2

主题

9

帖子

0

精华

新手入门

积分
16
金钱
16
注册时间
2019-1-4
在线时间
3 小时
 楼主| 发表于 2019-1-4 12:00:41 来自手机 | 显示全部楼层
HCHDaLeiGe 发表于 2019-1-4 11:15
1、u8我查了一下资料,是8位2进制数,为什么不是u16、u32呀?
u8是unsigned char,该数据类型的取值范围是 ...

万分感谢,您的解答很详细,我完全理解了!我最近在学这方面,在看《C primer plus》第五版,书上只是说了什么是数组,什么是变量,数据类型有哪些……等等等等,没有你说的好,书上说的虽然详细,但不是很好理解运用
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-9 11:54

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表