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);

}

}

相关推荐
AOI小白新手上路8 小时前
江科协51单片机 17-2 红外遥控电机调速实验调试总结
单片机·嵌入式硬件·51单片机
oshan201210 小时前
零基础STM32入门教程--10-PWM 呼吸灯
stm32·单片机·嵌入式硬件
记帖11 小时前
STM32C5A3R开发(7)----ADC电压采集
嵌入式硬件·adc·dac·stm32cubeide·stm32c5·stm32cubemx2·stm32c5a3rgt6
自小吃多13 小时前
器件移动、旋转、镜像、对齐、等间距操作笔记
笔记·嵌入式硬件
jianqiang.xue14 小时前
智能体整体架构设计:四大模块与目录组织
单片机·嵌入式硬件·物联网·架构·esp32
Messy create15 小时前
【BMS-AFE-温度检测】
stm32·单片机·能源
东莞市永盛电气16 小时前
三相208V变380V变压器,出海工业设备供电适配方案
python·单片机·嵌入式硬件
桃蹊、16 小时前
串口/网络透传实战:FreeRTOS 多任务架构与连接池设计
stm32·物联网·wifi·freertos
Learn-Share_HY17 小时前
[IT Network]如何配置反向路徑過濾器(rp_filter),以解決路由不對稱問題?
linux·嵌入式硬件·物联网·网络协议·tcp/ip·http·iot
深圳市宝华视联18 小时前
医院内网部署手术示教系统注意事项
嵌入式硬件·实时互动·音视频·实时音视频·视频编解码·嵌入式实时数据库