最近在做项目时需要用到PB3作为检测按键检测引脚。该引脚默认低电平,当按键按键按下时电平信号拉高。因此将按键配置为下拉输入。相应始终也打开使能,但是按键按下后,硬件有反应按键按下,但是软件逻辑不能检测到引脚电平拉高。查阅相关资料后,发现STM3210X系列的芯片在复位后,会将PA13/14/15   PB3/4默认配置为JTAG功能。

当选择SW模式烧录程序时:SWD只需用到PA13 / JTMS,PA14 / JTCK两根线,NREST可以接可不接。

JTAG烧录口下的PB4 / JNTRST,PB3 / JTDO和PA15 / JTDI就可以作为普通IO使用。

因为我们的工程选择的是SW的模式烧录,因此需要释放PB3引脚。故在IO口配置的代码中加入一行代码即可

GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable , ENABLE);

实际测试:PB3仍然不能作为普通引脚使用,原因是初始化化顺序导致的。具体参考博客为以下:

https://blog.csdn.net/a18156289516/article/details/60332934

这里的解释下三个宏定义:

第一个宏定义:SWJ和JTAG全部使能

第二个宏定义:SWJ使能,JTAG失能。(如上所示)

第三个宏定义:SWJ和JTAG全部失能。(慎选)

#define GPIO_Remap_SWJ_NoJTRST      ((uint32_t)0x00300100)  /*!< Full SWJ Enabled (JTAG-DP + SW-DP) but without JTRST */
#define GPIO_Remap_SWJ_JTAGDisable  ((uint32_t)0x00300200)  /*!< JTAG-DP Disabled and SW-DP Enabled */
#define GPIO_Remap_SWJ_Disable      ((uint32_t)0x00300400)  /*!< Full SWJ Disabled (JTAG-DP + SW-DP) */

本人第一次由于粗心大意,直接选择宏定义进行的配置,导致SWG和JTAG全部失能,从而使得单片机不能再下程序进去。这就十分的蛋疼了。关于这种情况,网上也有相关的处理方法,这里不做详细的赘述,提供以下链接。

https://blog.csdn.net/q759040024/article/details/23616409

至此STM32的PB3引脚就可以作为普通的IO口进行使用了。

STM32 PB3作为普通IO口的使用方法相关推荐

  1. I/0口输入输出实验 学习IO口的位操作方法,分别选择P0、P1、P2、P3端口中的某一位,该位作为输出使用,连接一只发光二极管,控制器闪烁。

    学习IO口的位操作方法,分别选择P0.P1.P2.P3端口中的某一位,该位作为输出使用,连接一只发光二极管,控制器闪烁. 程序: #include<reg51.h> sbit KEY=P1 ...

  2. 20180626 STM32 ---利用KILE5 仿真IO口的波形图

    每次调试STM32程序的时候都要将其导入到板子中看调试的结果,比较费时间.可以利用KILE5 里面自带的仿真来实现IO口的输出波形的查看. ①点击Options for target ②点击 Debu ...

  3. STM32的8种IO口的模式

    一.推挽输出:可以输出高.低电平,连接数字器件:推挽结构一般是指两个三极管分别受两个互补信号的控制,总是在一个三极管导通的时候另一个截止.高低电平由IC的电源决定.         推挽电路是两个参数 ...

  4. STM32按键的检测IO口上拉下拉电阻

    1.按键高低电平有效 WK_UP 按键接VCC 当按键按下时 WK_UP 为高电平 给IO口输入高电平. 即高电平有效: KEY0 KEY1 KEY2 接地 当按键按下时KEY为低电平 给IO口输入低 ...

  5. 24.STM32的IO口扩展PCF8574

    1.IO口扩展芯片 PCF8574是一款带IIC总线,可使大多数MCU实现远程I/O 口扩展. 该器件包含一个8位准双向口和一个IIC总线接口.(通信接口IIC,2根线可以扩展为8个口) PCF857 ...

  6. STM32的IO口有幺蛾子(bug)

    在做最近的项目时,我发现一个这样的问题:对STM32中的IO进行配置(以对B系列下的PB10.PB13配置成输出模式为例),即使在配置参数一样的情况下,这两个IO输出能力还是有很大的差别. 情况一:如 ...

  7. STM32八种IO口模式

    1.模式介绍 STM32有八种IO口模式,分别是:模拟输入.浮空输入.上拉输入.下拉输入.开漏输出.推挽输出.复用开漏输出和复用推挽输出. 1.模拟输入 GPIO_Mode_AIN模拟输入,即关闭施密 ...

  8. 引脚悬空是什么电平_STM32单片机必须掌握的八种IO口模式和引脚配置方式

    八种IO口模式STM32有八种IO口模式,分别是:模拟输入.浮空输入.上拉输入.下拉输入.开漏输出.推挽输出.复用开漏输出和复用推挽输出.1.模拟输入GPIO_Mode_AIN模拟输入,即关闭施密特触 ...

  9. 52单片机IO口输出-蜂鸣器(硬核)

    52单片机IO口输出-蜂鸣器 什么是蜂鸣器 三极管的工作原理 蜂鸣器驱动电路分析 参考代码 欢迎你的到来!这里是我的单片机学习笔记,希望我的笔记可以在你学习的道路上对你有所帮助! 什么是蜂鸣器 蜂鸣器 ...

最新文章

  1. 算法面试经常需要你手写的三个排序算法(Python语言)
  2. python网上课程-python完整课程
  3. Windows Phone 7 Tips (1)
  4. 教你用JS手写简单的秒表(精确到10ms,没有延迟)
  5. 2017\National _C_C++_C\1.哥德巴赫分解
  6. 类型上限_类型或可成为影视市场下一红利点__枫筹网
  7. Excel 2016新增函数之TEXTJOIN
  8. xtrabackup安装使用
  9. 什么从什么写短句_从什么到从什么造句
  10. 鼓励参与计算机考试宣传标语,诚信考试的宣传标语(精选60条)
  11. mysql-dj数据准备-创建班级表
  12. swift函数的用法,及其嵌套实例
  13. Angular4的QuickStart—— ES6 而非TypeScript
  14. CentOS下编译64位的libpython2.6.so.1.0库
  15. 原创分享 | 如何从非技术层面实现数据驱动
  16. 华尔街最“伟大”骗子排行榜!
  17. AndroidStudio制作“我”的界面,设置,修改密码,设置密保和找回密码
  18. 机刷——App推广作弊内幕系列
  19. 《观止-微软创建NT和未来的夺命狂奔》 语录摘抄
  20. 原生态水平和垂直拉伸的JQUERY插件

热门文章

  1. eclipse经常未响应优化
  2. 在STM32F407上跑OpenHarmony鸿蒙操作系统
  3. VUE高仿饿了么app开发思维导图
  4. 【HCIA持续更新】NAPT
  5. 汽车行业MES系统在产品追溯方面的应用分析
  6. {初始c语言 }05年学生党编程小菜加入CSDN大家庭,还请各位多多指教。
  7. 解决上传图片时报错Uncaught (in promise) DOMException: Failed to execute ‘put‘ on ‘IDBObjectStore‘
  8. 松下伺服电机uvw接线图_伺服电机uvw对应相线颜色分析
  9. 武汉理工大学 mooc网 的无线传感网技术笔记
  10. 得力桌面吸尘器——使用方式-备忘