liuhailong-1865 发表于 2019-12-26 09:56:31

STM32F10多个IO的速度设置问题,

初学stm32,看到野火开发板的点亮led等有一个问题不解,一共3个ledPB0 ,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);
}


mylovemcu 发表于 2019-12-26 10:10:23

是的配置方式一样的口线直接用相或之后就可以了配置不一样的口线需要单独配置

看一下寄存器就明白了

glenxu 发表于 2019-12-26 15:28:34

楼上有理,正确!
页: [1]
查看完整版本: STM32F10多个IO的速度设置问题,