最近记忆力以指数形式下降,以前弄明白的东西结果又忘了,故而将之写下避免下次又得重新查阅资料
这里讲的是关于STM32F10X的,和STM32F0XX系列的还是有一些区别的,F0的下次有空在写了....
概括一下:复用就是一个引脚有几个功能,1.做普通IO输入输出2.其他外设的输入输出(比如I2C,TIM,SPI等等),这就是复用。
重映射就是将引脚功能重新定义到其他引脚,例如PA9是USART1-TX默认的管脚,但是现在PA9用做它用了,那可以将USART1-TX重新映射到PB6,当然这种映射不是随意的想映射到哪个脚就哪个脚,芯片内部已经固定了只能映射到固定的地方
OK,说完了概念 下面是用法
MCU复位后PA8的默认功能是普通IO管脚,我想将它设为TIM1的PWM-CH1复用输出
步骤就是:1、将TIM1初始化好,设成PWM输出,使能定时器。2、将PA8管脚设为复用推挽输出。这样就可以使用PWM了,也就是复用的用法
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1,ENABLE);
/*Timer时基设置外设时钟频率*/
TIM_TimeBaseStructure.TIM_Period = 240;
TIM_TimeBaseStructure.TIM_Prescaler = 0;
TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
TIM_TimeBaseStructure.TIM_RepetitionCounter =0;
TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure);
TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;
TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;
TIM_OCInitStructure.TIM_OCNPolarity = TIM_OCNPolarity_High;
TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
TIM_OCInitStructure.TIM_OutputNState = TIM_OutputNState_Enable;
TIM_OCInitStructure.TIM_OCIdleState = TIM_OCIdleState_Set;
TIM_OCInitStructure.TIM_OCNIdleState = TIM_OCIdleState_Reset;
TIM_OCInitStructure.TIM_Pulse = 10;
TIM_OC1Init(TIM1, &TIM_OCInitStructure);
TIM_OC1PreloadConfig(TIM1, TIM_OCPreload_Enable);
TIM_ARRPreloadConfig(TIM1,ENABLE);
TIM_Cmd(TIM1,ENABLE);
那如果我PA8已经用作其他了。想将其重映射咋办,,,
按照上图 只有两种映射 部分映射和完全映射 如果是部分映射 改变的是BKIN,CH1N,CH2N,CH3N这几个脚而已,所以应该选完全映射 就可以将TIM1的PWM-CH1重映射到PE9这个脚去
GPIO_PinRemapConfig(GPIO_FullRemap_TIM1,ENABLE);
//不懂你们有没有这样的疑问,这样会不会改变其他引脚,本来我就不想改变其他只改变一个引脚,结果其他引脚也被重映射走了....
关于这个问题,我的理解是:例如上图,假如说 连CH2 CH3 CH4也以前用了的话 那就没办法了 都会一起被重新映射走了,也就说CH2=PE11 CH3=PE13 CH4 =PE14没办法只做到只映射了一个过来而已
那如果说只使用了CH1的话 那就不会有影响 PE11 PE13 PE14照样当做普通IO使用不用将这几个管脚的复用功能打开就可以了
上述乃个人理解,不对之处还望指出.....
关键字:STM32管脚 复用 重映像
引用地址:
STM32管脚的复用与重映像关系
推荐阅读最新更新时间:2024-03-16 15:27
STM8S103之IO复用
一、简介 本文以STM8S103F3P6编程为例,介绍STM8S103F3P6如何引脚复用。 二、实验平台 电脑平台:Windows7 64位旗舰 编译软件:IAR 硬件平台:STM8S103F3P6 三、版权声明 四、实验前提 1、在进行本文步骤前,请先安装IAR EWSTM8-EV-1311版本;准备好STM8S103F3P6硬件平台。 五、基础知识 暂无 六、源码地址 暂无 七、实验内容 1.先阅读STM8S103F数据手册 2.操作步骤 以STM8S103F3P6的IO“PC6”为定时器1PWM输出为例: 1)、配置定时器1为PWM输出 void
[单片机]
多信道E1映射复用成帧芯片PM8316及其应用
摘要:PM8316是PMC-Sierra公司生产的一种低功耗、高性能的多信道E1映射复用成帧芯片。该芯片内部集成了映射器、复用器、成帧器,其处理容量为63路E1,并含有8位微处理器总线接口和5个标准信号的JTAG测试端口,可支持收发抖动衰减。文中介绍了PM8316的主要功能和接口,给出了它在SDH终端设备中的主要信号电路框图。
关键词:SDH;PM8316;净荷;开销
1 引言
同步数字系列SDH作为新一代同步数字体系标准,与传统的准同步数字系列PDH相比具有网络结构灵活、网络管理能力和自愈能力强大、接口规范标准、前后兼容性好等优点。因此,在电信网日益向网络化、智能化、综合化发展趋势下,SDH正逐步取代PDH。SDH具有后向
[网络通信]
NAB 2017:罗德与施瓦茨公司在HEVC和HDR编码复用解决方案中处于领先地位
R&S AVHE100是一种既紧凑,又灵活可分级的编码复用解决方案,可提供目前业界最佳的视频质量,支持最先进的HEVC编码(HD及UHD格式),也支持HDR视频的传输。下面就随网络通信小编一起来了解一下相关内容吧。 NAB 2017,拉斯维加斯——罗德与施瓦茨公司提供的编码复用方案提供了HD及UHD格式下,业界最高的HEVC编码视频质量。该结论是和多家公司进行了视频质量和系统稳定性比对测试后得出的。其HEVC编码由Fraunhofer Heinrich-Hertz Institute (HHI)研发并授权,该机构一直致力于HEVC标准的发展。R&S AVHE100更加高效,是替代现有编码复用系统的理想方案,也适用于IPTV和基于
[网络通信]
如何使用一个智能复用器升级车用上桥臂驱动器
采用智能手段控制车内外照明在汽车 电子 系统中变得越来越重要;在紧凑的车身控制模块内集成的功能越来越多,这种发展趋势必然带来相应的技术挑战。汽车照明系统对电子元器件的要求越来越高,智能复用器可以解决PWM通道、诊断功能和系统可靠性问题。
车身控制模块(BCM)是执行各种功能的电子控制单元,这些功能包括控制和诊断,以及车内外照明的失效管理或子模块电源分配。车身控制模块还能处理车门锁执行器、刮水器、防盗功能和门禁系统。此外,车身控制模块还能执行网关功能,兼做连接车内不同通信网络的网桥。今天的车身控制模块还在不断发展进化。下面我们探讨车身控制模块的与汽车照明相关的控制与诊断功能的发展趋势。 现代车身控制模块
[电源管理]
小记-STM8S003F3端口复用和端口开漏
1.软件方面: STM8S003F3端口可以设置重映射,如pin12的PC5管脚,默认是SPI_SCK功能,可以重映射为TIM2_CH1,也就是timer2的1通道。映射方式并不像STM32那样有个AFR寄存器来配置,而是配置Option bytes字节,如下图(芯片手册的45页): 也就是OPT2寄存器,注意是STM8S003F3系列的,其它的芯片配置字节是不一样的。 比如要使用PC5的TIM2_CH2来做PWM输出或PWM信号捕获,按上图中的AFR0那一栏所示, AFR0 Alternate function remapping option 0 0: AFR0 remapping option inactive: Defa
[单片机]
LED复用技术及应用(LED图素分解技术)
LED复用技术及应用(LED图素分解技术) LED图素分解(又称虚拟图素)技术,就是采用LED复用技术,同一个LED发光管,可用相邻的LED发光管进行4次组合(下、下、左、右组合),这样采用相同的LED发光管,就可表示更多的图素。 例如:LED全彩屏采用红、绿、蓝三色发光管,每种管各256级灰度构成了
[模拟电子]
提高设计复用能力并降低开发成本,DAC呼吁制定IP复用标准
设计自动化会议(Design Automation Conference, DAC)的一个专门研究小组尝试确定交换芯片知识产权(IP)需要的数据模型。小组成员都认为需要IP复用标准,但是没有就达成目标的具体步骤获得一致。 三星公司的SoC R&D Center的高级研究经理Songjoo Yoo认为在目前45纳米及以下的工艺技术下SoC设计极为复杂,IP提供方和接受方之间的交换需要标准化的方法,这样能够提高设计复用能力,并降低开发成本。 ARM公司设计技术经理John Goodenough认为复杂的SoC需要来自各方的IP,AMBA或者OCP互联接口等IP互用性标准在体系结构层级提供帮助,降低总体系统验证工作。ARM支持IP-
[焦点新闻]