查看: 3687|回复: 2

求助下,FML026中LTIM外部捕捉如何区分通道。

[复制链接]

2

主题

5

帖子

68

积分

中级工程师

Rank: 2

积分
68
发表于 2021-4-12 13:07:42 | 显示全部楼层 |阅读模式
本帖最后由 sinychai 于 2021-4-12 13:11 编辑

本人小白,求助下,FML026中LTIM外部捕捉如何区分通道。
项目需要,想用LTIM做低功耗计数器使用,知道有两个通道,但是看了API中,只有LPTIM_CCSR_CAP1SSEL_LPT32_CH1,请问如何也让通道2计数,并且在中断中相应出来。void LptimInit(void){   
     Lptim_GPIO_Init();
    // 开启BSTIM时钟
    RCC_OPC_CR2_LPTCKS_Set(RCC_OPC_CR2_LPTCKS_APBCLK);
    RCC_OPC_CR2_LPTCKE_Setable(ENABLE);
    RCC_PERCLK_SetableEx(LPTCLK, ENABLE);
    LPTIM_CR_EN_Setable(DISABLE); // LPTIM关闭
    LPTIM_CFGR_PSCSEL_Set(LPTIM_CFGR_PSCSEL_CLKSEL);    // 使用CLKSEL选择的时钟
    LPTIM_CFGR_DIVSEL_Set(LPTIM_CFGR_DIVSEL_DIV8);     // 计数器时钟分频
    LPTIM_CFGR_ONST_Set(LPTIM_CFGR_ONST_CONTINUE);      // 连续计数模式`
    LPTIM_CFGR_TMOD_Set(LPTIM_CFGR_TMOD_NORMAL);        // 普通定时器模式
    LPTIM_CCSR_CAP1SSEL_Set(LPTIM_CCSR_CAP1SSEL_LPT32_CH1);        //通道1捕捉信号源选择LPT32_CH1
    LPTIM_CCSR_CAPCFG1_Set(LPTIM_CCSR_CAPCFG1_RISING|LPTIM_CCSR_CAPCFG2_RISING);  //通道1上升沿捕捉 蓝色是我加的
    LPTIM_CCSR_CC1S_Set(LPTIM_CCSR_CC1S_CAPTURE|LPTIM_CCSR_CC2S_CAPTURE);       // 通道1使能比较功能
    LPTIM_ARR_Write(0xFFFFFFFF);
    NVIC_DisableIRQ(LPTIM_IRQn);
    NVIC_SetPriority(LPTIM_IRQn, 2);
    NVIC_EnableIRQ(LPTIM_IRQn);                        
    LPTIM_ISR_CC1IF_Clr();
    LPTIM_ISR_CC2IF_Clr();
    LPTIM_IER_CC1IE_Setable(ENABLE);    // 捕捉1中断使能
    LPTIM_IER_CC2IE_Setable(ENABLE); // 捕捉2中断使能                
    LPTIM_CR_EN_Setable(ENABLE); // LPTIM使能
}
uint32_t tmp1=0,tmp2=0;
uint08 count=0;
void LPTIM_IRQHandler(void){  
        if(LPTIM_ISR_CC1IF_Chk() == SET) {
                count++;
                if(count ==2 ) {
                        tmp2 = LPTIM_CCR1_Read();        
                        count = 0;
                }else{
                        tmp1 = LPTIM_CCR1_Read();        
                }               
                LPTIM_ISR_CC1IF_Clr();
        }
}


回复

使用道具 举报

31

主题

105

帖子

1368

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1368
发表于 2021-5-19 14:30:34 | 显示全部楼层
通道2的捕获输入只有CH2,只需要配置边沿和使能通道2的捕捉功能
LPTIM_CCSR_CAPCFG2_Set(LPTIM_CCSR_CAPCFG2_RISING);
LPTIM_CCSR_CC2S_Set(LPTIM_CCSR_CC2S_CAPTURE);
回复

使用道具 举报

0

主题

2

帖子

6

积分

初级工程师

Rank: 1

积分
6
发表于 2022-3-15 14:49:52 | 显示全部楼层
只需要配置边沿和使能通道2的捕捉功能
幸运飞艇走势图福彩双色球走势图幸运时时彩走势图
回复

使用道具 举报

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

本版积分规则

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