打印
[APM32F1]

关于APM32F103CBT6的PB4脚应用问题

[复制链接]
717|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hexbei|  楼主 | 2023-12-1 16:49 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 hexbei 于 2023-12-1 16:45 编辑

  • 在使用APM32F103CBT6的过程中,无意中使用了PB4引脚点亮LED,但是在配置好初始化后,却发现LED灯没有变化且用万用表测量PB4引脚依然没有电压变化,在排查了硬件问题后(LED在别的引脚能正常点亮和熄灭),开始检测软件配置。
  • 检测完代码后,确认了时钟,端口,引脚均没有发现问题,属于正常配置。难度是PB4这个引脚有什么特别的地方?印象中除了PA13&&PA14,或者PC13&&PC14、BOOT0以外应该没有什么特别的引脚才对。查看一下数据手册,哦,PB4引脚的主功能是NJTRST,莫非就是这个原因?
  • 深入查看用户手册,发现PB3&&PB4其实都输出调试引脚,复位情况下是专用脚,也就是说是被占用了,那么估计是需要在代码上把这个引脚释放出来,才能够作为正常IO口使用。
  • 在库函数里面找到该函数,具体作用为更改指定引脚的映射,那么仔细看看注释中remap的选择。
  • 如果我们只需要用到PB4脚,那么选用GPIO_REMAP_SWJ_NOJTRST就行了,毕竟选了其他了调试接口的使用就会出现其他许多情况,用起来还挺烦人的。
  • 但是在代码上加上这个代码后,PB4脚仍然没有反应,难道是我的想法有问题? 感觉还是哪里差了点东西,突然想到这个也应该算是复用的一种情况,那么是不是需要打开复用时钟才能让这个函数生效呢?
  • 在打开了复用时钟后,果然能够正常的进行IO口的翻转,LED灯能正常的亮灭,在引脚功能表上,还是得仔细得看一下才行。


使用特权

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

本版积分规则

20

主题

21

帖子

2

粉丝