STM32锁住,解开方法

2023-11-16

一:STM32 被锁住后的解开方法

问题:STM32 JTAG/SWD禁用导致无法烧写
由于STM32的引脚功能较多,在为了方便硬件的使用,常会使用复用重映射的功能,这里主要涉及的是SWD和JTAG端口的引脚对应出现的问题。
为了使得TIM2能够重映射到PA15和PB3,所以得对TIM2进行重映射,但是这样是不够的,因为下载调试端口SWD默认就占用了该引脚,所以重映射无效,
因此必须先启动时钟 RCC->APB2ENR|=1<<0;
然后令:AFIO->MAPR = AFIO_MAPR_SWJ_CFG_1;
或者AFIO->MAPR = AFIO_MAPR_SWJ_CFG_2;

但是又有一个新问题来了,如果设置为第二种,那么就意味着不但关闭了JTAG,还关闭了SWD,如此一来,如果使用该方式来烧写程序,那么下一次将无法烧写程序 。

解决办法:
1、按着板子上面的复位键不放,若没有按键,就用夹子短路复位电容,这样单片机将停止程序的运行;
2、此时点击 Keil下载,下方的“Buildoutput”窗口便会开始滚动,一会之后会提示出错,直接关闭它或选择 NO,并放开复位键;
3、此时单片机已经停止运行了,SWD 那些端口已经恢复原有的调试端口功能,此时再一次按下载键便可以下载程序了,问题解决!

具体实施总结如下:
1、按住单片机复位键不松开;
2、同时下载程序
3、弹出一个窗口,选择NO
4、再重新下载程序即可。

二:stm32f1系列 PA15(B3 B4)做普通IO用,普通设置方法不管用。

原因:
STM32 默认启动时 PA15、PB3、PB4三个引脚不是普通 IO,而是 JTAG 的复用功能,
分别为 PA15–>JTDI 、PB3–>JTDO、PB4–>JNTRST。
解决办法:
1、 禁用 JTAG 功能,例程如下;
2、 下载程序后,必须按复位键。(重要)

void GPIO_init()
{
   GPIO_InitTypeDef  GPIO_InitStructure;		
   RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA , ENABLE);//打开PA时钟
   RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);//使能端口复用时钟
   GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);//失能JTAG	
  
   GPIO_InitStructure.GPIO_Pin = GPIO_Pin_15;  // 端口配置, 推挽输出
   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;  //推挽输出
   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;  //IO口速度为50MHz
   GPIO_Init(GPIOA, &GPIO_InitStructure);    //推挽输出 ,IO口速度为50MHz	
   GPIO_ResetBits(GPIOA,GPIO_Pin_15);        //P15置低电平
} 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

