资源简介

STM32F030 低功耗学习 (stop mode),待机电流5~6uA。寄存器操作学习 功能: 1.开机后LED(PC13) 亮0.2s后关闭,0.2s进入stop mode 2.K1~K6 按键外部中断唤醒LED闪烁,结束后继续进入stop mode。 3.TIMER3 200ms自动重装中断;外部中断启动并给定中断次数;计次为0关闭timer3,为进入stop mode 准备。

资源截图

代码片段和文件信息

#include “key.h“
#include “delay.h“
#include “LED.h“
#include “timer.h“
   
//按键初始化函数 
//PA0.15和PC5 设置成输入
void KEY_Init(void)
{
RCC->AHBENR |= RCC_AHBENR_GPIOAEN; //使能PORTA时钟
GPIOA->MODER &= 0xFFFFF000; //设置PA.0~5 为输入模式

GPIOA->PUPDR &= 0xFFFFF000; 
GPIOA->PUPDR |= 0x00000555; //设置PA.0~5 开启上拉
EXTI->PR = 0x0000003f;
Ex_NVIC_Config(GPIO_A0FTIR);//下降沿触发
Ex_NVIC_Config(GPIO_A1FTIR);//下降沿触发
Ex_NVIC_Config(GPIO_A2FTIR);//下降沿触发
Ex_NVIC_Config(GPIO_A3FTIR);//下降沿触发
Ex_NVIC_Config(GPIO_A4FTIR);//下降沿触发
Ex_NVIC_Config(GPIO_A5FTIR);//下降沿触发
EXTI->PR = 0x0000003f;
MY_NVIC_Init(22EXTI0_1_IRQn2);     //抢占2,子优先级2,组2
MY_NVIC_Init(21EXTI2_3_IRQn2);   //抢占2,子优先级1,组2
MY_NVIC_Init(20EXTI4_15_IRQn2); //抢占2,子优先级0,组2  


//KEY外部中断配置函数
//只针对GPIOA 0-5

评论

共有 条评论