历史上的今天
返回首页

历史上的今天

今天是:2024年08月27日(星期二)

正在发生

2018年08月27日 | STM32常用管脚重定义外设

2018-08-27 来源:eefocus

为了优化64脚或100脚封装的外设数目,可以把一些复用功能重新映射到其他引脚上。设置复用重映射和调试I/O配置寄存器(AFIO_MAPR)实现引脚的重新映射。这时,复用功能不再映射到它们的原始分配上。(注意:重定义的引脚是固定的,不是想重定义到哪个引脚就可以到哪个引脚的!重映像一般只适用于100和144脚的封装!(具体看哪个外设))

一、常用可以重定义管脚外设。

1、定时器4的通道1到通道4可以从端口B重映射到端口D。

STM32常用管脚重定义外设
2、TIM1复用功能重映像。

STM32常用管脚重定义外设
3、USART1重映像。

STM32常用管脚重定义外设
4、I2C1复用功能重映射。

STM32常用管脚重定义外设
5、SPI1重映像。

STM32常用管脚重定义外设
二、管脚重映射配置。

1、①事件控制寄存器(AFIO_EVCR)、②复用重映射和调试I/O 配置寄存器(AFIO_MAPR)、③外部中断配置寄存器1(AFIO_EXTICR1)、④外部中断配置寄存器2(AFIO_EXTICR2)、⑤外部中断配置寄存器3(AFIO_EXTICR3)、⑥外部中断配置寄存器4(AFIO_EXTICR4),对以上寄存器进行读写操作前,应当首先打开AFIO(备用功能I/O)的时钟。

2、举例(以配置SPI1重映射为例)。

<1>RCC->APB2ENR|=1<<0;//开启AFIO时钟

<2>RCC->APB2ENR|=1<<3;//开启PB时钟(开启待重映射管脚的时钟)

   RCC->APB2ENR|=1<<2;//开启PA时钟(开启待重映射管脚的时钟)

<3>AFIO->MAPR|=1<<0; //SPI1端口复用功能开启

<4>GPIOB->CRL&=0XFF000FFF;// PB3、4、5配置为复用功能输出

   GPIOB->CRL|=0X00BBB000;

   GPIOA->CRH&=0X0FFFFFFF;// PA15配置为复用功能输出

   GPIOA->CRH|=0XB0000000;

<5>因为JTAG占用了PB3/PB4两个引脚,而这两个引脚恰好是SPI1映射后的引脚,所以我们要关闭JTAG-DP,关闭SW-DP(系统复位后的默认状态是启用SWJ但没有跟踪功能);

STM32常用管脚重定义外设

   操作寄存器关闭 :AFIO->MAPR|=4<<24;

   操作库函数关闭 :GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE);

<6>配置完成后即可将原来的管脚功能输入输出重新映射到重映射管脚上去,使用的时候是一样的。


推荐阅读

史海拾趣

Blue Giga公司的发展小趣事

收购后,Blue Giga在芬兰埃斯波的研发中心继续发挥其技术创新的优势,不断推出新产品和解决方案。同时,借助Silicon Labs的全球销售网络,Blue Giga的产品开始进入更多国家和地区的市场。公司的业务范围不断扩大,应用领域也更加广泛,涵盖了工业自动化、消费类电子产品、汽车等多个领域。

这五个故事描绘了Blue Giga从创立到发展的过程,展示了其在电子行业中的努力和成就。虽然每个故事都基于事实,但具体细节可能因缺乏详细资料而有所简化或推测。如需更深入的了解,建议查阅Blue Giga的官方资料或相关新闻报道。

Feller US公司的发展小趣事

在电动汽车领域,技术创新是企业生存和发展的关键。菲斯克一直致力于研发更加先进、更加环保的电动汽车技术。经过多年的努力,公司终于在某项关键技术上取得了重大突破。这一突破不仅提升了电动汽车的性能和续航里程,还为公司赢得了市场的广泛认可。菲斯克凭借这一技术优势,成功推出了一系列备受好评的电动汽车产品,进一步巩固了其在市场中的地位。

CEVA, Inc公司的发展小趣事

CEVA, Inc.最初于1999年11月22日在美国特拉华州注册成立,起初的名称并非CEVA。随着公司的业务扩展和技术积累,其在2002年11月进行了更名,成为ParthusCeva公司。这一更名反映了公司业务的进一步发展和市场定位的调整。随后,在2003年12月,公司再次更名为CEVA公司,这一名称沿用至今,成为无线连接和智能传感技术领域的知名品牌。

Discrete Semiconductor Industries公司的发展小趣事

