智能车制作

标题: 大哥们求帮助,新手又不懂了 [打印本页]

作者: yangfei686992    时间: 2013-8-27 08:26
标题: 大哥们求帮助,新手又不懂了
在火哥的那个低功耗定时器的历程中,自己写遇到了几个小问题不太懂,还望大哥们讲解一下
volatile u32 LPT_INT_count;  //这里的这个count,不代表是主函数的那个,如果只在这里写一个那么主函数中的将没有定义,还有个问题就是这里定义其他变量为什么不行?只有定义这个变量才可以。为什么???不懂啊???

我定义成其他变量,主函数中显示的是主函数中的变量没有定义,只能定义成这个才行,为什么啊?

第二个问题
//这里的先清中断标志位,和后清产生的结果为什么为不一样???
  lptmr_flag_clean(); //清中断标志相当于LPTMR0_CSR|=LPTMR_CSR_TCF_MASK
   //LPTMR0_CSR|=LPTMR_CSR_TCF_MASK;    //清空中断标志
  LPT_INT_count++;  //这里实质就是在脉冲计算


我先清中断再++。和++再清中断我觉得产生的结果是一样的啊,但是主函数中
while(1)
    {
     if(LPT_INT_count>0)
      {
        printf("产生的脉冲计数值为%d\n",LPT_INT_count*100); //串口发送
        // lptmr_counter_clean();  //清空计算器的值
        LPT_INT_count=0;            //清零
       // LPT_INT_count=0;
      }
      
    }

先清中断是100,先++是200,我就不懂了,要是讲这个串口发送函数放在lptmr中断中,不管是先清中断还是后清都是100

困扰了我好久额这个问题

作者: yangfei686992    时间: 2013-8-27 08:27
自顶
作者: yangfei686992    时间: 2013-8-27 12:40
怎么没人啊?




欢迎光临 智能车制作 (http://111.231.132.190/) Powered by Discuz! X3.2