历史上的今天
返回首页

历史上的今天

今天是:2024年09月09日(星期一)

正在发生

2018年09月09日 | PB3,PB4,PA13,PA14,PA15用作普通IO口的特殊配置

2018-09-09 来源:eefocus

最近博主用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口的情况。


推荐阅读

史海拾趣

福斯特(FIRST)公司的发展小趣事
确认传感器是否损坏或连接不良。
Anaheim Automation公司的发展小趣事

近年来,随着全球金属氧化物压敏电阻市场的不断增长,AMOTECH也迎来了新的发展机遇。根据市场研究报告,预计全球金属氧化物压敏电阻市场规模将以稳定的增速持续增长。AMOTECH凭借其在该领域的深厚积累和不断创新的技术实力,有望在未来市场中占据更加重要的地位。同时,公司也将继续加大研发投入,拓展新的应用领域,为电子行业的发展贡献更多力量。

这些故事框架主要基于已知的事实和信息构建而成,旨在展示AMOTECH公司在电子行业中的发展历程和重要成就。然而,由于具体细节可能涉及公司内部信息或商业机密,因此无法提供更为详细和具体的描述。如需了解更多关于AMOTECH公司的故事和发展历程,建议查阅相关新闻报道或公司官方资料。

启英泰伦(Chiplntelli)公司的发展小趣事

启英泰伦凭借其在人工智能芯片领域的硬科技实力,连续四年入选“成都硬科技扑克牌榜单”。这一荣誉不仅肯定了公司在技术创新和产品研发方面的成就,也提升了公司在行业内的知名度和影响力。作为一家专注于人工智能芯片硬科技领域的公司,启英泰伦一直致力于推动芯片技术的创新和突破,为客户提供最优质的产品和服务。

Alps Alpine Co Ltd公司的发展小趣事

启英泰伦凭借其在人工智能芯片领域的硬科技实力,连续四年入选“成都硬科技扑克牌榜单”。这一荣誉不仅肯定了公司在技术创新和产品研发方面的成就,也提升了公司在行业内的知名度和影响力。作为一家专注于人工智能芯片硬科技领域的公司,启英泰伦一直致力于推动芯片技术的创新和突破,为客户提供最优质的产品和服务。

力芯微(ETEK)公司的发展小趣事

力芯微公司在数字信号处理器领域拥有丰富的经验和深厚的技术积累,是行业内领先的企业之一。公司拥有一支高素质的研发团队,不断推进技术创新和产品升级。通过持续的研发投入和技术创新,力芯微在数字信号处理器领域保持了领先地位,并赢得了客户的广泛认可。

台湾町洋(dinkle)公司的发展小趣事

随着电子行业的快速发展,町洋不断投入研发资源,致力于技术创新和产品升级。公司成功开发出了一系列具有高性能、高可靠性和高安全性的接线端子产品,满足了不同客户的需求。同时,町洋还积极引进国际先进技术和管理经验,不断提升自身的竞争力和市场占有率。

问答坊 | AI 解惑

很多人都抱怨工作,难道换个工作就比这个好么

很多人都抱怨工作,也包括我。难道换个工作就比这个好么?…

查看全部问答>

DirectFB旋转有问题?

请问一下有没有熟悉DirectFB的? 比如我的程序如下(竖屏程序) (0,0) ------- |     | |     | |     | |     | -------  (240*320) ...…

查看全部问答>

求解答,工具是ccs2.2,读写flash空间和Clist问题

1.目前要把VC的程序刻录到板子上,请问原程序中用的是CList, c里面有替代的或差不多的吗?如果有,头文件是什么?刚接触这个,挺迷糊,刚 从一个辞职的同事上接手个半成品程序。 2. 请问怎么往板子里的flash空间写数据? typedef struct & ...…

查看全部问答>

维视工业摄像头,1394工业CCD摄像头,1394接口CCD工业相机

维视工业摄像头,1394工业CCD摄像头,1394接口CCD工业相机 作者:维视图像   来自:http://www.xamv.com   http://www.micovision.com.cn 【1394接口工业摄像头简介】 MV-VS 1394接口CCD工业摄像头。该系列工业相机采用帧曝光CCD ...…

查看全部问答>

关于RAMIMAGE和ROMIMAGE

NK    8C100000  01EB0000  RAMIMAGE ROMSTART=8C100000 RAMIMAGE和ROMSTART在虚拟地址上是重合的,知道这样是对的。但不知道为什么?求教…

查看全部问答>

【LED术语】GaN(gallium nitride)

   由镓(Ga)和氮(N)构成的化合物半导体。带隙为3.45eV(用光的波长表示相当于约365nm),比硅(Si)要宽3倍。利用该特性,GaN主要应用于光元件。通过混合铟(In)和铝(Al)调整带隙,所获得的LED和蓝紫色半导体激光器等发光元件已经实 ...…

查看全部问答>

波形检测

         我想设计一个用MSP430控制的波形检测电路,需要20-30路(可切换的)送到示波器。要用什么型号的模拟开关呢?哪位大侠能指点一下,将万分感激!…

查看全部问答>

大型美资IC公司招聘Analog IC Design Engineers

如题:   大型美资IC公司招聘Analog IC Design Engineers   Location: Beijing or Shanghai   ·          Responsibilities: 1.    Analog IC circuit design; si ...…

查看全部问答>

嵌入式 linux 构建邮件服务器

求高手指点一下,我想在我的linux上面添加一个邮件服务。这个服务器不要太大的,只要可以实现往固定邮件地址发送设备状态就行。有没有那种嵌入式方面用的邮件服务器呢,, 谢谢各位大大 …

查看全部问答>

谁能介绍下STM32 cortex-M3 几个公共文件的作用

谁能介绍下一下这个几个文件都是干什么用的,stm32f10x_vector.c、cortexm3_macro.s、stm32f10x_flash.icf、 stm32f10x_nor.icf、 stm32f10x_extsram.icf、stm32f10x_ram.icf, 谢谢!最好能介绍详细点…

查看全部问答>