查看: 5982|回复: 1

【定时器LPTIM】LPTIMER 输入捕获管脚设置

[复制链接]

7

主题

10

帖子

116

积分

中级工程师

Rank: 2

积分
116
发表于 2021-3-1 11:28:54 | 显示全部楼层 |阅读模式
使用LPTIME的CH1进行持续的输入脉冲周期检测 (外部输入为 约 1HZ信号) , 需要配置 LPTIME CH1管脚为 输入捕获状态  ,
CH1管脚为 PA8 ,   PA8的可用配置为 :
1 :PA8  GPIO
2 :SEG0  LCD 驱动 SEG 端
3 :LPT32_CH1  低功耗定时器外部通道
4 :COMP2_INP1

如何将该管脚配置为 LPT32_CH1 ?  
目前处理为  :
1  :将PA设置为数字功能 ,CMP2_INP_PORT :为 GPIOA , CMP2_INP_PIN 为 (0x1U << 8U)
    GPIO_SetPinMode(CMP2_INP_PORT,CMP2_INP_PIN,GPIO_MODE_DIGITAL);
    GPIO_EnablePinInput(CMP2_INP_PORT,CMP2_INP_PIN );   
2 :配额LPTIME 为CH1捕获状态 。LPTIME 时钟已经打开 ,
    //stop running
    LPTIM->CR = 0 ;
    // clock 32768, predive is 1 , timer mode
    LPTIM->CFGR = 0 ;
    // use max counter
    LPTIM->ARR =  0xffffffff ;
    // enable ch1 capture . rising edge .
    LPTIM->CCSR = 0x01 ;
    // enable CC1 capture interrupt.
    LPTIM->IER = 0x01;
    //clear interrupt flage
    LPTIM->ISR = 0xfffff;
在中断中检查 CCR1中断,当CCR1中断产生时 读取CCR1CCR1进行处理  。

  if((LPTIM->ISR & LPTIM->IER ) & 1)
   {
       read  LPTIM->CCR1;
       do something...
  }
LPTIM->ISR = LPTIM->ISR ;
目前只能检测到上电时 一次中断, 后续检测不到上升沿 ?


回复

使用道具 举报

7

主题

10

帖子

116

积分

中级工程师

Rank: 2

积分
116
 楼主| 发表于 2021-3-1 17:04:18 | 显示全部楼层
已解决。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表