完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
按键设置并不陌生,STM32板子上有5个按键,特别的一个是RST键(复位键)而其他四个键。
控制按键只需要对其端口初始化,对其GPIO口进行时间配置,并对KEY初始化, 加上LED的相关配置;就可以实现LED的亮灭。 void RCC_Configuration(void) { SystemInit();//时间配置 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);//使能或者失能 APB2 外设时钟 (GPIO(B)指的是led,定义的B型端口) RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);//(GPIO(c)指的是key,定义的c型端口) } void GPIO_Configuration(void) { GPIO_InitTypeDef GPIO_InitStructure;//GPIO_InitStructure为设置的变量 //LED初始化 GPIO_InitStructure.GPIO_Pin=GPIO_Pin_5;//led 选择待设置的 GPIO 端口 GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;// 设置选中管脚的速率 GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;// GPIO 设置选中管脚的工作状态 推挽输出 GPIO_Init(GPIOB,&GPIO_InitStructure); //KEY初始化GPIO_InitStructure.GPIO_Pin=GPIO_Pin_5;//输入管脚没有口线反转速度GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPU;// GPIO 设置选中管脚的工作状态 输入上拉模式 GPIO_Init(GPIOC,&GPIO_InitStructure); } 主程序要写入按键如何控制LED,可以写成if形式,判断按键是否按下。未按下时,LED灯一直灭,按下时LED灯亮。 while(1) { //if{}不断读取管脚状态 GPIO_ReadInputDataBit读取指定端口管脚的输入 if(GPIO_ReadInputDataBit(GPIOC/设置的端口/,GPIO_Pin_5/设置端口里的管脚/)==Bit_RESET) { //LED 发光 低电平 GPIO_ResetBits(GPIOB,GPIO_Pin_5);//清除指定的数据端口位 } else { //LED 熄灭 高电平 GPIO_SetBits(GPIOB,GPIO_Pin_5);//设置指定的数据端口位 } } |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1763 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1617 浏览 1 评论
1059 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
723 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1670 浏览 2 评论
1933浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
726浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
566浏览 3评论
592浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
550浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-21 08:44 , Processed in 0.784686 second(s), Total 76, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号