STM32F407定时器TIM2外部ETR中断配置,对PA0引脚跳变电平进行计数

 1.步骤

        移植江科大的TIM2的外部ETR程序到Stm32f407上,PA0作为TIM2的外部ETR引脚,当传感器/PA0按键按下时,会有电平跳变。跳变一次,OLED显示的CNT加一次,跳变10次,OLED显示的NUM加1。配置F4的区别在于:

        1是GPIO时钟:

RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE);//打开TIM2挂载的APB1时钟

        2是端口配置,这里需要把PA0变为复用模式,推挽或浮空输入都可以:

    GPIO_Init_Structure.GPIO_Mode=GPIO_Mode_AF;
	GPIO_Init_Structure.GPIO_Pin=GPIO_Pin_0;
	GPIO_Init_Structure.GPIO_PuPd=GPIO_PuPd_NOPULL;
	GPIO_Init_Structure.GPIO_Speed=GPIO_Speed_50MHz;
	GPIO_Init(GPIOA,&GPIO_Init_Structure);

         3是让PA0复用到TIM2的这个引脚上:

GPIO_PinAFConfig(GPIOA,GPIO_PinSource0,GPIO_AF_TIM2);

        其它的关于TIM、NVIC以及中断函数的初始化都没变化,不需要修改。 这样,就能够顺利进入到中断。其中,对于选择外部时钟源的这个函数的第二个参数:TIM_ExtTRGPSC_OFF,两分频即为PA0端口跳变两次才进入一次中断。

//选择外部引脚时钟源
TIM_ETRClockMode2Config(TIM2,TIM_ExtTRGPSC_OFF,TIM_ExtTRGPolarity_NonInverted,0X0F);

        链接:https://pan.baidu.com/s/1cIvlm-RR5SKriI8Fsz1TPQ?pwd=dzzh   提取码:dzzh 

2.端口映射与端口复用的区别

2.1端口复用 (Port Remapping)

        端口复用是指将一个外设的多个功能(如定时器、USART、SPI等)映射到不同的GPIO引脚上。这样,同一个外设的功能可以根据需要被分配到不同的引脚上,从而增加了系统的灵活性。

        端口复用的特点:

  • 可配置性:用户可以在软件中选择将某个外设的功能映射到哪个GPIO引脚。

  • 灵活性:同一外设的功能可以灵活地分配到不同的引脚上,这有助于简化电路板布局并提高资源利用率。

  • 配置复杂度:由于需要在软件中进行配置,这可能会增加一些额外的复杂度。

        示例:

        假设STM32F407有一个USART1外设,它可以被配置为使用PA9/PA10或PB6/PB7作为TX/RX引脚。这种配置就是端口复用的一个例子。

2.2映射 (Mapping)

        映射通常指的是将一个功能与特定的GPIO引脚关联的过程。在嵌入式系统中,这通常是指将外设的某个功能固定地连接到某个GPIO引脚上。

        映射的特点:

  • 固定性:映射通常是固定的,即一个外设功能总是连接到相同的GPIO引脚。

  • 简单性:映射关系通常是预先定义好的,不需要在软件中进行配置。

  • 易用性:由于映射关系简单明了,这使得硬件设计和软件开发更加容易。

        示例:

如果STM32F407的USART1总是使用PA9作为TX引脚和PA10作为RX引脚,那么这就属于映射的例子。

2.3区别

  • 配置方式:端口复用通常需要在软件中配置,而映射则是硬件上的固定连接。
  • 灵活性:端口复用提供了更多的灵活性,因为它允许用户在不同的引脚之间切换外设的功能;而映射则通常不提供这种灵活性。
  • 应用场景:端口复用适用于需要灵活配置的场合,而映射则适用于那些功能和引脚连接不需要更改的场合。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值