一开始初始化代码如下:
RCC_APB2PeriphClockCmd(RCC_AHBPeriph_GPIOB, ENABLE); //使能端口时钟
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; //推挽输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//速度50MHz
GPIO_Init(GPIOB, &GPIO_InitStructure); //初始化
GPIO_SetBits(GPIOB,GPIO_Pin_1);
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOB, ENABLE); //使能端口时钟
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; //推挽输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//速度50MHz
GPIO_Init(GPIOB, &GPIO_InitStructure); //初始化
GPIO_SetBits(GPIOB,GPIO_Pin_1);
通过查看数据手册,我们可以发现,PA、PB等是挂载在AHB总线上的。
但是经验证,RCC_APB2PeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE); //使能端口时钟可以正常工作,原因未知!有了解的朋友麻烦告知一下~