1. void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct)
    2. //GPIOx 哪个GPIO端口
    3. //GPIO_InitStruct 初始化成什么模式
    1. #include "led.h"
    2. //硬件 GPIOB 8 9 10 11
    3. //低电平亮
    4. GPIO_InitTypeDef gpio_initStruct = {0};
    5. void led_init(void)
    6. {
    7. //通过GPIO初始化实现
    8. RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
    9. gpio_initStruct.GPIO_Pin = GPIO_Pin_9 | GPIO_Pin_10 | GPIO_Pin_11 | GPIO_Pin_8;
    10. gpio_initStruct.GPIO_Speed = GPIO_Speed_50MHz;
    11. gpio_initStruct.GPIO_Mode = GPIO_Mode_Out_PP;
    12. GPIO_Init(GPIOB, &gpio_initStruct);
    13. //输出为0
    14. //GPIO_SetBits(GPIOG, GPIO_Pin_6 | GPIO_Pin_7);
    15. //GPIO_SetBits(GPIOB, GPIO_Pin_9 | GPIO_Pin_10 | GPIO_Pin_11 | GPIO_Pin_8 );
    16. //
    17. }
    18. void led_flash(void)
    19. {
    20. GPIO_ResetBits(GPIOB, GPIO_Pin_8);
    21. delay();
    22. GPIO_SetBits(GPIOB, GPIO_Pin_8);
    23. delay();
    24. }
    25. static void delay(void)
    26. {
    27. int i = 0, j = 0;
    28. for (i = 0; i < 500; i++)
    29. for(j = 0; j < 1000; j++);
    30. }
    1. int main(void)
    2. {
    3. // led_init();
    4. // flash();
    5. // Set_SysClockTo72M();
    6. led_init();
    7. while(1)
    8. {
    9. led_flash();
    10. //GPIOB->ODR ^= GPIO_Pin_0;
    11. };
    12. return 0;
    13. }