打印

STM32 SWD引脚Remap之后不能做上拉输入?

[复制链接]
5041|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Xflyan|  楼主 | 2012-12-25 12:20 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
芯片:STM32F103R8T6    环境:EWARM 6.21.4

在程序初始化完成之后,加了这么一个函数Remap SWD的两个引脚做为按键输入,发现无法开启PA14的内部上拉,PA14还是处于复位后的下拉状态,什么情况呢?
void hwGpioSWDInput(void)
{
        hwSWJRemap(SWJ_DISABLE);

        GPIOA->CRH  &= 0xF00FFFFF;
        GPIOA->CRH  |= 0x08800000;
        GPIOA->BSRR |= 0x6000;
}
RM0008  PAGE 156:


沙发
uet_cache| | 2012-12-25 15:48 | 只看该作者
这个没试过,不过,你可以外接上拉电阻试试。这样的问题,我有遇到过。STM8和STM32F3的都碰到过,外面接个上拉电阻就解决了。不过,你的问题,以实验结果为准。

使用特权

评论回复
板凳
Xflyan|  楼主 | 2012-12-26 09:13 | 只看该作者
uet_cache 发表于 2012-12-25 15:48
这个没试过,不过,你可以外接上拉电阻试试。这样的问题,我有遇到过。STM8和STM32F3的都碰到过,外面接个 ...

加上拉电阻是肯定可用的 因为我直接把它接到VCC while循环就结束了
只是现在不确定加了上拉电阻之后对重新编程有没有影响
PA13因为默认是拉高的 所以能正常使用

使用特权

评论回复
地板
uet_cache| | 2012-12-26 09:27 | 只看该作者
加上拉电阻,跟程序没关系吧。只要你硬件能满足要求,程序自然运行正常。

使用特权

评论回复
5
Xflyan|  楼主 | 2012-12-27 09:27 | 只看该作者
uet_cache 发表于 2012-12-26 09:27
加上拉电阻,跟程序没关系吧。只要你硬件能满足要求,程序自然运行正常。 ...

加了上拉电阻 编程没问题 但是编程器连着的时候还是无**常使用 要把编程器拨掉 引脚按键的功能才正常
现在就是测试时不太方便 老是要拔编程接口 但是应该不影响最终使用

使用特权

评论回复
6
uet_cache| | 2012-12-27 09:44 | 只看该作者
你是什么仿真器?之前帖上有个人用ULINK,也是总要插拔,才能正常复位使用。不过,JLINK,没这问题。。

使用特权

评论回复
7
Xflyan|  楼主 | 2012-12-27 19:38 | 只看该作者
uet_cache 发表于 2012-12-27 09:44
你是什么仿真器?之前帖上有个人用ULINK,也是总要插拔,才能正常复位使用。不过,JLINK,没这问题。。 ...

力源的ST-LINK-V2 研讨会的时候购买的 应该和编程器无关 只是编程器在空闲状态下对那个脚输出低电平而已

使用特权

评论回复
8
uet_cache| | 2012-12-27 20:01 | 只看该作者
如果你脱离仿真器运行正常,那程序应该没问题。STLINK 我不喜欢,有时速度慢,且容易死机。我都是用的JLINK调试。

使用特权

评论回复
9
Xflyan|  楼主 | 2012-12-28 13:06 | 只看该作者
uet_cache 发表于 2012-12-27 20:01
如果你脱离仿真器运行正常,那程序应该没问题。STLINK 我不喜欢,有时速度慢,且容易死机。我都是用的JLINK ...

STLINK确实是偶尔会死机 要重新拔插才能用 当时是半价优惠买过来的 也就一直用着了 因为也要做STM8的开发 手头有一个JLINKV7 不常用...

使用特权

评论回复
10
uet_cache| | 2012-12-28 14:29 | 只看该作者
我都是用JLINKV8调32,用STLINK调8,从来没有上面的烦恼。你要JLINK的话,可以到我店铺。。。

使用特权

评论回复
11
明月小厨| | 2012-12-28 23:15 | 只看该作者
系统上电后默认是SW模式有效的;所以IO的端口无论怎么设都没有用;

使用特权

评论回复
12
明月小厨| | 2012-12-28 23:17 | 只看该作者
如果你希望关闭SW功能,使用IO端口;需要更改系统的设置;用户当然是可以设置的;具体怎么设置我没关注过;有可能是在options字节选项中;
这个不改,IO端口无法启用;

使用特权

评论回复
13
Xflyan|  楼主 | 2012-12-30 10:21 | 只看该作者
本帖最后由 Xflyan 于 2012-12-30 10:24 编辑
明月小厨 发表于 2012-12-28 23:17
如果你希望关闭SW功能,使用IO端口;需要更改系统的设置;用户当然是可以设置的;具体怎么设置我没关注过;有可 ...

应用程序是可以直接关闭SWJ的全部功能的,但是要记得在程序退出的时候恢复,否则SWJ就不能用了,只能通过ISP修改,我有一个芯片就这样被锁死了
不过是否要在应用里改OPTION BYTE恢复IO功能,这个还没有试过

使用特权

评论回复
14
明月小厨| | 2012-12-30 14:11 | 只看该作者
你说的情况有可能存在的,我得小心了;不过我的SWD端口是专用的;

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:业精于专!做精密仪器 做舒适测量!www.tesoo.cc

3

主题

305

帖子

2

粉丝