OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2859|回复: 8

stm32的PB3和PB4脚做普通IO脚驱动485EN脚不能正常工作

[复制链接]

55

主题

199

帖子

0

精华

高级会员

Rank: 4

积分
628
金钱
628
注册时间
2014-2-24
在线时间
82 小时
发表于 2020-6-22 17:04:08 | 显示全部楼层 |阅读模式
stm32f103c8t6芯片关闭PB3引脚的JTAG功能,做485使能脚,无法输出低电平,PB4驱动小灯输出低是正常的。哪位前辈用过,为什么会这样。查了相关资料PB3和PB4应该同时可以做普通IO才对。
485只能输出,不能输入
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

15

主题

1061

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
3627
金钱
3627
注册时间
2019-8-14
在线时间
1054 小时
发表于 2020-6-22 18:18:48 | 显示全部楼层
要是手册说可以当作普通的IO的话,可以在IO初始化时把JTAG关闭,使能SWD,配置IO,使用万用表测试下有电压不
回复 支持 反对

使用道具 举报

6

主题

305

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2876
金钱
2876
注册时间
2016-7-17
在线时间
404 小时
发表于 2020-6-22 18:55:23 | 显示全部楼层
需要先打开AFIO时钟,再操作AFIO->MAPR寄存器。
        RCC->APB2ENR|=1;                                        //开启AFIO时钟
        RCC->APB2RSTR|=1;                                        //复位
        RCC->APB2RSTR=0;                                        //复位结束
        AFIO->MAPR=0x02000000;                                                        //关闭JTAG-DP,保留SW-DP
        GPIOB->CRL=0x22222222;                                                        //设置推挽输出2MHz
        GPIOB->CRH=0x22222222;                                                        //设置推挽输出2MHz
        GPIOB->ODR=0;                                                                        //所有IO输出低电平
回复 支持 反对

使用道具 举报

55

主题

199

帖子

0

精华

高级会员

Rank: 4

积分
628
金钱
628
注册时间
2014-2-24
在线时间
82 小时
 楼主| 发表于 2020-6-23 09:56:22 | 显示全部楼层
hou18 发表于 2020-6-22 18:18
要是手册说可以当作普通的IO的话,可以在IO初始化时把JTAG关闭,使能SWD,配置IO,使用万用表测试下有电压 ...

量过了,PB3始终为高电平。
回复 支持 反对

使用道具 举报

55

主题

199

帖子

0

精华

高级会员

Rank: 4

积分
628
金钱
628
注册时间
2014-2-24
在线时间
82 小时
 楼主| 发表于 2020-6-23 10:01:53 | 显示全部楼层
f1174562 发表于 2020-6-22 18:55
需要先打开AFIO时钟,再操作AFIO->MAPR寄存器。
        RCC->APB2ENR|=1;                                        //开启AFIO时钟
        RCC->APB2RSTR|= ...

试过,没解决问题
回复 支持 反对

使用道具 举报

55

主题

199

帖子

0

精华

高级会员

Rank: 4

积分
628
金钱
628
注册时间
2014-2-24
在线时间
82 小时
 楼主| 发表于 2020-6-29 14:29:00 | 显示全部楼层
问题已解决
回复 支持 反对

使用道具 举报

0

主题

104

帖子

0

精华

高级会员

Rank: 4

积分
726
金钱
726
注册时间
2015-5-23
在线时间
138 小时
发表于 2020-6-29 15:37:49 | 显示全部楼层

什么问题?
回复 支持 反对

使用道具 举报

55

主题

199

帖子

0

精华

高级会员

Rank: 4

积分
628
金钱
628
注册时间
2014-2-24
在线时间
82 小时
 楼主| 发表于 2020-7-1 09:09:09 | 显示全部楼层
hou18 发表于 2020-6-22 18:18
要是手册说可以当作普通的IO的话,可以在IO初始化时把JTAG关闭,使能SWD,配置IO,使用万用表测试下有电压 ...

谢谢问题已解决,1.在debug选项卡里把trace enable勾选去掉,2.加了一个ini文件,这个是在网上搜的,便是后来我把这个文件去掉后,也是正常的,所以关掉JTAG后,再去掉trace enable项应该就可以了。
回复 支持 反对

使用道具 举报

55

主题

199

帖子

0

精华

高级会员

Rank: 4

积分
628
金钱
628
注册时间
2014-2-24
在线时间
82 小时
 楼主| 发表于 2020-7-1 09:11:49 | 显示全部楼层

1.在debug选项卡里把trace enable勾选去掉,2.加了一个ini文件,这个是在网上搜的,便是后来我把这个文件去掉后,也是正常的,所以关掉JTAG后,再去掉trace enable项应该就可以了。
回想一下原子哥的教程里好像没有选trace enable这项,如果按教程来,直接disable JTAG应该就可以了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-29 10:40

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表