STM32 使用庫函數(按鍵控制led不一樣的閃爍效果)函數
下面是main.cspa
#include "stm32f10x.h" #include "led.h"` #include "key.h" int main(void) { while(1) { if(!GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_3)) { GPIO_WriteBit(GPIOE,GPIO_Pin_5,(BitAction)(1)); } else { GPIO_WriteBit(GPIOE,GPIO_Pin_5,(BitAction)(0)); } } }
led.ccode
#include "led.h" void LED_Init(void) { GPIO_InitTypeDef GPIO_InitStructure;//構造結構體 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE,ENABLE);//使能其所在時鐘 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;//定義IO端口 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;//定義IO端口輸出模式 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//定義IO端口輸出速度 GPIO_Init(GPIOE, &GPIO_InitStructure);//寫入其中 }
led.hip
#ifndef _led_H #include "stm32f10x.h" #include "stm32f10x_gpio.h" void LED_Init(void); #endif
key.cit
#include "key.h" void KEY_Init(void) { GPIO_InitTypeDef GPIO_InitStructure; //構造結構體 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE,ENABLE);//使能其所在時鐘 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3;//定義IO端口 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;//上拉輸入 GPIO_Init(GPIOE,&GPIO_InitStructure); }
key.hio
#ifndef _led_H #define _led_H #include "stm32f10x.h" #include "stm32f10x_gpio.h" void KEY_Init(void); #define KEYPORT GPIOE #define KEY1 GPIO_Pin_3 #endif