stm32 TIM2 重映射

发布者:数字行者最新更新时间:2017-10-24 来源: eefocus关键字:stm32  TIM2  重映射 手机看文章 扫描二维码
随时随地手机看文章

stm32的TIM2的端口使用组合有下面四种:


1.当不重映射时,默认TIM2四个的IO口是PA0、PA1、PA2、PA3

2.要使用PA15、PB3、PA2、PA3的端口组合,要调用下面的语句进行部分重映射:

  RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);   //重映射必须要开AFIO时钟

  GPIO_PinRemapConfig(GPIO_PartialRemap1_TIM2, ENABLE);


3.要使用PA0、PA1、PB10、PB11的端口组合,要调用下面的语句进行部分重映射:

  RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);   //重映射必须要开AFIO时钟

  GPIO_PinRemapConfig(GPIO_PartialRemap2_TIM2, ENABLE);


4.要使用PA15、PB3、PB10、PB11的端口组合,要调用下面的语句进行完全重映射:

  RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);   //重映射必须要开AFIO时钟

  GPIO_PinRemapConfig(GPIO_FullRemap_TIM2, ENABLE);

同时还要禁用JTAG功能,PA15、PB3、PB10、PB11才会正常输出。


完全映射端口配置函数:


  1. static void TIM2_GPIO_Config(void)  //CH1-PA15 CH2-PB3 CH3-PB10 CH4-PB11  重映射  

  2. {  

  3.   GPIO_InitTypeDef GPIO_InitStructure;  

  4.   RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);   

  5.   RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB | RCC_APB2Periph_AFIO, ENABLE);   

  6.   

  7.   GPIO_PinRemapConfig(GPIO_FullRemap_TIM2, ENABLE);  

  8.   GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable , ENABLE); //禁止JTAG功能,把PB3,PB4作为普通IO口使用  

  9.       

  10.   GPIO_InitStructure.GPIO_Pin =  GPIO_Pin_15;  

  11.   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;           // 复用推挽输出  

  12.   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;  

  13.   GPIO_Init(GPIOA, &GPIO_InitStructure);  

  14.   

  15.   GPIO_InitStructure.GPIO_Pin =  GPIO_Pin_3 | GPIO_Pin_10 | GPIO_Pin_11;  

  16.   GPIO_Init(GPIOB, &GPIO_InitStructure);  

  17. }  


关键字:stm32  TIM2  重映射 引用地址:stm32 TIM2 重映射

上一篇:STM32硬件IIC之DMA传输数据
下一篇:stm32 高级定时器产生PWM

推荐阅读最新更新时间:2024-03-16 15:41

