打印

关于JTDI,也就是PA15引脚的开漏输出的问题!

[复制链接]
15289|16
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
fredinand|  楼主 | 2012-8-24 09:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
想使用JTDI引脚作为普通IO,所以使用GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);//释放引脚PA15使用4.7K的电阻将其上拉到5V,并配置为开漏输出
GPIO_InitStructure.GPIO_Pin =GPIO_Pin_15;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_OD;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_Init(GPIOA, &GPIO_InitStructure);

发现执行命令GPIO_ResetBits(GPIOA,GPIO_Pin_15);后引脚电平为0.03V没有问题,
但是执行完命令GPIO_SetBits(GPIOA,GPIO_Pin_15);后引脚电平为3V,按照开漏输出的原理,引脚电平应该被外部上拉电阻上拉到5V才对吧?
  不明白什么原因,有知道的大虾们请指导!
沙发
figo20042005| | 2012-8-24 09:47 | 只看该作者
改成推挽输出吧,应该5V

使用特权

评论回复
板凳
fredinand|  楼主 | 2012-8-24 10:49 | 只看该作者
本帖最后由 fredinand 于 2012-8-24 10:55 编辑

确定是挽推输出吗?挽推的话不是应该输出3.3V吗?是猜测还是。。。从STM32引脚内部结构上来说你的建议我觉得有问题。

使用特权

评论回复
地板
airwill| | 2012-8-24 11:03 | 只看该作者
本帖最后由 airwill 于 2012-8-24 11:04 编辑

改成推挽输出, 就不能输出 5V 了.
按照数据手册, PA15 是 FT 脚, 设置为开漏输出后应该是 5V, 即使不是 FT 脚也应该不止 3V(如果电源是 3.3V).
可以确认一下硬件上电路和上拉的电压端还有外围的其他电路的影响.

使用特权

评论回复
5
IJK| | 2012-8-24 11:08 | 只看该作者
有些问题要注意:
检查PA15是不是5V torlerant (FT)
关闭PullUp和PullDown

使用特权

评论回复
6
fredinand|  楼主 | 2012-8-24 11:29 | 只看该作者
有些问题要注意:
检查PA15是不是5V torlerant (FT)
关闭PullUp和PullDown
IJK 发表于 2012-8-24 11:08
PA15是FT,内部上拉电阻不是用于JTAG时用作JTDI输入的上拉电阻吗?
配置成开漏输出的话,输入端实际上是断开的吧?

使用特权

评论回复
7
acgean| | 2012-8-24 12:06 | 只看该作者
配置成开漏输出的话,输入端实际上是断开的,也就是说, 输入的上下拉是不会起作用的

使用特权

评论回复
8
fredinand|  楼主 | 2012-8-24 22:35 | 只看该作者
配置成开漏输出的话,输入端实际上是断开的,也就是说, 输入的上下拉是不会起作用的
acgean 发表于 2012-8-24 12:06

正解!但是怎么解释我的问题呢?

使用特权

评论回复
9
acgean| | 2012-8-25 09:16 | 只看该作者
看看你还有外围电路的情况呢

使用特权

评论回复
10
qzx0580| | 2012-8-25 17:37 | 只看该作者
4.7K的上拉电阻太小,还是改为10K的吧,这样效果好一点,但是也拉不到5V。
再加一个箝位二极管大概能拉到4.0V+,5V到不了。

使用特权

评论回复
11
fredinand|  楼主 | 2012-8-26 19:04 | 只看该作者
10# qzx0580
原因可以说的更清楚一些吗?谢谢!

使用特权

评论回复
12
fredinand|  楼主 | 2012-8-29 19:29 | 只看该作者
?没有人跟了?香主能出来解释下不?

使用特权

评论回复
13
香水城| | 2012-8-30 13:43 | 只看该作者
无法解释

FT的,开漏输出到5V不应该有问题

如果有问题,只能是设置或者其他硬件有问题

使用特权

评论回复
14
fredinand|  楼主 | 2012-8-30 21:30 | 只看该作者
13# 香水城
那我再试试看吧,外围没有接任何器件,只留了一个插座

使用特权

评论回复
15
IJK| | 2012-8-31 16:43 | 只看该作者
还有一个变通的实验办法:用其它非JTAG的 FT GPIO 引脚,试试看如何,按理能上拉到5V的。

使用特权

评论回复
16
冰茶爽爽| | 2012-9-1 21:17 | 只看该作者
RCC->APB2ENR|=1<<0;      //打开AFIO时钟                                                  
                                                                                          
        AFIO->MAPR|=0X04000000;         //关闭PA15的JTAG复用功能

        RCC->APB2ENR|=1<<2;                //使能PORTA时钟

        GPIOA->CRH&=0X0FFFFFFF;
        GPIOA->CRH|=0X30000000;   //PA15推挽输出
        GPIOA->ODR|=1<<7;         //PA15输出高

使用特权

评论回复
17
fredinand|  楼主 | 2012-9-2 14:01 | 只看该作者
15# IJK
呵呵,其他都正常!

使用特权

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

本版积分规则

124

主题

151

帖子

1

粉丝