一、概述

说来惭愧,我到现在都没有完整的学习过STM32。接触 STM32 还是突然的一个项目,需要用到 STM32,紧急需求,只能边学边完成。不过好在 ST 的资料还是比较多的,相对也比较简单,基本上的需求都能找到对应的demo,或者直接使用 STM32CubeMX 生成代码,最后在稍微改改,写一下自己的逻辑,就能完成需求了。

说来比较庆幸,还好第一个项目只需要前后台方式即可完成,否则我应该都放弃了。后来接触到了实时操作系统,由于没有系统的学习,导致我接触的第一个实时系统居然是 RT-Thread,看着复杂的外设代码当场懵逼,好在后面成功的完成了 uart 和 GPIO 的驱动移植,第一次在 STM32 跑上线程很开心,也深入的理解到了系统的底层是怎么实现的。

就在这样舒适的环境下使用了几年的 STM32,导致我忽视了基础上的学习,以为已经掌握了 STM32,直到今天一个现象让我直接懵逼了,在使用其他 GPIO 的时候都是能正常工作的,但是突然到 PB3、PB4、PA15、PA14、PA15 这几个引脚的时候,直接无法作为输出使用,刚开始以为是硬件上的问题,但是后来发现,之前写的另外一个工程可以使用,很明显这是程序上出了问题,可是查了 RT-Thread 整个代码都没发现有异常的地方,以为是升级版本导致的,折腾了一天后,突然发现是引脚复用问题导致的。崩溃

这里讲述我学习 STM32 的过程,希望能帮助哪些快要放弃的小伙伴,STM32 真的不难,现在网上的资料也很多,讲的也很详细。完全不用先将所有的知识点学完在做事,可以像我一样拿着任务去学习,当然在空余的时候还是有必要完整了解一下基础的知识,不然可能会想我一样,解决问题时会多花一些时间,但是这样的印象也比较深刻。

二、SWJ-DP脚分配

在查了数据手册时,才发现这个几个引脚默认被 JTAG 调试时使用,所以直接使用这个几个引脚作为输出引脚是不行的,如图所示

看到这里相信大家都明白了,只是我们平时在使用的时候没有注意这个细节问题,遇到时就比较懵逼,比如在 STM32CubeMX 配置的时候也有,如下如所示

那怎么复用了,这个就比较简单了,直接生成即可看到用法,容我再简单啰嗦一下,在使用这几个引脚时,需要是能复用时钟

__HAL_RCC_AFIO_CLK_ENABLE();

然后在使用自己需要的配置,释放对应的引脚即可,配置模式如下

// Enable the Serial wire JTAG configuration
__HAL_AFIO_REMAP_SWJ_ENABLE() // Enable the Serial wire JTAG configuration
__HAL_AFIO_REMAP_SWJ_NONJTRST() // Enable the Serial wire JTAG configuration
__HAL_AFIO_REMAP_SWJ_NOJTAG() // Disable the Serial wire JTAG configuration
__HAL_AFIO_REMAP_SWJ_DISABLE()

