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

用cubemx生成stm32f103的代码,JTAG管脚复用GPIO模式,为何控制不了

[复制链接]
create_ce 提问时间:2015-6-6 13:03 /
使用的是JLINK V8,在SW模式来烧写程序,所以PB3、PB4、PA15作为GPIO使用,但问题是我无法用
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_4,GPIO_PIN_SET)
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_4,GPIO_PIN_RESET)来进行控制,也就是电平无法拉高拉低,

初始化已经置为GPIO模式
  GPIO_InitStruct.Pin = GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_8
                          |GPIO_PIN_9;
  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
  GPIO_InitStruct.Speed = GPIO_SPEED_HIGH;
  HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);

请教有没有遇到这种问题,有没有解决的办法? 122.png
收藏 1 评论15 发布时间:2015-6-6 13:03

举报

15个回答
回答时间:2015-6-6 14:37:27
PB4是NJTRST,需要先关闭这个功能。
create_ce 回答时间:2015-6-6 14:54:18
用STM32CubeMX配置的,怎么关闭?也就是关闭JTAG功能,保留SW功能
回答时间:2015-6-6 14:58:36
没用过这个怎么配置,标准库是可以直接通过GPIO重映射修改。
create_ce 回答时间:2015-6-6 16:21:18
加了一句,__HAL_AFIO_REMAP_SWJ_NOJTAG();可以PB3 PB4当IO使用了,不过烧写完程序后,第二次居然烧写不了程序,必须把boot0拉高才能再次写程序,可是我总不能来回把boot0拉高拉低地切换,太麻烦了!
回答时间:2015-6-6 16:53:56
为什么非要这2个口呢?不能避开吗?
create_ce 回答时间:2015-6-6 17:39:28
不可避免,不是我的设计的硬件,是别人的
你好我好大家好! 回答时间:2015-6-6 18:51:15
自己修改一下
Dylan疾风闪电 回答时间:2015-6-8 16:47:49
跳线,
create_ce 回答时间:2015-6-13 18:26:47
__HAL_AFIO_REMAP_SWJ_NONJTRST();搞掂了
12下一页

所属标签

相似问题

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