一次使用STM32F103RCT6单片机用到多个IO口时发现:不管如何配置,PB3,PB4,PA15无法正常控制输出高低电平,而其他IO口正常。其IO口初始化操作如下:


    GPIO_InitTypeDef GPIO_Initure;


    __HAL_RCC_GPIOA_CLK_ENABLE();               //开启GPIOA时钟

    __HAL_RCC_GPIOB_CLK_ENABLE();               //开启GPIOB时钟


    GPIO_Initure.Pin=GPIO_PIN_15;

    GPIO_Initure.Mode=GPIO_MODE_OUTPUT_PP;      //推挽输出

    GPIO_Initure.Pull=GPIO_PULLUP;              //上拉

    GPIO_Initure.Speed=GPIO_SPEED_HIGH;         //高速

    HAL_GPIO_Init(GPIOA,&GPIO_Initure);


    GPIO_Initure.Pin=GPIO_PIN_3|GPIO_PIN_4;

    HAL_GPIO_Init(GPIOB,&GPIO_Initure);


  查找相关芯片资料发现,包括这三个引脚在内的PB3,PB4,PA13,PA14,PA15是特殊的IO口,默认用作JTAG/SWD仿真器的调试接口。其中PA13,PA14分别作为SWD调试的SWIO和SWCLK;PB3,PB4,PA13,PA14,PA15共同用于JTAG。 

这里写图片描述 


这里写图片描述 


  如需使用这些IO口需要禁止相关JTAG/SWD功能。查看HAL库文件,可找到相关函数。

/**

  * @brief Enable the Serial wire JTAG configuration

  * @note  ENABLE: Full SWJ (JTAG-DP + SW-DP): Reset State

  * @retval None

  */

#define __HAL_AFIO_REMAP_SWJ_ENABLE()   MODIFY_REG(AFIO->MAPR, AFIO_MAPR_SWJ_CFG, AFIO_MAPR_SWJ_CFG_RESET)


/**

  * @brief Enable the Serial wire JTAG configuration

  * @note  NONJTRST: Full SWJ (JTAG-DP + SW-DP) but without NJTRST

  * @retval None

  */

#define __HAL_AFIO_REMAP_SWJ_NONJTRST() MODIFY_REG(AFIO->MAPR, AFIO_MAPR_SWJ_CFG, AFIO_MAPR_SWJ_CFG_NOJNTRST)


/**

  * @brief Enable the Serial wire JTAG configuration

  * @note  NOJTAG: JTAG-DP Disabled and SW-DP Enabled

  * @retval None

  */

#define __HAL_AFIO_REMAP_SWJ_NOJTAG()   MODIFY_REG(AFIO->MAPR, AFIO_MAPR_SWJ_CFG, AFIO_MAPR_SWJ_CFG_JTAGDISABLE)


/**

  * @brief Disable the Serial wire JTAG configuration

  * @note  DISABLE: JTAG-DP Disabled and SW-DP Disabled

  * @retval None

  */

#define __HAL_AFIO_REMAP_SWJ_DISABLE()  MODIFY_REG(AFIO->MAPR, AFIO_MAPR_SWJ_CFG, AFIO_MAPR_SWJ_CFG_DISABLE)



  在初始化IO操作的最后添加语句:


__HAL_AFIO_REMAP_SWJ_NOJTAG();


  即可禁止JTAG调试功能,将PB3,PB4,PA15用作普通IO口,而保留PA13,PA14的SWD接口,使单片机仍可下载程序与调试。


关键字:STM32  单片机  普通IO口 引用地址:STM32单片机释放PB3/PB4/PA15作为普通IO口

上一篇:PB3,PB4,PA13,PA14,PA15用作普通IO口的特殊配置
下一篇:STM32 PB4不能做普通IO解决方法

推荐阅读

据外媒报道,QuantumScape将与大众成立一家合资公司,旨在实现固态电池的工业级量产,双方计划在2025年建立一条固态锂电池生产线。如今,对未来的电动车而言,固态电池电芯是最具前景的一项技术。该项电池技术还能提升当前锂离子电池的能量密度、增强其安全性并提升其快充能力。此外,大众在德国成功完成QuantumScape固态电池早期样品的测试。据耶鲁的分析...
近日,深圳远荣智能制造股份有限公司(以下简称:远荣智能)与天津森川机器人自动化有限公司(以下简称:森川机器人)签订战略合作协议。远荣智能董事长黄海荣、森川机器人总经理李小军现场举行了签字仪式。远荣智能仓储部负责人罗华山、销售部负责人黎林峰、研发部负责人高磊以及森川机器人郭强、张振义等共同出席此仪式。远荣智能成立于2006年,以工业机...
  说下本人使用感受,最早本人使用指针万用表,使用时,比如电阻档有时需要调零,测电压时,先由高档位开始测量,以防止烧表,另外,测量时还需要放平稳,读取数值时视线要垂直于刻度盘面。受人为和环境干扰较大。  反观数字万用表就没有上述缺点,并日输入阻抗大,不担心烧表。  但指针式万用表,有个优点,测量参数时直观。  数字万用表对使用环...
由德国汽车工业协会(VDA)与慕尼黑博览集团(Messe München)联合举办的2021年德国国际汽车及智慧出行博览会(IAA Mobility)已于9月7日拉开帷幕,并将持续到9月12日。展会上,全球汽车及移动出行的企业纷纷展示出各自的先进技术和产品,共同助力推动未来出行的发展。(图片来源:IAA Mobility)博世新型轻巧智能充电线缆(图片来源:博世)博世推出...

史海拾趣

问答坊 | AI 解惑

好资料“时钟参数shew和jitter介绍”!

这个资料不错,看看很有帮助的!…

查看全部问答∨

对中国目前3G的一点看法

3G时代,能否替代原有的固定宽带 2009年元月,中国3张3G牌照发放   电信 cdma2000  推出天翼品牌,声称测试速度已经达到3.3Mbps,年底升级到9Mbps。   联通 WCDMA   声称速度达到7.2Mbps,号称最成熟的3G制式。   ...…

查看全部问答∨

PCF8563在电子时钟设计中的应用

本帖最后由 paulhyde 于 2014-9-15 09:06 编辑 PCF8563在电子时钟设计中的应用  …

查看全部问答∨

原来,干电池就是这样制成的!

日前,笔者在松下中心东京(Panasonic Center Tokyo)亲身体验了干电池的制作。说是亲身体验,其实是参加了松下主办的干电池制作实践班,在旁边观看了孩子们制作电池的过程。虽为手工制作,但据说使用的部件与工厂实际使用的相同。此次制作的是锰干 ...…

查看全部问答∨

按键切换的动作,全部用串口进行通信???

“所有按键需要通过串口自发自收来调校各种功能” 本人太菜了,遇到了这个问题,虚心请教一下怎么样可以实现这种功能。 假如有4个以上的按键…

查看全部问答∨

是不是有个flable工具或框架

能用于wince上,做pushmail 一朋友说他听到过,问我,我也不知道,来问问大家 单词可能拼写错误.thanks!…

查看全部问答∨

_tmain 的参数问题

在wince6.0下,我传给_tmain函数的argv[1]的是一个字符串,怎么用%s打印出来只是此字符串的首字符? 有人遇到过这个问题吗?…

查看全部问答∨

请问如何调试CE驱动

1)我自己写了一个GPIO驱动,和一个应用,烧到板后,用应用打开驱动时,打开失败,不知道为什么,请教大家怎么样能调试驱动,那些打印信息DEBUGMSG()在串口怎么让他显示呢? 2)在自己定制的NK.B0烧到板上,启动的时候,DN ...…

查看全部问答∨

【芯币兑换】AVR学习板及USB编程器调试程序

以下是AVR学习板的调试程序,供大家收到学习板后进行测试   测试所用晶振为11.0592MHz。大家进行调试前,一定要确认自己板子上所接晶振的频率是否为11.0592MHz   1、流水灯 功能;短接跳线LED,8个流水灯一齐闪烁     ...…

查看全部问答∨

TM1722驱动段码式液晶显示屏的程序怎么写呀?

各位好:       我是新加入这个大家庭的一名成员,我是一名即将毕业的大四学生,现在正在做毕业设计,我的专业是电子信息工程。我的课题跟单片机有关,要用C语言编写程序,可是我这方面相当薄弱,希望大家能帮帮我。在此 ...…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved