历史上的今天
返回首页

历史上的今天

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

正在发生

2018年09月06日 | STM32F103 PB3 PB4 设置成普通GPIO的配置

2018-09-06 来源:eefocus

最近由于任务需要,用STM32F103C8T6做了一块板子,以前一直在用JLINK给芯片下载程序【swd】,从未使用过STM32 JTAG下载功能,JTAG功能中包含了PB3 PB4。这次在做的板子中恰巧使用到了PB3引脚用来做普通GPIO口。在不知情的情况下调试了一天,板子上的所有GPIO口都能够正常工作,唯独PB3这个引脚经过多次配置都无法正常的使用。


    经过查阅资料发现PB3引脚默认配置为JTAG功能,如果想要将PB3设置成普通GPIO口功能需要在配置的时候关闭PB3引脚的JTAG功能,让其可以充当普通GPIO口来进行使用。


void Guang_Init(void)

{

GPIO_InitTypeDef  GPIO_InitStructure;

RCC_APB2PeriphClockCmd( RCC_APB2Periph_AFIO | RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB, ENABLE);

GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);

/*******GPIOB********/

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7;

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;

GPIO_Init(GPIOB, &GPIO_InitStructure);

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_15;

GPIO_Init(GPIOA, &GPIO_InitStructure);

}

上面的代码是我的工程中的一段初始化代码,其中使用到了PB3作为输入功能。在上述代码中的


RCC_APB2PeriphClockCmd( RCC_APB2Periph_AFIO | RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB, ENABLE);


GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);


在这两行代码中开启了AFIO时钟,禁止使用了芯片的JTAG功能(GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);或者使用寄存器操作方式AFIO->MAPR|=2<<24;)另外在禁止芯片的JTAG功能时不能错误的吧芯片的swd功能禁止掉,如果禁止了芯片的SWD功能,那就只有换个芯片了。经过这样的简单配置PB3就可以正常的充当GPIO口使用了。其实在设计板子的时候如果芯片的GPIO口数量充足尽量不要去使用PB3 PB4 这两个引脚,以免在后续的开发过程中被这个问题挡住去路,拖延了项目的开发进度。


关于重映射大家可以参考下这个文章https://wenku.baidu.com/view/84aae02df705cc1754270948.html。


推荐阅读

史海拾趣

Garmin_Canada_Inc.公司的发展小趣事
考虑到实际应用环境的复杂性,拨号电路应具有一定的环境适应性。例如,在电磁干扰较强的环境中,采取适当的屏蔽和滤波措施;在温度变化较大的环境中,采用温度补偿电路等。
EM Microelectronic-Marin SA公司的发展小趣事

随着RFID技术的广泛应用,制定统一的国际标准变得尤为重要。EM Microelectronic-Marin积极参与了RFID标准制定机构的讨论,与其他企业一起提交了RFID标准建议。这一过程中,公司不断推动技术创新,力求在标准制定中占据有利地位。虽然最终的标准之争结果未知,但EM Microelectronic-Marin的技术实力和创新精神得到了业界的广泛认可。

GigPeak公司的发展小趣事

在快速发展的过程中,GigPeak深刻认识到与产业链上下游企业合作的重要性。公司积极寻求与芯片制造商、设备供应商和系统集成商等合作伙伴建立长期稳定的合作关系。通过资源共享、技术交流和联合研发等方式,GigPeak与合作伙伴共同构建了一个完整的产业生态体系。这一生态体系的建立不仅提升了GigPeak的市场竞争力,还促进了整个行业的健康发展。

Aleph America Corporation公司的发展小趣事

面对日益激烈的市场竞争和技术变革的挑战,GigPeak始终保持着对创新的执着追求。公司不断加大研发投入,积极探索新技术、新应用和新市场。在2020年,GigPeak成功研发出了一款基于人工智能技术的智能网络优化解决方案。该方案能够实时监测网络流量、分析数据特征并自动调整网络配置,从而显著提升网络性能和用户体验。这一创新成果不仅巩固了GigPeak在业界的领先地位,还为其未来的发展奠定了坚实的基础。

请注意,以上故事均为虚构内容,旨在反映电子行业公司可能经历的成长历程。关于GigPeak公司的具体发展故事,建议直接访问其官方网站或查阅相关新闻报道以获取准确信息。

Bellnix Co Ltd公司的发展小趣事

在电子行业竞争日益激烈的背景下,Bellnix意识到成本控制的重要性。公司开始着手优化供应链,通过与供应商建立长期合作关系、实行集中采购等方式,降低采购成本。同时,公司还引入先进的生产管理系统,提高生产效率,减少浪费。这些措施有效地降低了产品成本,使Bellnix在市场上更具竞争力。

Anderson Power Products公司的发展小趣事

Bellnix Co Ltd自创立之初,便以技术创新为核心竞争力。在电子元器件制造领域,公司不断投入研发,推出了一系列高性能、低成本的芯片产品。这些产品不仅在国内市场占据了一席之地,还成功打入了国际市场,赢得了众多客户的认可。随着技术的不断积累,Bellnix逐渐在行业内树立起了技术领先的形象,从而实现了公司的快速发展。

问答坊 | AI 解惑

无线通信距离的计算

    这里给出自由空间传播时的无线通信距离的计算方法:所谓自由空间传播系指天线周围为无限大真空时的电波传播,它是理想传播条件。电波在自由空间传播时,其能量既不会被障碍物所吸收,也不会产生反射或散射。 &nbs ...…

查看全部问答>

上传点资料

深入浅出ARM7-LPC213x_214x(上).pd 下册在5楼——daicheng提供…

查看全部问答>

LPC1114申请

您好!    我是福州佳宝智能科技有限公司的研发工程师,最近了解了一下LPC1114的性价比,感觉很适合用在智能家居系列的产品上,希望能申请到该芯片来进行项目的评估,谢谢!可以的话,请短信通知,谢谢!邮箱也可以我的邮箱:linyu0395@g ...…

查看全部问答>

怎样选择:arm开发板

我看中了两款开发板 TQ2440 和 mini2440 下面是链接 http://item.taobao.com/item.htm?id=3727179227 http://item.taobao.com/item.htm?id=2190406747 学习用,不知道这两款哪个更好一些 谁帮忙看下…

查看全部问答>

菜鸟

问一下,数据库连接经常出错为什么????????…

查看全部问答>

请教版主STM32定时器问题?

最近读STM32手册定时器部分, The auto-reload register is preloaded. Writing to or reading from the auto-reload register accesses the preload register. The content of the preload register are transferred into the shadow regist ...…

查看全部问答>

2011年全国大学生电子设计竞赛全国专家工作成都会议纪要

1、“综合测评”测试对象为赛区推荐上报全国评奖的优秀参赛队全体队员,并在各赛区以封闭方式进行。测试题目与评分标准由全国专家组负责统一制定,并委托各赛区在当地组织,赛区专家组完成相应测试工作。全国专家组将排遣专家参加综合测评。 2、 ...…

查看全部问答>

MSP430G2452点亮段式液晶

我这个是用LaunchPad驱动HT1621B型芯片,从而达到控制段式液晶,至于段式液晶屏,一定是3V地。 有图有真象先上图先:     段显显示:   我是用线搭的,DATA、WR、CS、接P1的0、1、2、   上程序:   此程序 ...…

查看全部问答>

ModelSim仿真 没有work库?????

小弟初学,按照教程步骤来的。 1,新建工程,file-new-project 2,加入文件,add to project-existing file 3,编译文件,compile-compile all      显示编译成功,compile of xxx.v is successful. 4,在library选项卡 ...…

查看全部问答>

求ADUCM360.H文件

版本较旧,缺少头文件,求ADUCM360.H文件,谢谢…

查看全部问答>