关于定时器输入捕获实验的问题

2019-08-14 03:25发布

u8 TIM5CH1_Capture_State=0;
u32 TIM5CH1_Capture_Value;

void TIM5_IRQHandler(void)
{
        if((TIM5CH1_Capture_State&0X80)==0)
        {
           if(TIM_GetITStatus(TIM5,TIM_IT_Update)!= RESET)
                  {
                   if(TIM5CH1_Capture_State&0X40)
                         {
                           if((TIM5CH1_Capture_State&0X3F)==0X3F)
                                 {  
                                   TIM5CH1_Capture_State|=0X80;
                                   TIM5CH1_Capture_Value=0XFFFFFFFF;
                                 }else TIM5CH1_Capture_State++;
                          }
                        }
                  if(TIM_GetITStatus(TIM5,TIM_IT_CC1)!= RESET)
                        {
                                if((TIM5CH1_Capture_State&0X40)==1)
                                {
                                  TIM5CH1_Capture_State|=0X80;
                                        TIM5CH1_Capture_Value=TIM_GetCapture1(TIM5);
                                        TIM_OC1PolarityConfig(TIM5,TIM_ICPolarity_Rising);
                                }else
                                {
                                  TIM5CH1_Capture_State=0;
                                  TIM5CH1_Capture_Value=0;
                                        TIM5CH1_Capture_State|=0X40;
                                        TIM_Cmd(TIM5,DISABLE);
                                        TIM_SetCounter(TIM5,0);
                                        TIM_OC1PolarityConfig(TIM5,TIM_ICPolarity_Falling);
                                        TIM_Cmd(TIM5,ENABLE );
                                }
                          
                        }
                 }
        TIM_ClearITPendingBit(TIM5,TIM_IT_Update|TIM_IT_CC1);
        }               
以上是本人参照原子代码写的,只不过定义的变量不同,可是编译后有两个错误,但是只要把我定义的两个变量TIM5CH1_Capture_State 和TIM5CH1_Capture_Value换成原子代码里的TIM5CH1_CAPTURE_STA和TIM5CH1_CAPTURE_VAL就没错误了,这是为什么?

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
peng1554
1楼-- · 2019-08-14 07:46
 精彩回答 2  元偷偷看……
大家跟我一起数
2楼-- · 2019-08-14 11:01
上图啊
aiyeba
3楼-- · 2019-08-14 12:43
虽然已经解决了,但我还是告诉你正确答案

是因为   你改了变量以后没有在main函数那里申明。你看看原子哥的就有申明 extern

不过,一般情况都是   申明在h文件      这样别的调用更加方便
fengruixin1992
4楼-- · 2019-08-14 17:01
aiyeba 发表于 2017-9-4 14:46
虽然已经解决了,但我还是告诉你正确答案

是因为   你改了变量以后没有在main函数那里申明。你看看原子 ...

嗯嗯,谢了,发现了

一周热门 更多>