转载:https://blog.csdn.net/wp_31/article/details/8245925

具体使用示例:https://blog.csdn.net/u010552215/article/details/100020571

STM32默认启动时PB4、PB3、PA15三个引脚不是普通IO,而是JTAG的复用功能,分别为JNTRST、JTDI、JTDO。
当我们试用SWD接口调试仿真时,这三个引脚可以用作普通IO。
具体做法就是禁用JTAG功能。只需使用以下语句即可。
#define GPIO_Remap_SWJ_JTAGDisable  ((uint32_t)0x00300200)  /*!< JTAG-DP Disabled and SW-DP Enabled */
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);      /*使能SWD 禁用JTAG*/
————————————————
版权声明:本文为CSDN博主「_Rambo」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/wp_31/article/details/8245925

其中具体的使用PB3和PB4作为普通的IO口功能的使用示例

void generalIO_Init(void)  //通用IO口初始化
{//GPIO端口设置GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|RCC_APB2Periph_AFIO, ENABLE); //蜂鸣器口GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE);//从JTAG口释放PB3,PB4,PA15,但Released only if not using asynchronous trace.GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;//蜂鸣器口,多加的一个PB1GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;GPIO_Init(GPIOB, &GPIO_InitStructure);GPIO_SetBits(GPIOB, GPIO_Pin_1);  //蜂鸣器关GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3|GPIO_Pin_4;  //门控和水位输入GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;GPIO_Init(GPIOB, &GPIO_InitStructure);
}代码中一定要添加:
//GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE);

这句用来释放JTAG的IO口。但SWD仿真还是有个问题,当使用SWD仿真时,被释放出来的这几个IO口是不能使用的,不管是做输入还是输出,都是不能使用的。这个绝对是个坑。注意 注意

————————————————
版权声明:本文为CSDN博主「song_hh」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u010552215/article/details/100020571

STM32 JNTRST JTDI JTDO引脚用做普通IO方法(PB4、PB3、PA15)相关推荐

  1. 【蓝桥杯嵌入式】【STM32】3_Buzzer之将JTAG功能相关引脚映射为普通IO、AFIO的使用

    文章目录 1.原理图 2.部分源码   下载工程文件:   https://gitee.com/Joseph_Cooper/blue-bridge-embedded 1.原理图 1.因为使用的是PNP ...

  2. STM32 SPI 的NSS引脚问题

    STM32 SPI 的NSS引脚如果使用软件管理模式,在主机从机都是用中断方式接收和发送时会出现问题.整了一周多,问题表现为,主机发送的数据从机能正确接收,但是从机发送的问题主机接收出错,收到一坨乱的 ...

  3. stm32的afio初始化代码_STM32-IO-AFIO(复用功能IO和调试配置)

    最近在学习STM32,在BZ上一篇关于的串口通信文章里有这么一段代码:RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD| RCC_APB2Periph_AFIO, ...

  4. stm32 pc13~pc15 tamper-rtc OSC32-IN/OSC32-OUT 配置成IO口

    在STM32的数据手册的管脚分配图中可以看到:PC14与OSC32_IN公用一个引脚,PC15与OSC32_OUT公用一个引脚,它们的使用方法如下: 当LSE(低速外部时钟信号)开启时,这两个公用管脚 ...

  5. STM32串口通信中使用printf发送数据配置方法 开发环境 Keil

    STM32串口通信中使用printf发送数据配置方法(开发环境 Keil RVMDK) 已有 12456 次阅读2011-6-29 23:29 | 在STM32串口通信程序中使用printf发送数据, ...

  6. 痞子衡嵌入式:快速定位i.MXRT600板级设计ISP[2:0]启动模式引脚上电时序问题的方法...

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是一种快速定位i.MXRT600板级设计ISP[2-0]启动模式引脚上电时序问题的方法. 我们知道恩智浦i.MXRT600是主打音频市场的 ...

  7. 分享做LOGO 的方法和思维方式 -liuleihai

    [使用说明]: 1:本秘籍和大家分享的是做LOGO 的方法和思维方式   不涉及造型和色彩心理学等基础知识 2:转载请注明出处和作者:李小强(http://ska2016.blogbus.com/)  ...

  8. treeview自动从表中添加标题和列值做目录的方法2

    treeview自动从表中添加标题和列值做目录的方法2,该方法是借鉴万一老师的 http://www.cnblogs.com/del/archive/2008/05/15/1114450.html 首 ...

  9. 关键词优化推广需要怎么做?有哪些方法和技巧

    关键词优化推广需要怎么做?有哪些方法和技巧 当一个企业推广自己的网站时,通常需要先根据网站的主题筛选出适合自己网站的关键词,然后在拥有这些关键词后设计一套具体的推广计划.当我们执行促销计划的构建时,我 ...

最新文章

  1. python学好了能干啥_新手该如何学python怎么学好python?_python学好了能干什么
  2. nodejs html转excel,Node.js excel sheetjs/js-xlsx
  3. html canvas抽奖,HTML5 Canvas圆盘抽奖应用(适用于Vue项目)
  4. OpenGL 绘制彩色三角形的实例
  5. 沙老师的作业系列——Crudd‘s Crack Head
  6. 【数据结构】图的遍历(BFS和DFS)
  7. 服务注册中心 eureka 搭建
  8. linux那些事之LRU(1)
  9. 【收藏】机器学习数据集列表:你需要收藏!
  10. Bottle: Python Web Framework
  11. 四则运算编程题第二版
  12. 数字图像处理 冈萨雷斯(第四版)图像分辨率及大小,灰度级变化的影响,以及邻接、连通、区域和边界笔记
  13. mysql获取姓名拼音首字母_C# 汉字获取拼音首字母,给数据库中的姓名添加首字母...
  14. AI综述专栏 | 多模态学习研究进展综述
  15. 直方图python_Python数据可视化的例子——直方图和核密度曲线
  16. 集成科大讯飞语音合成
  17. 超级马里奥项目设计(一)
  18. PRML勘误表2011
  19. java判断字符串是字母或者数字组合
  20. CF924C Riverside Curio

热门文章

  1. CF773 E - Anonymity Is Important(stl迭代器的各种用法)
  2. c语言c52数码管,STC89C52驱动数码管
  3. VFW技术资料基本解析
  4. PPT怎么转换PDF?来试试这几种方法
  5. Cytoskeleton丨艾美捷 微管结合蛋白自旋下降分析生物化学试剂盒
  6. 【Linux】课堂练习作业
  7. matlab三维点电荷电势图,Matlab模拟三维空间中点电荷的电势分布
  8. 我常用的15个数据源网站!
  9. 中图法检索计算机科学方面,千兆位以太网中可以使用超5类UTP双绞线。【
  10. java 自定义注解 校验经纬度