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

}

}

相关推荐
GreenGoblin9 分钟前
14.DSP学习记录之I2C
单片机·dsp开发·c2000
Lugas Luo38 分钟前
SATA 协议报错信号与根因定位分析指南
linux·嵌入式硬件
敬往事一杯酒哈1 小时前
步进电机的使用
单片机·嵌入式硬件
恒森宇电子有限公司1 小时前
南麟XT3406 DC-DC降压稳压器芯片 SOT23-5封装
单片机·嵌入式硬件
逐步前行1 小时前
HAL_RCC
单片机·嵌入式硬件
RFID舜识物联网1 小时前
耐高温RFID标签提升汽车喷涂线效率,精准度再升级
大数据·人工智能·嵌入式硬件·物联网·汽车
Suifqwu1 小时前
rk3576(5)之编些简单GPIO驱动
单片机·嵌入式硬件
爱喝纯牛奶的柠檬2 小时前
【已验证】STM32采集声音传感器实现环境声实时监测
单片机·嵌入式硬件
我先去打把游戏先2 小时前
Git 一个本地仓库同时推送到两个远程仓库(私人 GitHub + 公司 Git)保姆级教程
git·vscode·单片机·嵌入式硬件·物联网·学习·github
悠哉悠哉愿意2 小时前
【物联网学习笔记】OLED
笔记·单片机·嵌入式硬件·物联网·学习