資源簡介
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
評論
共有 條評論