直接操作地址进行GPIO初始化
#include "led_driver.h"
#define GPIOC_CRL (*(volatile unsigned int *)0x40011000)
#define GPIOC_CRH (*(volatile unsigned int *)(0x40011000 + 0x04))
#define GPIOC_BSRR (*(volatile unsigned int *)(0x40011000 + 0x10))
#define GPIOC_BRR (*(volatile unsigned int *)(0x40011000 + 0x14))
//1.硬件初始化
void led_init(void)
{
#if 0
GPIO_InitTypeDef GPIO_InitStruct;
//使能时钟总线
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP; //模式
GPIO_InitStruct.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7 | GPIO_Pin_8; //引脚
GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz; //响应速度
GPIO_Init(GPIOC, &GPIO_InitStruct);
//关灯(初始状态):设置为高电平
GPIO_SetBits(GPIOC, GPIO_Pin_6