关于stm32的计数器???

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于stm32的计数器???相关的知识,希望对你有一定的参考价值。

参考技术A 当来第一个脉冲时计数器开始计待测信号上升沿数,下一个脉冲到来时,捕获STM32使用外部8M晶振做系统时钟。精度也是有保证的。
或者你有别的考虑说来
参考技术B 当然有,用外部时钟即可.但是配置肯定不会像51那么简单
以下是参考手册上的说明(将TIMx_CH2引脚配置为时钟):
配置TIMx_CCMR1寄存器CC2S=01,配置通道2检测TI2输入的上升沿
配置TIMx_CCMR1寄存器的IC2F[3:0],选择输入滤波器带宽(如果不需要滤波器,保持IC2F=0000)
配置TIMx_CCER寄存器的CC2P=0,选定上升沿极性
配置TIMx_SMCR寄存器的SMS=111,选择定时器外部时钟模式1
配置TIMx_SMCR寄存器中的TS=110,选定TI2作为触发输入源
设置TIMx_CR1寄存器的CEN=1,启动计数器
注:
捕获预分频器不用作触发,所以不需要对它进行配置
当上升沿出现在TI2,计数器计数一次,且TIF标志被设置。
在TI2的上升沿和计数器实际时钟之间的延时,取决于在TI2输入端的重新同步电路。

关于STM32L100xx, STM32L151xx, STM32L152xx ,STM32L162xx 的Reset

有三种Reset:System 复位,Power 复位,RTC域复位.

  • System 复位

    System复位所有寄存器,但除了RTC,RTC backup寄存器和控制/状态寄存器RCC_CSR。

    system复位产生的情形有:

    1. NRST引脚拉低

    2. 看门狗计数结束(WWDG复位)

    3. 独立看门狗技术结束(IWDG复位)

    4. 软件复位(SW复位)

    5. 低功耗管理复位

    6. 选项字节加载复位

    7. 退出Standby模式

  这些复位源可以通过查看RCC_CSR寄存器的相应复位标识位进行确认。

  Software复位

  通过设置Cortext-M3的应用中断与复位控制(Application Interrupt and Reset Control) 寄存器的SYSRESETREQ位复位。需要参考Cortext-M3内核相关资料。

  低功耗管理复位

  以下两种情形产生低功耗管理复位:

  1. 进入Standby模式:

  用户选项字节中复位nRST_STDBY位使能这种复位。该情形下,任意时候执行完进入Standby模式的序列,设备都将进入复位状态而不是进入Standby模式。

  2. 进入Stop模式:

  用户选项字节中复位nRST_STOP位使能这种复位。该情形下,任意时候执行完进入Stop模式的序列,设备都将进入复位状态而不是进入Stop模式。

  选项字节加载复位

  FLASH_PECR寄存器的OBL_LAUNCH位置1产生选项字节载入复位。这个位用来软件方式加载选项字节。

  • Power 复位

  产生power复位的情形:

  1.Power-on/power-down复位(POR/PDR复位)

  2.BOR复位

  power复位可以复位所有寄存器的值,包括RTC域的寄存器。

  这些复位源产生的复位使得NRST引脚在延迟阶段一直处于低电平状态。RESET服务入口向量地址为0x0000_0004。

  system复位信号也在NRST引脚上输出。脉冲发生器为每个内部的复位源产生一个最小的20us的复位时间。外部复位情形下,复位脉冲在NRST引脚拉低的情形下产生。

  • RTC 和 backup寄存器reset

  下面两种情况才可以复位RTC外围,RTC时钟源选择(RCC_CSR中)和backup寄存器:

  1. 置位RCC_CSR寄存器的RTCRST引发的复位。

  2. Power reset(BOR/POR/PDR)


以上是关于关于stm32的计数器???的主要内容,如果未能解决你的问题,请参考以下文章

关于STM32F103 脉冲计数的问题

关于STM32单片机PWM输出实验定时器的问题

stm32按键识别

stm32编码器停止计数

STM32F10X-定时器/计数器

STM32 PWM 输出定时器(计数器设置)的计算公式