STM32F030 PB1引脚无法置高问题的解决

在初始化STM32F030的PB1引脚为推挽输出并设置速度为50MHz后,发现无法置高。检查代码发现使能端口时钟的语句重复,且使用了错误的外设时钟初始化函数。尽管如此,PA引脚在相同操作下工作正常。查阅数据手册揭示PB引脚连接到AHB总线,而正确使能应使用RCC_AHBPeriphClockCmd。问题待进一步调查。
摘要由CSDN通过智能技术生成

一开始初始化代码如下:

    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);     //使能端口时钟可以正常工作,原因未知!有了解的朋友麻烦告知一下~ 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值