野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 25509|回复: 2

一个通用定时器测两个脉冲信号的宽度

[复制链接]
发表于 2021-1-29 19:29:58 | 显示全部楼层 |阅读模式
本帖最后由 richard123 于 2021-1-30 08:30 编辑

void GENERAL_TIM_INT_FUN(void)
{
        if ( TIM_GetITStatus ( GENERAL_TIM, TIM_IT_Update) != RESET )               
        {        
                TIM_ICUserValueStructure.Capture_Period ++;               
                TIM_ClearITPendingBit ( GENERAL_TIM, TIM_FLAG_Update );                 
        }


        if ( TIM_GetITStatus (GENERAL_TIM, GENERAL_TIM_IT_CCx ) != RESET)
        {

                if ( TIM_ICUserValueStructure.Capture_StartFlag == 0 )
                {

                        TIM_SetCounter ( GENERAL_TIM, 0 );

                        TIM_ICUserValueStructure.Capture_Period = 0;
               
                        TIM_ICUserValueStructure.Capture_CcrValue = 0;


                        GENERAL_TIM_OCxPolarityConfig_FUN(GENERAL_TIM, TIM_ICPolarity_Falling);
                        
                        TIM_ICUserValueStructure.Capture_StartFlag = 1;                        
                }

                else
                {

                        TIM_ICUserValueStructure.Capture_CcrValue =
                        GENERAL_TIM_GetCapturex_FUN (GENERAL_TIM);

                        GENERAL_TIM_OCxPolarityConfig_FUN(GENERAL_TIM, TIM_ICPolarity_Rising);

                        TIM_ICUserValueStructure.Capture_StartFlag = 0;
               
                        TIM_ICUserValueStructure.Capture_FinishFlag = 1;               
                }

                TIM_ClearITPendingBit (GENERAL_TIM,GENERAL_TIM_IT_CCx);            
        }               
}
如果我一个定时器里输入两个脉冲,怎么知道哪个通道产生了更新中断?
这个是一个脉冲的中断处理方式 ,那两个脉冲呢,更新中断 TIM_GetITStatus ( GENERAL_TIM, TIM_IT_Update),怎么知道 是哪个通道的脉冲发生的更新中断呢?



回复

使用道具 举报

发表于 2021-2-1 15:50:12 | 显示全部楼层
产生更新中断之后,读取捕获比较寄存器,应该就可以判断当前是哪个通道产生的中断
回复 支持 反对

使用道具 举报

发表于 2021-2-1 15:53:44 | 显示全部楼层
ZZZ_XXJ 发表于 2021-2-1 15:50
产生更新中断之后,读取捕获比较寄存器,应该就可以判断当前是哪个通道产生的中断 ...

应该是更新中断后读取两个通道的捕获比较中断,上一条编辑不了了。。。
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-24 23:45 , Processed in 0.041174 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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