“创新动力”是Discrete Semiconductor Industries公司中一家以创新驱动发展的典范。该公司注重研发投入,积极引进和培养科技人才,建立了完善的研发体系。通过不断的技术创新和产品升级,创新动力不断推出具有市场竞争力的新产品。同时,公司还积极探索新的应用领域和市场机会,不断拓展业务范围。这种创新驱动的发展战略使得创新动力在激烈的市场竞争中保持了强劲的发展势头。

Bogen Communications Inc公司的发展小趣事

在追求经济效益的同时,Bogen Communications Inc公司也积极履行社会责任,致力于可持续发展。公司注重环保和节能技术的研发和应用,努力降低产品对环境的影响。同时,公司还积极参与公益事业和慈善活动,回馈社会。这些举措不仅提升了公司的社会形象,也为公司的长期发展奠定了坚实的基础。

以上这些故事都是基于电子行业常见的发展模式而虚构的示例,旨在为您展示一个电子行业公司可能经历的不同发展阶段和挑战。如果您需要更具体、更详细的信息关于Bogen Communications Inc公司的发展故事,建议您查阅相关的行业报告、公司年报或新闻报道。

Denyo Europa Gmbh公司的发展小趣事

随着技术的成熟,Denyo Europa Gmbh公司开始将目光投向国际市场。公司利用自身的技术优势,结合对目标市场的深入调研,制定了一系列市场拓展策略。通过与当地合作伙伴的紧密合作,公司成功将产品打入多个国家和地区,实现了业务的全球化布局。这一过程中,公司不仅积累了宝贵的国际市场经验,也为公司的持续发展奠定了坚实基础。

问答坊 | AI 解惑

verilog设计实例,均有原代码!!

实例分为两部分,第1部分连续输入数据处理的电路设计是我们的课程设计,有详细的设计过程(分析过程,数据流图,以及状态机,源代码仿真和综合电路图),另一个是老师给的例题,有100多个例子吧,不过只有源代码和题目。希望能给大家做一个参考!!…

查看全部问答>

西门子s7200编程问题

为什么M1.0变为1时不能点亮q0.2,而当M1.1变为1时,Q0.2点亮…

查看全部问答>

三维加速器设计。。资料

这是我淘的三维加速器资料。。。…

查看全部问答>

求portel99 LQFP100封装库

求portel99 LQFP100封装库…

查看全部问答>

TCPMP修改(有经验的朋友帮帮忙)

我先说一下我的需求,就是要在播放影片的画面上面显示影片的码率之类的. 假设现在影片的码率是700kbps,我要在影片的某个位置显示出来,比如说左上角,这个怎么做出来呢? 或者给我指条明路. 谢谢 PS: 现在TCPMP能在我的机器上面跑了,也能正常解码.…

查看全部问答>

传感器检测问题.求教大家!

功能描述: 用单片机实现传感器检测功能,通过两个按键和一个LED显示模块来实现设置检测阀值的大小,2个按键分别为"加1"和"减1"功能,LED上显示的当前阀值大小.读入的传感器信号与设置的阀值进行比较,达到所设阀值大小输出报警.请 ...…

查看全部问答>

windows ce 新手请教

一直从事asp.net开发,对wince开发一无所知。 目前有一个gps设备,需要开发征对此设备的应用程序开发。该设备是wince 5.0操作系统。 我使用的是vs 2008做为开发工具(C#)。 我在vs2008中新建项目-智能设备 右侧仅有智能设备选项,请问我还需要安 ...…

查看全部问答>

对M128串口缓冲区逐位处理中的问题(含程序)

现在的问题是,程序无法检测到其中的位数,并做出相应的处理 表象就是:在串口调试助手中输入B****E,无任何返回值 程序如下: #include            //工作频率7.3728Mhz #include unsigned ch ...…

查看全部问答>

不用BOOTLOADER如何启动Wince系统?

通常我们加载wince系统,总是编译好eboot然后下载到flash里面,根据菜单提示下载NK。而实际的产品中,可以不用BOOTLOADER,那它是怎么实现系统加载的? 还有个问题,就是OAL的代码也可以完成所有的bootloader的功能,为什么一定要写个bootloader? ...…

查看全部问答>

【求助】想在嵌入式板(S3C2410)用java语言编写程序在LCD上显示图像和视频,我该如何入手?

最近在学习嵌入式,想在嵌入式板(S3C2410)用java语言编写程序在LCD上显示图像和视频,到现在没有一点头绪,不知道从什么地方入手。在嵌入式linux上的java虚拟机用什么?…

查看全部问答>