初学stm32,看到野火开发板的点亮led等有一个问题不解,一共3个led PB0 ,PB1,PB5,在编写led库函数时 输出方式和引脚速度只设置一次,假如我3个引脚方式不一样,是不是每个设置一次,还是需要写在不同的函数里? void LED_GPIO_Config(void) { /*¶¨ÒåÒ»¸öGPIO_InitTypeDefÀàÐ͵ĽṹÌå*/ GPIO_InitTypeDef GPIO_InitStructure; /*¿ªÆôLEDÏà¹ØµÄGPIOÍâÉèʱÖÓ*/ RCC_APB2PeriphClockCmd( LED1_GPIO_CLK | LED2_GPIO_CLK | LED3_GPIO_CLK, ENABLE); /*Ñ¡ÔñÒª¿ØÖƵÄGPIOÒý½Å*/ GPIO_InitStructure.GPIO_Pin = LED1_GPIO_PIN; /*ÉèÖÃÒý½ÅģʽΪͨÓÃÍÆÍìÊä³ö*/ GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; /*ÉèÖÃÒý½ÅËÙÂÊΪ50MHz */ GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; /*µ÷Óÿ⺯Êý£¬³õʼ»¯GPIO*/ GPIO_Init(LED1_GPIO_PORT, &GPIO_InitStructure); /*Ñ¡ÔñÒª¿ØÖƵÄGPIOÒý½Å*/ GPIO_InitStructure.GPIO_Pin = LED2_GPIO_PIN; /*µ÷Óÿ⺯Êý£¬³õʼ»¯GPIO*/ GPIO_Init(LED2_GPIO_PORT, &GPIO_InitStructure); /*Ñ¡ÔñÒª¿ØÖƵÄGPIOÒý½Å*/ GPIO_InitStructure.GPIO_Pin = LED3_GPIO_PIN; /*µ÷Óÿ⺯Êý£¬³õʼ»¯GPIOF*/ GPIO_Init(LED3_GPIO_PORT, &GPIO_InitStructure); /* ¹Ø±ÕËùÓÐledµÆ */ GPIO_SetBits(LED1_GPIO_PORT, LED1_GPIO_PIN); /* ¹Ø±ÕËùÓÐledµÆ */ GPIO_SetBits(LED2_GPIO_PORT, LED2_GPIO_PIN); /* ¹Ø±ÕËùÓÐledµÆ */ GPIO_SetBits(LED3_GPIO_PORT, LED3_GPIO_PIN); } |
看一下寄存器就明白了
评分
查看全部评分