标题STM32F103 JTAG/SWD调试口的使用。

使用STM32很多年了,开始使用的是JTAG的调试下载,受JLIN上面的接口影响,PCB上一直放的是20PIN的标准座,后来空间有点紧张又改为10PIN的,再后来改成SWD 4PIN口,一直般都不用PA15,PB3,PB4这几个口,要用了下面这个说得比较清楚的写来备忘下。
引脚描述如《STM32参考手册》中所示:

同时,这些引脚主功能(复位后)的功能如下如所示:

这些引脚只有重定义功能后才能作为普通的IO口使用,所以我们需要对这些引脚进行配置的时候开启AFIO复用时钟。

步骤一:时钟配置时同时开启AFIO复用时钟

  1. //打开PB口时钟,AFIO复用时钟
  2. RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_AFIO, ENABLE);

步骤二:重映射(共三种方式)

 1.  GPIO_Remap_SWJ_JTAGDisable         /*!< JTAG-DP Disabled and SW-DP Enabled */  2. GPIO_Remap_SWJ_Disable                /*!< Full SWJ Disabled (JTAG-DP + SW-DP) */ 3. GPIO_Remap_SWJ_NoJTRST      /*!< Full SWJ Enabled (JTAG-DP + SW-DP) but without JTRST */

即能用PB3,PB4,PA15做普通IO,PA13&14用于SWD调试。
5个引脚全为普通引脚,但不能再用JTAG&SWD仿真器调试,只能用st-link调试
PB4可为普通IO口,JTAG&SWD正常使用,但JTAG没有复位

注1:如果将五个引脚当做普通IO口,那么上述步骤二中的重映射配置应写为:

GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);
注2:如果你用PB3,PB4,PA15做普通IO,PA13&14用于SWD调试,则重映射配置应写为:

GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);
注3:配置只用PB4可为普通IO口:
GPIO_PinRemapConfig(GPIO_Remap_SWJ_NoJTRST, ENABLE);

STM32F103 PB3,PB4,PA15的使用相关推荐

  1. AT32F403A PB3 PB4 PA15如何用作普通IO使用

    AT32F403A 将 PB3 PB4 PA15配置成普通IO使用,配置方法基本和STM32F103类似 crm_periph_clock_enable(CRM_IOMUX_PERIPH_CLOCK, ...

  2. STM32-SWD仿真时PB3,PB4,PA15使用问题

    上代码: void generalIO_Init(void) //通用IO口初始化 {//GPIO端口设置GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2Per ...

  3. STM32单片机PB3/PB4/PA15用作普通IO使用

    STM32单片机PB3/PB4/PA15这三个引脚比较特殊,上电复位默认是作为调试端口使用的,进行电路设计的时候应尽量避免将PB3/PB4/PA15这三个引脚当作普通IO使用:若要将它们作为普通的IO ...

  4. STM32的PB3/PB4/PA15用作普通IO使用

    本文基于STM32F105系列芯片 STM32上电直接控制PB3/PB4/PA15失效的原因 单片机上电后,大多数引脚都默认作为GPIO使用,因此单片机上电后直接控制引脚即可使用.但是PB3/PB4/ ...

  5. STM32 PB3 PB4 PA15引脚作为普通IO口使用指南

    STM32 PB3 PB4 PA15引脚作为普通IO口使用指南 stm32的PB3 PB4 PA15引脚可以在使用SWD仿真和烧录的情况下释放出来,作为普通IO口使用. 查看数据手册的引脚定义可以看到 ...

  6. STM32F103 PB3 PB4 设置成普通GPIO的配置

    一个ESP8266的小项目 https://blog.csdn.net/shitou123xsx/article/details/90550098 最近由于任务需要,用STM32F103C8T6做了一 ...

  7. GD32 关于PB3,PB4,PA15 的GPIO工作不正常的问题-设置为普通gpio

    PB3,PB4 的默认引脚功能是JTAG 或SWD功能 我们应该修改io的功能映射,涉及函数有 /*!\brief configure GPIO pin remap\param[in] gpio_re ...

  8. STM32 JNTRST JTDI JTDO引脚用做普通IO方法(PB4、PB3、PA15)

    转载:https://blog.csdn.net/wp_31/article/details/8245925 具体使用示例:https://blog.csdn.net/u010552215/artic ...

  9. GD32F103配置PA15 PB3 PB4为普通IO

    PB3 PB4 PA15 作为普通IO时候,需要disable JTAG ,释放出来 gpio_pin_remap_config(GPIO_SWJ_SWDPENABLE_REMAP,ENABLE);  ...

最新文章

  1. js符号转码_js传特殊字符到controller (java)的转码问题
  2. mushroom 0.3 发布,metric for java 的方案
  3. 情境学习理论视野中的成人学习
  4. Kali Linux WPScan更新到2.9.3
  5. 查找内存泄漏的一个思路
  6. 我理解的HBSE应用场景(交流篇)
  7. 飞鸽传书技术更新换代非常快
  8. TalkingData崔晓波:移动数据工具发展的三个阶段
  9. css中的伪元素:before :after与jQuery中的.before .after的区别
  10. 敏感词在线检测工具-免费敏感词在线检测工具
  11. editplus java acp_EditPlus配置Java编译器
  12. 计算机公式SUBSTITUTE,SUBSTITUTE函数公式函数用法(查找替换)
  13. 《计算机工程》投稿过程
  14. 分布式技术与实战第六课 分布式缓存设计
  15. 为何很多 App 图标使用白色做底色?
  16. 6.3.3 延迟缓存
  17. 分析QQ微信使用的是UDP还是TCP协议
  18. [渝粤教育] 西南科技大学 教育学原理 在线考试复习资料
  19. 帧同步在竞技类网络游戏中的应用
  20. [STC89C52RC]通过串口发送指令点亮LED

热门文章

  1. 2019年全球区块链企业发明专利排行榜(TOP100)
  2. 【CF1641C】Anonymity Is Important(STL,模拟(?))
  3. 百度地图 移动版lite api
  4. 微信小程序页面双栏布局教程 小程序页面双栏布局
  5. PHP - 各版本对比 - 整理
  6. (增加虚拟机)安装lite自带的benchmark和使用方法
  7. 华为跨域 MPLS Opiton C 配置(很详细)
  8. 元宇宙产业委和南京建邺区人民政府共话金融创新
  9. 如何与病毒搏斗?这部BBC“史诗级大片”告诉你答案
  10. 中通科技代码覆盖率应用实践(三)