STM32锁住,解开方法 的相关文章

  • hexo+GitHub Pages一键搭建部署博客

    文章目录 前言 博客相关配置 matery主题相关配置 1 什么是 Hexo 2 准备工作 3 生成博客 4 更换主题 5 部署到github pages 总结 前言 现在技术更新迭代是非常的快 尤其是web方面 所以当前搭建一个博客差不多
  • Ubuntu16.04安装ROS Kinetic详细步骤

    文章目录 ROS安装 配置Ubuntu软件仓库 设置sources list 设置密钥 更新Debian软件包索引 安装ROS 初始化 rosdep 环境配置 构建工厂依赖 测试安装 开发环境 ROS安装 ROS Kinetic只支持Wil
  • CompletableFuture使用(二)

    CompletableFuture创建异步任务后 get 方法是阻塞到Future完成后返回结果 对于构建异步系统 需要将回调附加到CompletableFuture上 当Future完成时自动调用 就可以使用thenApply thenA
  • 【直播+福利】生产压测环境,如何做好安全保障?

    互联网 数字经济的不断发展使得系统架构不断演变 实现了从 单线程 到 多线程 多组件 再到 分布式 微服务 的一个跨越 分布式系统的复杂程度是公认的 牵一发而动全身 想要保障系统的稳定可用是所有企业的共有难题 生产全链路压测应运而生 可实际
  • Ansible-角色部署LAMP

    配置主机 root ansible cd etc ansible root ansible ansible ls ansible cfg hosts roles root ansible ansible vim hosts dev node
  • [图文]Openfiler应用篇(四) FTP和Quota

    本篇我们讨论openfiler FTP和Quota 磁盘配额 的应用 openfiler FTP和Quota功能必须在开启帐户功能的条件下才能使用 一 FTP应用 1 开启FTP 点击主菜单Services 在Manage Services
  • git的使用和规划

    1 拉取项目 在拉取项目的时候使用git rebase 这样分支管理更加清晰 2 提交项目 commit的时候不要把不希望别人看到的改到都commit上 commit的时候 要检查修改的文件代码书写是否正确 下图中打钩文件为想要提交的文件
  • SQL中EXISTS理解使用

    SQL中EXISTS的理解使用 关联子查询 EXISTS理解使用 关联子查询 在讲述EXISTS用法之前 先讲述一下关联子查询 关联子查询 是指在内查询中需要借助于外查询 而外查询离不开内查询的执行 举个栗子 在Oracle中自带的EMP表
  • Objective-C块block介绍

    块的定义 返回值类型 形参类型 形参1 形参类型 形参2 块执行体 以上是一个块的写法 1 返回值类型可以省略 形参也可以参略 但是形参的括号不能参略 NSLog 123 通常我们需要反复调用块 因为块相当于一个匿名的函数 我们调用它时可以
  • 在VMware中设置ubuntu与Windows共享文件夹

    本机系统 win7 使用vmware安装的unbutu 之前在win7上下载了一些文档和软件 想在虚拟机中使用 结果发现读取不了这些文件 头疼了一下午 从网上搜索了很多资源 发现没有一个完整的文章可以一次搞定 头疼 这里就总结一下我的方法
  • I2C与SPI通信总线协议

    仅以寄存器地址为8Bit的器件为例 例如MPU6500 LSM6DS3 I2C通信协议 I2C 的要点是了解I2C通信帧的组成部分 START起始位 STOP停止位 ACK NACK信号 从机器件地址 从机寄存器地址 I2C读的时序比较繁琐
  • K8S访问控制------认证(authentication )、授权(authorization )体系

    一 账号分类 在K8S体系中有两种账号类型 User accounts 用户账号 即针对human user的 Service accounts 服务账号 即针对pod的 这两种账号都可以访问 API server 都需要经历认证 授权 准
  • Linux根目录爆满,解决(/dev/mapper/rhel-root 98%问题)

    1 首先确定是否是磁盘空间不足 输入命令 df h 查看磁盘信息 发现已经使用率达到96 所有需要删除大文件数据 2 其次查找大文件 du h max depth 1 命令代表寻找当前目录 哪个文件夹占用空间最大 进入根目录 root vl
  • 六级英语词汇

    genuine d enju n fake If this offer is genuine I will gladly accept it 如果这份帮助是真诚的 我将愉快地接受它 一 单词关 whereas we r z conj 然而
  • [YOLO专题-17]:YOLO V5 - 如何把YOLO训练数据集批量转换成带矩形框的图片

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 https blog csdn net HiWangWenBing article details 122344955 目录 前言 第1章
  • 利用Spring框架在前端实现对数据库的增删改查

    在前端页面上显示购物数据库数据 并且可以这增 删 改 查 1 首先在WEB 配置文件

