اطلاعیه

Collapse
No announcement yet.

اندازه گیری طول پالس

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    اندازه گیری طول پالس

    دوستان معدل پین icp توی lpc کدوم پین میشه
    کلا برای اندازه گیری طول پالس برنامه یا راهنمایی دارید
    قصدم دیکد ریموت های ماشین هست
    هرچه سعی کنیم لایه های نرم افزاری زیاد کرده و از سخت افزار دور کنیم مشکلات(باگ ها) کمتر خواهد شد(امنیت بیشتری خواهید داشت)
    بهترین جواب دهنده برای سوال شما، خود شما هستید البته بعد تلاش،پشتکار و مطالعه بیشتر
    میدونی مشکل ما کجاست؟سرمایه و مغز ها رو نمیتونیم یکجا جمع کنیم...

    تعدادی ماژول GPS GP5MX1513F1 با بالاتریت حساسیت -170db به قیمت خرید بفروش میرسد

    #2
    پاسخ : اندازه گیری طول پالس

    اگه منظورت پین کپچر هستش با cap نشون میدن
    http://www.eca.ir/forum2/index.php/topic,10159.0.html
    Engineering is the art of making what you want from things you can get.
    اموزش DSP ...........................
    http://www.eca.ir/forum2/index.php?topic=29824.0
    http://www.eca.ir/forum2/index.php?topic=32324.0

    دیدگاه


      #3
      پاسخ : اندازه گیری طول پالس

      من با Capture کار نکردم
      ولی با وقفه GPIO و تایمر میشه طول پالس رو بدست آورد
      کدش هم هست
      اگه خواستی خبر بده بذارم
      برای راه اندازی SRF05 نیاز به اندازه گیری طول پالس داشتم که از این روش استفاده کردم

      دیدگاه


        #4
        پاسخ : اندازه گیری طول پالس

        کد:
        //LED
        #define LED   (1 << 22)
        #define LED_ON   LPC_GPIO0->FIOSET=LED
        #define LED_OFF  LPC_GPIO0->FIOCLR=LED
        #define LED_TOG  LPC_GPIO0->FIOPIN^=LED
        
        void TIMER0_IRQHandler(void)
        {
         uint32_t reg_val;
         reg_val = LPC_TIM0->IR;
         if(reg_val & (1<<4))      //CR0 interrupt
         {
         if(LPC_GPIO1->FIOPIN & (1<<26))//high?
         {
          LED_ON;
         }
         else
         {
          LED_OFF;
         }
         LPC_TIM0->IR = (1<<4);    //reset interrupt
         }
        }
        
        int main(void)
        {
         LPC_GPIO0->FIODIR |= LED;    //LED output
         volatile static int i = 0 ;
        //setup timer 0 capture
        //Setup P1.26 as CAP0.0
         LPC_PINCON->PINSEL3 |= (3<<20);  //set capture 0.0
        //Note: reset values of timer registers are 0, so setting them isn't necessary
         LPC_TIM0->CCR =((1<<0)|(1<<1)|(1<<2));    //capture rising & falling with interrupt
         LPC_TIM0->TCR = 1;        //start timer
         NVIC_EnableIRQ(TIMER0_IRQn);
         while(1)
         {
         i++ ;
         }
         return 0 ;
        }
        هرچه سعی کنیم لایه های نرم افزاری زیاد کرده و از سخت افزار دور کنیم مشکلات(باگ ها) کمتر خواهد شد(امنیت بیشتری خواهید داشت)
        بهترین جواب دهنده برای سوال شما، خود شما هستید البته بعد تلاش،پشتکار و مطالعه بیشتر
        میدونی مشکل ما کجاست؟سرمایه و مغز ها رو نمیتونیم یکجا جمع کنیم...

        تعدادی ماژول GPS GP5MX1513F1 با بالاتریت حساسیت -170db به قیمت خرید بفروش میرسد

        دیدگاه

        لطفا صبر کنید...
        X