STM32_JTAG引脚及复用代码

目录

  • 1.JTAG引脚
    • 1.1 说明(可以不看)
    • 1.2 引脚
  • 2.复用代码
  • 3. 手册介绍(可以不看)

总是忘记有些引脚是JTAG复用的,导致偶尔浪费一些时间,记录一下。

1.JTAG引脚

1.1 说明(可以不看)

STM32的JTAG引脚通常包括TCK、TDI、TDO、TMS以及可选的TRST。

JTAG(Joint Test Action Group)是一种国际标准的调试接口,用于芯片或印制电路板的边界扫描测试。在STM32微控制器中,JTAG接口主要用于程序下载和调试。以下是JTAG接口的主要信号线:

TCK(Test Clock Input):测试时钟输入,为JTAG接口提供时钟信号。
TDI(Test Data Input):测试数据输入,用于将数据或指令输入到JTAG链中。
TDO(Test Data Output):测试数据输出,用于从JTAG链中输出数据。
TMS(Test Mode Select):测试模式选择,用于控制JTAG接口的状态转换。
TRST(Test Reset Input):测试复位输入(可选),用于初始化JTAG接口状态机。
除了上述标准JTAG引脚外,STM32还支持SWD(Serial Wire Debug)接口,这是一种两线制的调试协议,相比JTAG接口占用的引脚更少,因此在实际应用中更为常见。SWD接口主要使用**SWDIO(Serial Wire Data Input/Output)和SWCLK(Serial Wire Clock)**两个引脚进行通信。

需要注意的是,在设计电路时,需要参考具体的STM32微控制器型号的数据手册,因为不同型号的微控制器其JTAG/SWD引脚可能有所不同,有些引脚可能与其他功能复用。此外,为了确保正确的电气连接和避免损坏设备,还需要根据STM32的引脚描述和推荐的接线方式进行连接。

1.2 引脚

PA14:JTCK/SWCLK
PA15:JTDI
PB3:JTDO
PA13: JTMS/SWDIO
PB4:JNTRST

2.复用代码

以下pin引脚,都可以通过下面的代码进行设置JTAG和SWD的复用功能。
PA14:JTCK/SWCLK
PA15:JTDI
PB3:JTDO
PA13: JTMS/SWDIO
PB4:JNTRST

代码如下,根据所需进行设置:
注:保留使用PA13、PA14作为STLink烧录接口比较方便,其他的引脚(PA15、PB3、PB4)在作为GPIO使用的时候需要复用。

void LED_GPIO_Config(void)
{/*定义结构体*/GPIO_InitTypeDef GPIO_InitStructure;/*开启复用时钟,必须有*/RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);/*关闭JTAG功能,SWD功能开启*/GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);/*以下是关闭所有SWJ下载功能(JTAG+SWD),谨慎使用,我一般用STlink*///GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);/*开启GPIO时钟*/RCC_APB2PeriphClockCmd(LED1_GPIO_CLK, ENABLE); //RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB/*GPIO引脚*/GPIO_InitStructure.GPIO_Pin = LED1_GPIO_PIN;	//GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15|GPIO_Pin_3|GPIO_Pin_4/*推挽输出*/GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;   /*频率50MHz*/GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; /*初始化*/GPIO_Init(LED1_GPIO_PORT, &GPIO_InitStructure);	//GPIOA|GPIOB/*初始状态*/GPIO_ResetBits(LED1_GPIO_PORT, LED1_GPIO_PIN);
}

3. 手册介绍(可以不看)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/646246.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【jetson笔记】vscode远程调试

vscode安装插件 vscode安装远程插件Remote-SSH 安装完毕点击左侧远程资源管理器 打开SSH配置文件 添加如下内容,Hostname为jetson IP,User为登录用户名需替换为自己的 Host aliasHostName 192.168.219.57User jetson配置好点击连接,控制台输…

全国首个!华为5.5G新突破:速率最高超4Gbps

“华为中国”官微宣布,近日,山东移动联合华为在青岛城区完成500个三载波聚合站点规模开通,标志着山东移动成为全国首个实现百站三载波聚合连片部署的运营商。 本次开通三载波聚合站点覆盖五四广场、八大关、青岛北站、中国海洋大学等热点区域…

谷粒商城配置虚拟机

一、创建虚拟机 之前有在VM里面建一个ubuntu的虚拟机,准备拿来直接用,网络设置为NAT模式,查看我的虚拟机是虚拟机:192.168.248.128 主机: 192.168.2.12。可以互相ping通。 二、linux安装docker Docker docker是虚拟…

威联通QNAP NAS结合cpolar内网穿透实现公网远程访问NAS中存储的文件

文章目录 推荐 前言1. 威联通安装cpolar内网穿透2. 内网穿透2.1 创建隧道2.2 测试公网远程访问 3. 配置固定二级子域名3.1 保留二级子域名3.2 配置二级子域名 4. 使用固定二级子域名远程访问 推荐 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣…

解决Xcode报错Stored properties cannot be marked unavailable with ‘@available‘

出现场景 打开一个IOS老项目时,Xcode提示以下错误 available(iOS, unavailable) //Stored properties cannot be marked unavailable with available解决方案 我们只需要把unavailable改成*号,同时增加版本号的限制。 // available(iOS, unavailabl…

Linux sudo与/etc/sudoers

