STM32 JNTRST JTDI JTDO引脚用做普通IO方法(PB4、PB3、PA15)
转载: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)相关推荐
- 【蓝桥杯嵌入式】【STM32】3_Buzzer之将JTAG功能相关引脚映射为普通IO、AFIO的使用
文章目录 1.原理图 2.部分源码 下载工程文件: https://gitee.com/Joseph_Cooper/blue-bridge-embedded 1.原理图 1.因为使用的是PNP ...
- STM32 SPI 的NSS引脚问题
STM32 SPI 的NSS引脚如果使用软件管理模式,在主机从机都是用中断方式接收和发送时会出现问题.整了一周多,问题表现为,主机发送的数据从机能正确接收,但是从机发送的问题主机接收出错,收到一坨乱的 ...
- stm32的afio初始化代码_STM32-IO-AFIO(复用功能IO和调试配置)
最近在学习STM32,在BZ上一篇关于的串口通信文章里有这么一段代码:RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD| RCC_APB2Periph_AFIO, ...
- stm32 pc13~pc15 tamper-rtc OSC32-IN/OSC32-OUT 配置成IO口
在STM32的数据手册的管脚分配图中可以看到:PC14与OSC32_IN公用一个引脚,PC15与OSC32_OUT公用一个引脚,它们的使用方法如下: 当LSE(低速外部时钟信号)开启时,这两个公用管脚 ...
- STM32串口通信中使用printf发送数据配置方法 开发环境 Keil
STM32串口通信中使用printf发送数据配置方法(开发环境 Keil RVMDK) 已有 12456 次阅读2011-6-29 23:29 | 在STM32串口通信程序中使用printf发送数据, ...
- 痞子衡嵌入式:快速定位i.MXRT600板级设计ISP[2:0]启动模式引脚上电时序问题的方法...
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是一种快速定位i.MXRT600板级设计ISP[2-0]启动模式引脚上电时序问题的方法. 我们知道恩智浦i.MXRT600是主打音频市场的 ...
- 分享做LOGO 的方法和思维方式 -liuleihai
[使用说明]: 1:本秘籍和大家分享的是做LOGO 的方法和思维方式 不涉及造型和色彩心理学等基础知识 2:转载请注明出处和作者:李小强(http://ska2016.blogbus.com/) ...
- treeview自动从表中添加标题和列值做目录的方法2
treeview自动从表中添加标题和列值做目录的方法2,该方法是借鉴万一老师的 http://www.cnblogs.com/del/archive/2008/05/15/1114450.html 首 ...
- 关键词优化推广需要怎么做?有哪些方法和技巧
关键词优化推广需要怎么做?有哪些方法和技巧 当一个企业推广自己的网站时,通常需要先根据网站的主题筛选出适合自己网站的关键词,然后在拥有这些关键词后设计一套具体的推广计划.当我们执行促销计划的构建时,我 ...
最新文章
- python学好了能干啥_新手该如何学python怎么学好python?_python学好了能干什么
- nodejs html转excel,Node.js excel sheetjs/js-xlsx
- html canvas抽奖,HTML5 Canvas圆盘抽奖应用(适用于Vue项目)
- OpenGL 绘制彩色三角形的实例
- 沙老师的作业系列——Crudd‘s Crack Head
- 【数据结构】图的遍历(BFS和DFS)
- 服务注册中心 eureka 搭建
- linux那些事之LRU(1)
- 【收藏】机器学习数据集列表:你需要收藏!
- Bottle: Python Web Framework
- 四则运算编程题第二版
- 数字图像处理 冈萨雷斯(第四版)图像分辨率及大小,灰度级变化的影响,以及邻接、连通、区域和边界笔记
- mysql获取姓名拼音首字母_C# 汉字获取拼音首字母,给数据库中的姓名添加首字母...
- AI综述专栏 | 多模态学习研究进展综述
- 直方图python_Python数据可视化的例子——直方图和核密度曲线
- 集成科大讯飞语音合成
- 超级马里奥项目设计(一)
- PRML勘误表2011
- java判断字符串是字母或者数字组合
- CF924C Riverside Curio