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

[复制链接]
16687|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).
可以确认一下硬件上电路和上拉的电压端还有外围的其他电路的影响.
IJK 发表于 2012-8-24 11:08 | 显示全部楼层
有些问题要注意:
检查PA15是不是5V torlerant (FT)
关闭PullUp和PullDown
 楼主| fredinand 发表于 2012-8-24 11:29 | 显示全部楼层
有些问题要注意:
检查PA15是不是5V torlerant (FT)
关闭PullUp和PullDown
IJK 发表于 2012-8-24 11:08
PA15是FT,内部上拉电阻不是用于JTAG时用作JTDI输入的上拉电阻吗?
配置成开漏输出的话,输入端实际上是断开的吧?
acgean 发表于 2012-8-24 12:06 | 显示全部楼层
配置成开漏输出的话,输入端实际上是断开的,也就是说, 输入的上下拉是不会起作用的
 楼主| fredinand 发表于 2012-8-24 22:35 | 显示全部楼层
配置成开漏输出的话,输入端实际上是断开的,也就是说, 输入的上下拉是不会起作用的
acgean 发表于 2012-8-24 12:06

正解!但是怎么解释我的问题呢?
acgean 发表于 2012-8-25 09:16 | 显示全部楼层
看看你还有外围电路的情况呢
qzx0580 发表于 2012-8-25 17:37 | 显示全部楼层
4.7K的上拉电阻太小,还是改为10K的吧,这样效果好一点,但是也拉不到5V。
再加一个箝位二极管大概能拉到4.0V+,5V到不了。
 楼主| fredinand 发表于 2012-8-26 19:04 | 显示全部楼层
10# qzx0580
原因可以说的更清楚一些吗?谢谢!
 楼主| fredinand 发表于 2012-8-29 19:29 | 显示全部楼层
?没有人跟了?香主能出来解释下不?
香水城 发表于 2012-8-30 13:43 | 显示全部楼层
无法解释

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

如果有问题,只能是设置或者其他硬件有问题
 楼主| fredinand 发表于 2012-8-30 21:30 | 显示全部楼层
13# 香水城
那我再试试看吧,外围没有接任何器件,只留了一个插座
IJK 发表于 2012-8-31 16:43 | 显示全部楼层
还有一个变通的实验办法:用其它非JTAG的 FT GPIO 引脚,试试看如何,按理能上拉到5V的。
冰茶爽爽 发表于 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输出高
 楼主| fredinand 发表于 2012-9-2 14:01 | 显示全部楼层
15# IJK
呵呵,其他都正常!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

124

主题

151

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部