STM32F10X 部分引脚不能使用的问题的更多相关文章

  1. [stm32] 一个简单的stm32vet6驱动的天马4线SPI-1.77寸LCD彩屏DEMO

    书接上文<1.一个简单的nRF51822驱动的天马4线SPI-1.77寸LCD彩屏DEMO> 我们发现用16MHz晶振的nRF51822驱动1.77寸的spi速度达不到要求 本节主要采用7 ...

  2. 基于STM32F10x的串口(USART)输入输出编程

    1 前言 STM32有强大的固件库,绝大部分函数都可以有库里面的函数组合编写.固件库可以到ST官网(www.st.com)上下载,也可以搜索“STM32 固件库 v3.5”下载到固件库.本文章就是基于 ...

  3. STM32F10X SPI操作flash MX25L64读写数据(转)

    源:STM32F10X SPI操作flash MX25L64读写数据 前一段时间在弄SPI,之前没接触过嵌入式外围应用,就是单片机也只接触过串口通信,且也是在学校的时候了.从离开手机硬件测试岗位后,自 ...

  4. 都是stm32的JTAG引脚惹的祸

    转载请注明出处:http://blog.csdn.net/qq_26093511/article/category/6094215 最近在调试08接口的LED显示屏,使用的是自己做的STM32板子. ...

  5. STM32之VCP1/VCAP2引脚的处理

    需要根据仔细根据手册来决定这两个引脚是直接接地还是电容下拉到地 转载:STM32的Vcap的问题及解决---原来经验也害人http://bbs.eeworld.com.cn/thread-499497 ...

  6. BAYSY2 的LVDS引脚 笔记

    差分引脚标号说明: 'L' 代表该引脚属于差分引脚 'xx' 两位整型数,在每一 bank 的独特标记 'y' 表示正向 还是 反向,同时要注意输入输出方向 ‘#’ 0~3,代表 bank0~bank ...

  7. FPGA的引脚VCCINT 、VCCIO VCCA

    首先是看到FPGA在配置的时候有三种不同的电VCCINT .VCCIO VCCA,于是就查了下有什么不同: FPGA一般会有许多引脚,那它们都有什么用呢? VCCINT为施加于 FPGA 内核逻辑的电 ...

  8. dsp28377控制DM9000收发数据——第三版程序,通过外部引脚触发来实现中断接受数据,优化掉帧现象

    //-------------------------------------------------------------------------------------------- - //D ...

  9. (原创)QuartusII设置虚拟引脚(Virtual Pin)

    方法一: 在Quartus II中Assignments->Assignment Editor, 在Category栏选择logic options, 到列表中To列下添加要设置的引脚接口,如果 ...

  10. Usart的单线半双工模式(stm32F10x系列)

    这两天折腾CTS/RTS硬件流控,看到说232协议的CTS/RTS只是用来做半双工换向使用的.正好手头上有块stm32的板子,看了看stm32的Usart,竟然发现支持的是单线半双工.232里面毕竟4 ...

随机推荐

  1. 记录--uniapp中生成二维码并展示

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 uniapp生成二维码并展示 1.下载weapp-qrcode.js文件并放在utils文件中链接: https://pan.baidu. ...

  2. SwiftUI 笔记

    TextField 监听 lost focus 之前有一个初始化方法,传入一个 onEditingChanged closure,但这个方法废弃了,文档中也说了 alternative:使用 Focu ...

  3. RowHammer 攻击:内存的隐形威胁

    今天看了一篇 IT 之家关于 AMD 处理器受 RowHammer 内存攻击影响的报道,心血来潮了解了一下 RowHammer 攻击的原理,把了解到的知识记录下来. RowHammer 攻击是一种相对 ...

  4. UE4接口

    官方链接 目的 不同Actor对象具有同一个功能,比如角色按F键可以实现开门,开车,与NPC沟通等操作.其本质就是让所有的Actor对象除了继承UObject以外,再继承这个接口类. 接口的声明 宏的 ...

  5. Android按钮_单选框_多选框_文字框

    1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android= ...

  6. postman测试接口时的参数对应接口的两种情况

    第一种通过json字符串的情况去进行测试,最终将json字符串转成对应的对象 代码里面一定要加上@RequestBody注解,即使是一个字符串也需要加这个注解 第二种通过key-value的形式去加入 ...

  7. JDK9的新特性:String压缩和字符编码

    目录 简介 底层实现 总结 简介 String的底层存储是什么?相信大部分人都会说是数组.如果要是再问一句,那么是以什么数组来存储呢?相信不同的人有不同的答案. 在JDK9之前,String的底层存储 ...

  8. OpenHarmony 3.2 Beta1版本正式发布

    5 月 31 日,开放原子开源基金会正式发布 OpenAtom OpenHarmony(以下简称"OpenHarmony")3.2 Beta1 版本.   全球开发者可通过Gite ...

  9. 全面指南:技术写作与编辑工具 Markdown、Git 研究工具

    技术写作工具 在技术写作领域,"工具"是指技术写作者用于创建.管理和发布高质量技术文档的各种软件和应用程序.这包括文字处理器.桌面出版应用程序.XML 编辑器.内容管理系统等等.一 ...

  10. 狂神说Java——Mybatis学习笔记

    前言:配合狂神老师的教学视频使用效果更佳: https://www.bilibili.com/video/BV1NE411Q7Nx/?spm_id_from=333.1007.top_right_ba ...