STM32使用FSMC控制sram例程
一、基本概念 1. 与非总线复用的16位SRAM接口 FSMC配置 SRAM存储器和NOR闪存存储器共用相同的FSMC存储块,所用的协议依不同的存储器类型而有所不同。 控制SRAM存储器,FSMC应该具有下述功能: ● 使用或禁止地址/数据总线的复用功能。 ● 选择所用的存储器类型:NOR闪存、SRAM或PSRAM。 ● 定义外部存储器的数据总线宽度:8或16位。 ● 使用或关闭扩展模式:扩展模式用于访问那些具有不同读写操作时序的存储器。 正如配置NOR闪存存储器一样,用户必须按照SRAM存储器的数据手册给出的时序数据,计算和设置下列参数: ● ADDSET:地址建立时间 ● ADDHOLD:地址保持时间 ● DATAST:数据建
[单片机]
IAR 开发STM32 ARM 版本不兼容 解决办法之一
对于V4 和V5不兼容的解决方法很多了,最近用V6 版开发,结果同事用V5.3版 ,我调通之后代码给他,结果他那边显示错误,配置资料失效了,查看是版本不同导致的。懒得转换,但是没办法还是得转换,只好新建一个空的 IAR 5.3版的工程,保证存放文件的目录结构和之前的目录结构相同,然后在工程中点击菜单栏的 Project 选项 ——Import File List... 然后开始导入新版本的工程文件信息 选择之前的新版本的 *.ewp 文件 导入,立刻之前的文件列表就出现在旧版本的界面左侧。还差3步完成: 1 在项目的Option--General Option 选择器件类型 2 在项目的Option--
[单片机]
IAR 开发<font color='red'>STM32</font> ARM 版本不兼容 解决办法之一
STM32 串口的基本配置(寄存器版)笔记
1.串口 1.串口作为MCU和外界的连接工具,既可以检验代码的正确性,也可以和上位机进行交流 2.在STM32F103RCT6中,最多支持5路串口,对于串口而言,一般使用串行通信(USART1--5) 3.几个比较重要的寄存器: 具体配置过程 1.计算波特率(整数和小数部分) 2.初始化GPIO口 3.复位USART 配置波特率,配置奇偶校验,停止位等 4.配置中断(可编写中断服务函数) 代码实现: //初始化IO 串口1 //pclk2:PCLK2时钟频率(Mhz) //bound:波特率 //1.计算波特率(整数和小数) //2.初始化引脚 //3.复位USAR
[单片机]
<font color='red'>STM32</font> 串口的基本配置(寄存器版)笔记
STM32 ST-LINK Utility安装及使用
TM32 ST-LINK Utility集成开发环境的安装比较简单(基本上就是一路Next下去)。还是按照常规安装教程(截图)讲述一下吧,以上面下载的“STM32 ST-LINK Utility v4.0.0 setup.exe”软件为例讲述。 1.解压软件,双击“STM32 ST-LINK Utility v4.0.0.exe”,进入准备安装(解压)过程。 2.进入安装向导,点击“Next”。 3.同意许可,点击“Yes”。 4.选择安装路径(这里默认),点击“Next”。 5.进入安装过程,不到一分钟时间。 6.安装最后提示“安装驱动”,点击“下一步”,最后点击“完成”安装完成。 7.点击“F
[单片机]
<font color='red'>STM32</font> ST-LINK Utility安装及使用
如何解决STM32芯片Flash写保护的问题
本文介绍了如何解决STM32芯片Flash写保护导致无法下载程序,无法在线调试的问题;如果您遇到相同的问题,希望本文可以带来一些帮助。 1 FLASH的写保护 如果对Flash设置了写保护,那就无法对Flash进行编程和擦除。 在开发STM32的时候,如果出现这种情况,通常仿真器都支持对Flash进行解锁,像jlink,stlink等仿真器都支持这个功能。 2 错误提示 在使用MDK进行调试的时候,出现报错 ==Flash Timeout.Reset Target and try it again==,具体如下图所示; 折腾了一番之后,并没有解决问题,因为使用的仿真器是stlink,因此下载了stlink utilit
[单片机]
如何解决<font color='red'>STM32</font>芯片Flash写保护的问题
STM32时钟配置及相关问题
Ⅰ、写在前面 最近有很多朋友问: 1.我的USART串口打印出来的数据是乱码? 2.我的TIM定时器延时或定时不准确? 常见可能原因: 1.晶振问题:外部晶振不起振、或频率与配置不匹配。 2.软件问题:分频、倍频、时钟源选择等。 总结来说,主要还在于软件的问题。因为即使没有外部晶振,也可以使用内部晶振。 其实,软件的问题是容易得到解决的,只要你了解了STM32时钟配置里面具体内容就知道了。 关于本文的详细内容请看下面章节 Ⅱ、本文要点 要了解时钟的配置,就需要知道它在哪里配置,也就是还需要了解软件执行的流程。 1.软件流程 说软件流程是让大家知道系统时钟配置的位置。不管是使用寄存器开发,还是使用库(标准库、HA
[单片机]
<font color='red'>STM32</font>时钟配置及相关问题
STM32学习笔记——GPIO之从库函数到寄存器
例子为单片机的“Hello World”级的流水灯实验——虽然只有一个,其中并不是将完整的代码给出,只是给出关键部分来说明“如何调用ST公司的的库来完成对硬件的控制,以及对库文件代码进行跟踪和分析至寄存器级”。所以从第一段代码往下看就可以了,要用到的函数和变量大部分会说明,至于寄存器级的,那就只能翻手册了。 GPIO(General Purpose Input/Output) - 通用输入/输出 main.c :此函数为主函数,控制LED,亮1s,灭1s int main(void) { //LED初始化 LED_Configuration(); while(1) { GPIO_SetBits(GP
[单片机]
<font color='red'>STM32</font>学习笔记——GPIO之从库函数到寄存器
STM32触摸按键原理和电路设计
01触摸按键原理 触摸使用RC充放电原理: RC电路是指由电阻R和电容C组成的电路,它是脉冲产生和整形电路中常用的电路。 充电过程: 电源通过电阻给电容充电,由于一开始电容两端的电压为0,所以电压的电压都在电阻上,这时电流大,充电速度快。随着电容两端电压的上升,电阻两端的电压下降,电流也随之减小,充电速度小。充电的速度与电阻和电容的大小有关。电阻R越大,充电越慢,电容C越大,充电越慢。衡量充电速度的常数t(tao)=RC。 放电过程: 电容C通过电阻R放电,由于电容刚开始放电时电压为E,放电电流I=E/R,该电流很大,所以放电速度很快。随着电容不断的放电,电容的电压也随着下降。电流也很快减小。电容的放电速度与RC有关,R的阻值
[单片机]
<font color='red'>STM32</font>触摸按键原理和电路设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved