由于中文乱码原因就插入一张截图作为参考
#include "stm32f10x_it.h" #include "stm32f10x_gpio.h" #include "stm32f10x.h" #include "Led.h" #define GPIO_PB5_On GPIO_ResetBits(GPIOB,GPIO_Pin_5);//ÉèÖÃPB5ΪµÍµçƽ #define GPIO_PB5_Off GPIO_SetBits(GPIOB,GPIO_Pin_5);//ÉèÖÃPB5Ϊ¸ßµçƽ void gpio_init(); void delay(int i); void Led_All_Off(){ GPIO_SetBits(GPIOB,GPIO_Pin_5);//ÉèÖÃPB5Ϊ¸ßµçƽ GPIO_SetBits(GPIOB,GPIO_Pin_0);//ÉèÖÃPB5Ϊ¸ßµçƽ GPIO_SetBits(GPIOB,GPIO_Pin_1);//ÉèÖÃPB5Ϊ¸ßµçƽ } void Led_All_On(){ GPIO_ResetBits(GPIOB,GPIO_Pin_5);//ÉèÖÃPB5Ϊ¸ßµçƽ GPIO_ResetBits(GPIOB,GPIO_Pin_0);//ÉèÖÃPB5Ϊ¸ßµçƽ GPIO_ResetBits(GPIOB,GPIO_Pin_1);//ÉèÖÃPB5Ϊ¸ßµçƽ } void Led_Red_On(){ Led_All_Off(); GPIO_PB5_On; } //ºìµÆϨÃð void Led_Red_Off(){ Led_All_Off(); GPIO_PB5_Off; } //ºìµÆÉÁËõ void Triggle_Red(){ Led_All_Off(); while(1){ GPIO_PB5_On; delay(10000000); GPIO_PB5_Off; delay(10000000); } } void gpio_init(){ //ÅäÖÃʱÖÓ 72/36 MHz RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE); GPIO_InitTypeDef gpio_structer;//¶¨Òå½á¹¹Ìå gpio_structer.GPIO_Speed = GPIO_Speed_50MHz;//ÉèÖÃÒý½ÅµÃË¢ÐÂËÙ¶È gpio_structer.GPIO_Mode = GPIO_Mode_Out_PP; //ÍÆÍìÊä³ö gpio_structer.GPIO_Pin = GPIO_Pin_5; GPIO_Init(GPIOB,&gpio_structer);//³õʼ»¯GPIOB gpio_structer.GPIO_Mode = GPIO_Mode_Out_PP; //ÍÆÍìÊä³ö gpio_structer.GPIO_Pin = GPIO_Pin_0; GPIO_Init(GPIOB,&gpio_structer);//³õʼ»¯GPIOB gpio_structer.GPIO_Mode = GPIO_Mode_Out_PP; //ÍÆÍìÊä³ö gpio_structer.GPIO_Pin = GPIO_Pin_1; GPIO_Init(GPIOB,&gpio_structer);//³õʼ»¯GPIOB gpio_structer.GPIO_Pin = GPIO_Pin_0; gpio_structer.GPIO_Mode = GPIO_Mode_IN_FLOATING;//¸¡¿ÕÊäÈë GPIO_Init(GPIOA,&gpio_structer);//³õʼ»¯GPIOB } void delay(int i){//ÑÓʱº¯Êý while(i--); }
主函数入口
#include "stm32f10x_it.h" #include "stm32f10x_gpio.h" #include "stm32f10x.h" #include "Led.h" #include "Button.h" #include "Uart.h" int main(){ gpio_init(); Triggle_Red();//此处是闪烁函数 while(1); return 0; }
现象
哪里有误请指正谢谢