随机推荐

  • 交叉熵:pytorch版本 vs 日常版本

    首先看下平时我们所说的交叉熵 传送门 在信息论中 交叉熵可认为是对预测分布q x 用真实分布p x 来进行编码时所需要的信息量大小 而在机器学习的分类问题中 真实分布p x 是one hot形式 表明独属于one hot中1对应的角标的那个
  • cpuz测试分数天梯图_2015最新cpu天梯图 cpu性能排行榜

    西安兵马俑在线3月19日讯查找排名方法 搜索CPU型号 例如 按Ctrl F键 搜 i7 5960X 这个CPU型号 若需获知个人使用的电脑CPU具体型号 查看计算机属性 或用CPU Z这个软件 常用名词解释 CPUModel 处理器型号
  • vsCode关闭代码检查工具

    在script标签里 第一行输入下面的内容即可 转载于 https www cnblogs com caoxueying2018 p 10062329 html
  • 内核运行环境

    复杂度2 5 机密度2 5 最后更新2021 05 06 AIX内核有两种运行环境 process environment和interrupt environment 用户进程call内核系统调用 或者内核系统调用嵌套call其它系统调用
  • 2023年信息与通信工程国际会议(JCICE 2023)

    会议简介 Brief Introduction 2023年第二届信息与通信工程国际会议 JCICE 2023 会议时间 2023年5月12日 14日 召开地点 中国 成都 大会官网 JCICE 2023 2023 International
  • DeeplabCut安装教程(CPU)版

    DeeplabCut安装教程 CPU 版 文章目录 DeeplabCut安装教程 CPU 版 前言 安装步骤 1 进入官网下载对应的DeepLabCut zip文件 附官网链接 2 解压到任意位置 3 打开Anaconda Navigato
  • c++模板(函数模板,类中函数模板,类模板)

    作用 减少程序中的冗余信息 如 多个函数或类的除了参数类型外 其余都完全相同时 可以使用模板来减少重复信息 参考函数重载时 输入参数数量也相同的情况 1 函数模板 即建立一个通用函数 只不过该函数的返回类型和形参类型都不具体指定 其定义格式
  • Python实现找零兑换的三种解法

    找零兑换 找零兑换问题最直接的解法就是贪心策略 比如问题 有面值1 5 10 25的硬币 求解兑换63元所需的最少硬币数 贪心策略的思想就是不断的利用面值最大的硬币去尝试 不行了 在尝试较小面值的硬币 该例中也即使用25的硬币去尝试 2枚2
  • 华为服务器怎么换系统,云服务器怎么更换系统

    云服务器怎么更换系统 内容精选 换一换 弹性云服务器系统密码涉及到客户重要的私人信息 提醒您妥善保管密码 如果您忘记密码或密码过期 可以重置密码 如果弹性云服务器提前安装了密码重置插件 请参见在控制台重置弹性云服务器密码 使用公共镜像的弹性
  • 【简单易用】基于Qt的跨平台自定义标题栏控件QJamWindow

    一 概述 QJamWindow是一个基于Qt的跨平台自定义标题栏控件 你可以通过它方便得设计出属于自己的标题栏 特性 1 标题栏高度可调 标题栏背景色设定 2 图标及其尺寸 图标背景色设定 3 Control box宽度 鼠标经过 按下颜色
  • JAVA基础必备功能之导出ZIP文件

    导出ZIP文件 比较常用的两种 导出图片压缩文件 导出excel压缩文件 导出思路 需要导出的文件转存为byte数组保存到Map 然后遍历压缩成zip 需要引入jar
  • 链表— —循环链表的算法实现

    Joseph问题 有 10 个小朋友按编号顺序 1 2 10 顺时针方向围成一圈 从 1 号开始顺时针方向 1 2 9 报数 凡报数 9 者出列 显然 第一个出圈为编号 9 者 最后一个出圈者的编号是多少 第 5 个出圈者的编号是多少 in
  • lintcode 631 · 最大矩阵II【矩阵 中等 vip】

    题目 https www lintcode com problem 631 给出一个只有 0 和 1 组成的二维矩阵 找出最大的一个子矩阵 使得这个子矩阵的主对角线元素均为 1 其他元素均为 0 你可以认为所求的矩阵一定是一个方阵 主对角线
  • 组是由圆括号分开的正则表达式 随后可以根据它们的组号进行调用 第 0 组表示整个匹 配表达式 第1 组表示第 1 个用圆括号括起来的组 等等 因此 在表达式 A B C D 中 有 3 个组 第 0 组 ABCD 第 1 组是 BC 以及第
  • Acwing790.数的三次方根

    解题思路 include
  • Pandora-ChatGPT(离线安装教程)(附安装包)

    要安装Pandora ChatGPT 1 1 0 tar gz 您可以按照以下步骤进行操作 安装包 https wwue lanzouj com iOMwG0yeozxg 解压缩文件 tar xvf Pandora ChatGPT 1 1
  • 设置bitmap的宽高,同时将bitmap转换为file对象

    public class BitmapToSizeChangeFile 将bitmap转换为file存储起来 param bitmap return public static File
  • Dijkstra C艹板子

    迪杰斯特拉算法主要特点是从起始点开始 采用贪心算法的策略 每次遍历到始点距离最近且未访问过的顶点的邻接节点 直到扩展到终点为止 题源 最短路 蓝桥云课 lanqiao cn 如下图所示 G 是一个无向图 其中蓝色边的长度是 1 橘色边的长度
  • 绕过JavaScript debugger三种解决方法

    最近网上挺火的一段加密混淆JS 格式化展开后有300多行 目的是解析生成一个cookie 不携带cookie 就不能加载网页源码 典型的反爬虫操作 看后觉得好使的请记得点赞哦 烧鸡么么哒 谢谢 JS会自动监视是否打开了调试器 如果打开了 就
  • STM32锁住,解开方法

    一 STM32 被锁住后的解开方法 问题 STM32 JTAG SWD禁用导致无法烧写 由于STM32的引脚功能较多 在为了方便硬件的使用 常会使用复用重映射的功能 这里主要涉及的是SWD和JTAG端口的引脚对应出现的问题 为了使得TIM2