stm32单片机按键控制的用法解析

1 /*
2 ::按键控制
3 pa8接led,pe2接按键
4 */
5 #include“stm32f10x.h”
6 void rcc_configuration(void);
7 void gpio_config(void);
8 void delay(__io uint32_t ncount);
9
10 int main()
11 {
12 rcc_configuration(); //系统时钟配置|使能gpio口
13 gpio_config(); //led控制配置
14 while (1)
15 {
16 if(!gpio_readinputdatabit(gpioe,gpio_pin_2))
17 {
18 delay(0x000ff);//延时防抖
19 if(!gpio_readinputdatabit(gpioe,gpio_pin_2))
20 {
21 gpio_writebit(gpioa,gpio_pin_8,(bitaction)(1-gpio_readoutputdatabit(gpioa,gpio_pin_8)));
22 }
23 }
24 }
25 }
26 /****************************************************************************
27 * 名 称:void gpio_config(void)
28 * 功 能:gpio初始化函数
29 * 入口参数:无
30 * 出口参数:无
31 * 说 明:
32 * 调用方法:无
33 ****************************************************************************/
34 void gpio_config(void)
35 {
36 gpio_inittypedef gpio_initstructure;
37 gpio_initstructure.gpio_pin = gpio_pin_8; //配置leda8
38 gpio_initstructure.gpio_mode = gpio_mode_out_pp;//推挽输出
39 gpio_initstructure.gpio_speed = gpio_speed_50mhz;
40 gpio_init(gpioa, &gpio_initstructure);
41
42 gpio_initstructure.gpio_pin = gpio_pin_2; //配置按键pe2
43 gpio_initstructure.gpio_mode = gpio_mode_ipu;//上拉输入
44 gpio_initstructure.gpio_speed = gpio_speed_50mhz;
45 gpio_init(gpioe, &gpio_initstructure);
46 }
47 /****************************************************************************
48 * 名 称:void rcc_configuration(void)
49 * 功 能:系统时钟配置为72mhz|使能gpio口
50 * 入口参数:无
51 * 出口参数:无
52 * 说 明:
53 * 调用方法:无
54 ****************************************************************************/
55 void rcc_configuration(void)
56 {
57 systeminit();
58 rcc_apb2periphclockcmd(rcc_apb2periph_gpioa |rcc_apb2periph_gpioe, enable);//使能gpio口
59 }
60 /****************************************************************************
61 * 名 称:void delay(__io uint32_t ncount)
62 * 功 能:延时函数
63 * 入口参数:无
64 * 出口参数:无
65 * 说 明:
66 * 调用方法:无
67 ****************************************************************************/
68 void delay(__io uint32_t ncount)
69 {
70 for(; ncount != 0; ncount--);
71 }

触模式交流开关的工作原理及装配
LED显示屏在学校的应用,它具有什么优势
对于家用光伏逆变器你了解多少?
英创信息技术嵌入式主板EM9170的PWM介绍
腾讯推出了可以诊断帕金森症的AI辅助诊断技术
stm32单片机按键控制的用法解析
AI芯片攻坚战已然打响 深度学习技术逐渐成为主流
Saber软件与电源变换器设计实现
【从0开始创建AWTK应用程序】编译应用到嵌入式Linux平台运行
人工智能广西学会第一次会员代表大会在南宁举行
铸铁冷焊的焊接方法及注意事项
高精度高边检流放大器监测PWM负载电流
北京在区块链上的应用进度情况怎样
魅族Pro7概念图发布,打破魅族以来的设计传统
LED照明驱动厂商:上海智浦欣微电子有限公司简介
基于一种磁致伸缩的线性位移测量系统LMPS 34介绍
一份科技行业高薪清单曝光了,年薪最高达到34.5万美元
稳压管工作特性是什么?
详解图神经网络的数学原理1
工业机器人如何定义,它的特点是什么