stm32之5.长按按键(使用时钟源)调整跑马灯速度


源码

#include <stm32f4xx.h>

#include "led.h"

#include "delay.h"

#include "my_str.h"

#include "beep.h"

#include "key.h"

int main(void)

{

key_init();

Led_init();

while(1)

{

/* 长按按键才能够识别 */

if(Bit_RESET==GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0))

{

RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW));

RCC->CFGR |= RCC_CFGR_SW_PLL;

}

if(Bit_RESET==GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_2))

{

RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW));

RCC->CFGR |= RCC_CFGR_SW_HSI;

}

if(Bit_RESET==GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_3))

{

RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW));

RCC->CFGR |= RCC_CFGR_SW_HSE;

}

GPIO_WriteBit(GPIOF,GPIO_Pin_9,Bit_RESET);

MY_DelayMs(500);

GPIO_WriteBit(GPIOF,GPIO_Pin_9,Bit_SET);

MY_DelayMs(500);

GPIO_WriteBit(GPIOF,GPIO_Pin_10,Bit_RESET);

MY_DelayMs(500);

GPIO_WriteBit(GPIOF,GPIO_Pin_10,Bit_SET);

MY_DelayMs(500);

GPIO_WriteBit(GPIOE,GPIO_Pin_13,Bit_RESET);

MY_DelayMs(500);

GPIO_WriteBit(GPIOE,GPIO_Pin_13,Bit_SET);

MY_DelayMs(500);

GPIO_WriteBit(GPIOE,GPIO_Pin_14,Bit_RESET);

MY_DelayMs(500);

GPIO_WriteBit(GPIOE,GPIO_Pin_14,Bit_SET);

MY_DelayMs(500);

}

}

相关推荐
碧海银沙音频科技研究院4 分钟前
基于炬芯ATS3089X的ST LIS2DW12 三轴 MEMS 加速度传感器(G-Sensor)敲击按键功能实现
人工智能·嵌入式硬件
ccbw167 分钟前
CH32L103低功耗RISC-V MCU的集成外设与选型参考
单片机·嵌入式硬件·risc-v·低功耗mcu·潜创微·青稞risc-v4c
逐光者93315 分钟前
电子设计——运算放大器(运放)基础
嵌入式硬件
霖霖71422 分钟前
【ESP32笔记】读取DHT11温湿度数据
笔记·单片机·mcu·物联网
HRTOS29 分钟前
HRTOS 4.0 硬件实测:os_delay() 延迟测试与系统时间精度分析
单片机·嵌入式硬件·51单片机
yrx02030741 分钟前
迪文屏C51开发
stm32·串口屏
硅基手札1 小时前
【I2C 技术系列 11】I2C Linux 驱动框架
linux·驱动开发·stm32·单片机·嵌入式硬件·mcu·计算机外设
碧海银沙音频科技研究院1 小时前
炬芯ATS3089智能手表烧录方法
人工智能·驱动开发·嵌入式硬件·算法
深圳市恒锐丰科技杨生1 小时前
LTK52201 立体声 D 类音频功率放大器|LTKCHIP 联辉科
嵌入式硬件·硬件工程
华清远见IT开放实验室2 小时前
百校同练,虚仿先行 | 2026秋季虚拟仿真“百校同练”实训行动正式启动,100所院校免费申报
人工智能·嵌入式硬件·物联网·具身智能·华清远见·百校同练