OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2805|回复: 1

大家帮忙看下逻辑错在哪里,这是输入捕获的中断程序

[复制链接]

3

主题

4

帖子

0

精华

新手上路

积分
41
金钱
41
注册时间
2019-8-10
在线时间
6 小时
发表于 2020-2-4 12:37:15 | 显示全部楼层 |阅读模式
//¶¨ê±Æ÷5ÖD¶Ï·tÎñ3ìDò         
        void TIM5_IRQHandler(void)
        {

        if((TIM5CH1_CAPTURE_STA&0X80)==0)//»1Î′3é1|2¶»ñ       
        {          
                if (TIM_GetITStatus(TIM5, TIM_IT_Update) != RESET)
                 
                {            
                        if(TIM5CH1_CAPTURE_STA&0X40)//òѾ-2¶»ñμ½¸ßμçÆ½áË
                        {
                                if((TIM5CH1_CAPTURE_STA&0X3F)==0X3F)//¸ßμçÆ½ì«3¤áË
                                {
                                        TIM5CH1_CAPTURE_STA|=0X80;//±ê¼Ç3é1|2¶»ñáËò»′Î
                                        TIM5CH1_CAPTURE_VAL=0XFFFF;
                                }else
                       
                        TIM5CH1_CAPTURE_STA++;
                        }         TIM_ClearITPendingBit(TIM5, TIM_IT_Update);
                }

                if ((TIM_GetITStatus(TIM5, TIM_IT_CC1) != RESET)&&((TIM5CH1_CAPTURE_STA&0X40)==0))//2¶»ñ1·¢éú2¶»ñê¼t
        {       
                        TIM5CH1_CAPTURE_STA|=0X40        ;        //2¶»ñμ½ò»¸öϽμÑØ                
                         TIM5CH1_CAPTURE_VAL=0;                       
                                TIM_SetCounter(TIM5,0);
                                TIM_OC1PolarityConfig(TIM5,TIM_ICPolarity_Falling);                //CC1P=1 éèÖÃÎaϽμÑØ2¶»ñ
                               
                                if ((TIM_GetITStatus(TIM5, TIM_IT_CC1) != RESET)&&((TIM5CH1_CAPTURE_STA&0X40)==1))
                                {
                                        TIM5CH1_CAPTURE_VAL=TIM_GetCapture1(TIM5);
                                        TIM5CH1_CAPTURE_STA|=0X80;                //±ê¼Ç3é1|2¶»ñμ½ò»′θßμçÆ½Âö¿í
                               
                                        TIM_OC1PolarityConfig(TIM5,TIM_ICPolarity_Rising); //CC1P=0 éèÖÃÎaéÏéyÑØ2¶»ñ
                                        TIM5CH1_CAPTURE_STA=0;                        //Çå¿Õ
                                TIM5CH1_CAPTURE_VAL=0;
                                TIM_SetCounter(TIM5,0);
                                       
                                }
                        }

                               
                               
                } TIM_ClearITPendingBit(TIM5, TIM_IT_CC1|TIM_IT_Update);//Çå3yÖD¶Ï±ê־Π              
        }

下载后程序复位不了,串口也打印不出时间,
微信截图_20200204123550.png

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

109

主题

5564

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
10572
金钱
10572
注册时间
2017-2-18
在线时间
1914 小时
发表于 2020-2-5 15:08:30 | 显示全部楼层
在main函数的前几行加printf函数,看能打印数据出来不
不行的话,拿原子例程去改比较好
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-2 01:22

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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