sudo介绍 sudo命令可以让普通用户在执行需要超级用户权限的命令时,临时提升为超级用户。例如,普通用户可以使用sudo执行系统管理任务,如安装软件、修改系统配置等。访问控制:sudo命令通过sudoers文件中的配置,可以对用…

【AI绘画】Stable Diffusion使用入门教程!!!!

手把手教你入门绘图超强的AI绘画,用户只需要输入一段图片的文字描述,即可生成精美的绘画。给大家带来了全新保姆级教程资料包 (文末可获取) 首先提几个好玩的名词: 炼丹:训练AI学习图片生成模型 咒语&…

CES 2024的亮点仅仅聚焦AI深度赋能和产业创新吗?| DALL-E 3、Stable Diffusion等20+ 图像生成模型综述

随着科技飞速发展,CES(国际消费电子展)已然成为全球科技产业的风向标,每年的CES大会都是业界瞩目的盛事。回顾2024年CES大会,不难发现其亮点纷呈,其中以人工智能的深度赋能为最引人注目之处。AI技术的深入应…

如何在Linux环境下安装Redis呢?

第一步:创建存放redis存放的文件夹 mkdir /usr/local/redis使用cd切换到上述创建的目录 第二步:从官网下载redis压缩包 wget https://download.redis.io/releases/redis-6.0.5.tar.gz下图为下载成功示例 第三步:解压下载的压缩包 tar -zv…

TA百人计划学习笔记 3.1.2深度测试

资料 源视频 【技术美术百人计划】图形 3.1 深度与模板测试 传送门效果示例_哔哩哔哩_bilibili ppt 3100-模板测试与深度测试(1) 参考 Unity Shader: 理解Stencil buffer并将它用于一些实战案例(描边,多边形填充,反射区域限定,阴影…

文字转语音在线合成掩码系统 让你的文字自动转为语音 带完整的安装部署教程

互联网的快速发展,人们对文字转语音(TTS)的需求日益增长。无论是需要为视障人士提供语音阅读的内容,还是想要为视频内容添加语音旁白,都需要一个高效、准确的文字转语音系统。然而,市面上的许多TTS工具都存…

是用原生js创建红包雨效果

需求: 创建红包雨 答案: // 红包雨代码 开始 // 添加遮罩层 const addOverlay () > {const overlay document.createElement(div);overlay.className overlay;overlay.style.position fixed;overlay.style.top 0;overlay.style.left 0;overlay.style.width 100%;o…

Unity_使用Image和脚本生成虚线段

生成如图样式的虚线段 原理:使用Image做一条线段,这个方法的原理就是给固定的片元长度,对Image进行分割,把片元添加到一个列表中,然后循环对列表中的偶数位进行隐藏,也可以调整线段的宽度 缺陷&#xff1…

无公网IP实现远程访问MongoDB文件数据库【内网穿透】

最近,我发现了一个超级强大的人工智能学习网站。它以通俗易懂的方式呈现复杂的概念,而且内容风趣幽默。我觉得它对大家可能会有所帮助,所以我在此分享。点击这里跳转到网站。 文章目录 前言1. 安装数据库2. 内网穿透2.1 安装cpolar内网穿透2…

支持向量机(SVM)详解

支持向量机(support vector machines,SVM)是一种二分类模型。它的基本模型是定义在特征空间上的间隔最大的线性分类器,间隔最大使它有别于感知机。 1、线性可分支持向量机与硬间隔最大化 1.1、线性可分支持向量机 考虑一个二分…

Disruptor挖坑MemoryAnalyzer来填

Disruptor挖坑MemoryAnalyzer来填 1、起因背景2、初步定位3、细化定位3.1、内存文件导出命令3.2、MemoryAnalyzer分析xxx.hprof文件 4、思考5、花絮 1、起因背景 博主练手写的并发项目订单服务出现了程序一直处于加载未完成的状态,电脑温度升高,CPU使用…

springboot125汽车资讯网站

简介 【毕设源码推荐 javaweb 项目】基于springbootvue 的125汽车资讯网站 适用于计算机类毕业设计,课程设计参考与学习用途。仅供学习参考, 不得用于商业或者非法用途,否则,一切后果请用户自负。 看运行截图看 第五章 第四章 获…

springboot家乡特色推荐系统源码和论文

在Internet高速发展的今天,我们生活的各个领域都涉及到计算机的应用,其中包括家乡特色推荐的网络应用,在外国家乡特色推荐系统已经是很普遍的方式,不过国内的管理网站可能还处于起步阶段。家乡特色推荐系统采用java技术&#xff0…

UDS Flash刷写用例简单介绍

文章目录 1.Boot的功能1.1 目的1.2 功能 2.测试用例设计2.1 设计框架2.2 正向测试2.1.1 刷写流程2.1.2 重复刷写2.1.3压力刷写 2.3 逆向测试2.2.1 断电后刷写2.2.2 中断通讯后刷写2.2.3 篡改刷写数据2.2.4 修改软件校验数据2.2.5 修改刷写流程2.2.6 高负载刷写2.2.7 高低压刷写…

JuiceSSH结合内网穿透实现移动端设备公网远程访问Linux虚拟机

文章目录 1. Linux安装cpolar2. 创建公网SSH连接地址3. JuiceSSH公网远程连接4. 固定连接SSH公网地址5. SSH固定地址连接测试 处于内网的虚拟机如何被外网访问呢?如何手机就能访问虚拟机呢? cpolarJuiceSSH 实现手机端远程连接Linux虚拟机(内网穿透,手机端连接Linux虚拟机) …