STM32F1系列PB3,PB4,PA13,PA14,PA15用作普通IO口的特殊配置
STM32F1系列PB3,PB4,PA13,PA14,PA15用作普通IO口的特殊配置
最近博主用STM32F103C8T6做了一个温度测控模块,用到PB3,PB4,PA15等引脚控制外设。发现不管怎么配置,这三个引脚都不能置零。后来发现是包括这三个引脚在内的PB3,PB4,PA13,PA14,PA15是特殊的IO口,用作JTAG/SWD仿真器的调试接口。其中PA13,PA14分别作为SWD调试的SWIO和SWCLK;PB3,PB4,PA13,PA14,PA15共同用于JTAG。这五个引脚的中英文描述如下图所示,图片来源于STM32F1参考手册:
这五个IO引脚非常特殊,正常情况下作为SWJ仿真器的调试引脚,如果要作为普通IO口使用需要特别的配置。以PA13引脚为例,该引脚在STM32F1数据手册中的描述如下图:
相较与其他的普通IO,PA13的Main function 为JTMS-SWDIO。反而普通IO口的功能在Alternate functions中的remap里。也就是说PA13要想当做普通IO口使用,就必须使用它复用功能中的重映射。因此就需要这样的两步操作:
一.在时钟配置中打开复用时钟: RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_AFIO,ENABLE);
二.对PA13引脚进行重映射: GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);
步骤一比较好理解,这里重点叙述下步骤二的重映射操作。针对SWJ五个引脚的重映射操作方式在STM32F1参考手册中的中英文描述下图所示:
由上图可知,重映射的方式一共有三种。分别描述如下:
1.GPIO_Remap_SWJ_JTAGDisable: /*!< JTAG-DP Disabled and SW-DP Enabled */ 即能用PB3,PB4,PA15做普通IO,PA13&14用于SWD调试
2.GPIO_Remap_SWJ_Disable: /*!< Full SWJ Disabled (JTAG-DP + SW-DP) */ 5个引脚全为普通引脚,但不能再用JTAG&SWD仿真器调试,只能用st-link调试
3.GPIO_Remap_SWJ_NoJTRST: /*!< Full SWJ Enabled (JTAG-DP + SW-DP) but without JTRST */PB4可为普通IO口,JTAG&SWD正常使用,但JTAG没有复位
如果你用到所有的五个引脚当做普通IO口,那么上述步骤二中的重映射配置应写为GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE); 如果你用PB3,PB4,PA15做普通IO,PA13&14用于SWD调试,则重映射配置应写为GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE); 同理可配置只用PB4可为普通IO口的情况。
————————————————
版权声明:本文为CSDN博主「qhw5279」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qhw5279/article/details/72630637
STM32F1系列PB3,PB4,PA13,PA14,PA15用作普通IO口的特殊配置相关推荐
- STM32F103:SWJ调试端口设置成普通I/O口——PA13,PA14,PA15,PB3,PB4
本文章技术信息均出自:STM32F103系列超详细参考手册-中文版 一.SWJ调试端口 STM32有两种程序调试接口(程序烧写口),具体如下: SWD调试接口: PA13.PA14共两个引脚. JTA ...
- STM32单片机PB3/PB4/PA15用作普通IO使用
STM32单片机PB3/PB4/PA15这三个引脚比较特殊,上电复位默认是作为调试端口使用的,进行电路设计的时候应尽量避免将PB3/PB4/PA15这三个引脚当作普通IO使用:若要将它们作为普通的IO ...
- STM32F10×××系列的PC13、PC14、PC15引脚用作普通IO口配置方法
1. 引脚定义 2. 引脚用作普通IO口的条件 注:最新文档中已经删除"在同一时间只有一个引脚能作为输出"也就是三个引脚可以同时作为输出引脚,其他条件未变 3. 代码 void g ...
- CC2541 SDA SCL 用作普通IO口
1:CC2541在用做硬件IIC读取SHT30电流150-200ua左右,在所以想试试使用模拟IIC读取:下图是使用硬件IIC读取的代码: 2:查阅资料:http://www.voidcn.com/a ...
- STM32的PB3/PB4/PA15用作普通IO使用
本文基于STM32F105系列芯片 STM32上电直接控制PB3/PB4/PA15失效的原因 单片机上电后,大多数引脚都默认作为GPIO使用,因此单片机上电后直接控制引脚即可使用.但是PB3/PB4/ ...
- STM32F103ZET6开发板PB3/4,PA13/14/15等I/O口的特殊配置
[写在前面] 最近项目上有用STM32F103ZET6开发板在做产品开发,前期测试时PB3/4,PA13/14/15因为作为JTAG/SWD仿真器的调试接口,所以不能像其他正常I/O口一样下置零. [ ...
- stm32F1的 PA13/PA14/PA15/PB3/PB4 作为普通引脚使用
代码链接:https://blog.csdn.net/Mark_md/article/details/107411081
- STM32 PC13 PC14 PC15用作普通IO口
PC14 PC15 关闭LSE时钟之后,就可以作为普通IO口. 先打开RCC_APB2Periph_AFIO时钟: 再使用函数RCC_LSEConfig( RCC_LSE_OFF ); PC13先打 ...
- AT32F403A PB3 PB4 PA15如何用作普通IO使用
AT32F403A 将 PB3 PB4 PA15配置成普通IO使用,配置方法基本和STM32F103类似 crm_periph_clock_enable(CRM_IOMUX_PERIPH_CLOCK, ...
最新文章
- nanomsg:ZeroMQ作者用C语言新写的消息队列库
- Spring-Security (学习记录四)--配置权限过滤器,采用数据库方式获取权限
- 键盘消息捕获--MFC
- python 画蜘蛛_如何学习 R 绘图?
- Linux node使用npm成功安装命令后,执行时却报找不到命令的问题
- Eclipse开发JSP页面,xhtml页面卡死的解决方法
- python 如何封装dll_python怎么封装dll
- linux远程控制本地用户登录,linux 本地无法登录 远程可以登陆的解决办法
- 服务器云端设置怎么退出_换新手机时,3个地方要及时清除退出,别让旧手机成隐私“内鬼”...
- antdesign 所兼容的浏览器_React爬坑之路——Antd兼容IE
- Python实现样本类别的可视化(绘制饼图,展示各类别样本的比例)
- python语言程序设计实践教程答案实验五_Python程序设计实验五
- 同时开多个独立窗口Visio 2003/2007版本的软件
- 浏览器解析jsx_jsx的本质
- python关于列表去重和删除的方法
- 有意思的张飞日记-_-
- Mybatis配置分页
- SILC 超像素分割代码
- 链接器lds文件简介
- 亚马逊广告怎么做?广告效果如何提升?
热门文章
- 365天英语口语学习_18,挂断电话
- 五月出游品尝初夏滋味455
- 使用lnmp与wordpress做1个外贸询盘网站
- 图隐私论文速递:A graph modification approach for k‑anonymity in social networks using the genetic algorith
- 房地产行业唯美大气工作总结汇报PPT模板
- 如何留住关键人才与核心员工
- linux lite改中文,Linux Lite 发布 4.0 版本
- STM32芯片内部温度监控调试记录
- 创投更重点关注技术、场景“两手抓”的科技企业
- 『论文笔记』ACNet: Strengthening the Kernel Skeletons for Powerful CNN via Asymmetric Convolution Blocks!