你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

查看: 8425|回复: 5

STM32的PB3引脚作为GPIO后,只能输出低电平

[复制链接]

22

主题

97

回帖

1

蝴蝶豆

中级会员

最后登录
2019-11-6
发表于 2012-11-14 23:35:32 | 显示全部楼层 |阅读模式
 
打开AFIO时钟,然后使用GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable , ENABLE),只使用sw接口,
            PB4可以正常输出高低电平,在引脚上可以测得电压。
            但PB3只能观察到它的ODR寄存器有变化,但是引脚上一直是低电平。有遇到此问题的大侠吗?
            我将程序下载到正常的3块板子,还是同样的问题,请指教下,谢谢了!
回复

使用道具 举报

22

主题

97

回帖

1

蝴蝶豆

中级会员

最后登录
2019-11-6
 楼主| 发表于 2012-11-15 11:22:26 | 显示全部楼层

RE:STM32的PB3引脚作为GPIO后,只能输出低电平

没有人遇到这种问题吗?
回复 支持 反对

使用道具 举报

8

主题

206

回帖

0

蝴蝶豆

中级会员

最后登录
2019-10-23
发表于 2012-11-15 13:18:37 | 显示全部楼层

RE:STM32的PB3引脚作为GPIO后,只能输出低电平

你把PB3 PB4的 设置程序 贴出来看看  ,还有你的PB3 PB4 外围电路有什么差异吗、?
回复 支持 反对

使用道具 举报

0

主题

4

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
发表于 2012-11-27 19:18:42 | 显示全部楼层

RE:STM32的PB3引脚作为GPIO后,只能输出低电平

没关闭JTAG功能 不能对PB3进行控制
回复 支持 反对

使用道具 举报

8

主题

18

回帖

0

蝴蝶豆

初级会员

最后登录
2016-12-23
发表于 2016-12-1 14:11:19 | 显示全部楼层
帖子有点久了~~不过今天刚好遇到这个问题并解决了,,希望对之后遇到该问题的朋友有所帮助吧
我采用cube结合keil进行开发的,,
我的解决方法:
在stm32f1xx_hal_msp.c文件中,添加了DBGMCU->CR  &= ~((uint32_t)1<<5);解决了问题,按STM32彻底释放PB3做为普通IO口使用的说法,可能是由于D版Keil或者JLINK的原因出现了BUG,使得STM32打开了异步跟踪,占用PB3,将异步跟踪关掉PB3就可以正常正常使用。

常规开发的话,可采用下述方式:参照【特殊的PB3】设置stm32 PB3 端口作为输入方法

       在程序初始化的时候要加上这两句话来让PB3 PA15 PB3 能正常使用。
              RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
              GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);              
             DBGMCU->CR  &= ~((uint32_t)1<<5);   
             AFIO->MAPR = (AFIO->MAPR & ~((uint32_t)0x7 << 24)) | (2 << 24);     /*  PA15 PB3 PB4 */

cube中的配置及项目中所需添加内容如下所示:

12.png
QQ截图20161201135805.png
回复 支持 反对

使用道具 举报

19

主题

1714

回帖

7

蝴蝶豆

论坛元老

最后登录
2020-10-25
发表于 2017-3-4 10:42:33 来自手机 | 显示全部楼层
cube的力量正在显现出来
回复 支持 反对

使用道具 举报

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版