ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ورود برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.





کاربران برچسب زده شده

صفحه 1 از 2 12 آخرین
نمایش نتایج: از 1 به 10 از 11
  1. #1
    2012/09/16
    boushehr
    118
    15

    مورد در رابطه با تایمر

    سلام دوستان . چند تا سوال در مورد تعاریف تایمر ها داشتم
    1- اگه میشه یه تعریف دقیق و کامل در مورد کار mat و capture بدید.
    تا اونجایی که می دونم پایه کپچر برای اینه که هر وقت یه پالس روی اون اومد باید مقدار تایمر یه جا ثبت بشه (و حالا یه استفاده ای ازش بشه )ولی دقیقا نمی دونم کجا .
    بعد اینکه با تعریف وقفه کپچر مشکل دارم . اگه میشه توضیح کاملی در مورد کارایی اون بدید.
    و اینکه چطور میشه از اون به عنوان کانتر استفاده کرد؟اگه میشه با توابع cmsis توضیح بدید.

  2. #2
    2012/10/06
    تهران خيابان دکتر شريعتي
    48
    2

    پاسخ : مورد در رابطه با تایمر

    سلام به شما،
    کاربرد match تایمر در مقایسه مقدار تایمر با یک سطح است. که وقتی مقدار تایمر به سطح مورد تنظیم رسید یک فعالیت نظیر اینتراپت، ریست تایمر یا استپ تایمر بر اساس تنظیمات رخ میده. مثلاً ما میتونیم تایمر رو جوری تنظیم کنیم که هر شمارشش (1 به 2 ، 2 به 3) یک میلی ثانیه طول بکشه و یک سطح روی مثلا 20 مشخص کنیم. پس تایمر قاعدتاً وقتی 20 تا بشمورد، 20 میلی ثانیه زمان گذشته است. پس ما میتونیم در زمانی دقیق یک عملیات مثل اینتراپت داشته باشیم (هر 20 میلی ثانیه وقفه تولید شود)

    کاربرد Capture نیز برای اندازه گیری یک عرض پالس است. مثلا سنسورهای دیجیتال مقدار خروجی را بر حسب عرض پالس میدهند.
    رجیستر مربوط به مقدار capture هم بسته به میکروکنترلر متفاوت است.
  3. #3
    2012/09/16
    boushehr
    118
    15

    پاسخ : مورد در رابطه با تایمر

    با match مشکلی ندارم . اما در مورد کپچر هنوز نگرفتم استفاده دقیقش چیه . اگه میشه با مثال میکرو توضیح بدید .
    در ضمن من می خوام کانتر داشته باشم اما نمی دونم از کدوم پایه برای کانتر استفاده کنم . دارم با cmsis کد می زنم. تنظیماتش رو بلدم که تایمر رو کانتر تنظیم کنم . اما نمی دونم از کدوم پایه و چطوری باید استفاده کنم . خوندم که باید از پایه کپچر استفاده کنم ولی نمی دونم چطوری؟
  4. #4
    2010/06/05
    237
    18

    پاسخ : مورد در رابطه با تایمر

    سلام،
    مد کپچر برای اندازه گیری عرض پالس به این صورت است که مثلا شما روی لبه بالا رونده تنظیم می کنید پایه کپچر رو بعد زمانی که لبه بالا رونده بیاید مقدار عدد شمرده شده را روی رجیستر کپچر می ریزد. یعنی هر بار لبه را ببیند مقدار شمرده شده تا آن زمان را روی رجیستر کپچر می ریزد.
    البته شما می توانید حساسیت پایه را روی لبه بالا رونده و پایین رونده تنظیم کنید و در خلال برنامه عوض کنیدو هر زمان که خواستین مقدار تایمر را ریست کنید.

    برای ورودی کانتر از پایه های کپچر باید استفاده کرد.
    هر انسانی که احساس بی نیازی کند سرکش و طغیان گر می شود...
  5. #5
    2012/09/16
    boushehr
    118
    15

    پاسخ : مورد در رابطه با تایمر

    ممنون دوست گرامی . با رجیسترهاش مشکلی ندارم و می دونم چطوری تنظیم کنم که کدوم پایه کانتر بشه . اما من دارم با CMSIS کد می زنم . هر چی تو کتابخونه تایمر می گردم چیزی گیرم نمیاد
    اینم نمونه کدمه .
    کد:
    
    
    
    
    
    
    // created by neamatollah tahamtan
    
    
    
    
    
    #include "lpc17xx_gpio.h"
    #include "lpc17xx_adc.h"
    #include "lpc17xx_pinsel.h"
    #include "lpc17xx_libcfg_default.h"
    #include <stdio.h>
    #include "lpc17xx_timer.h"
    void delay (uint32_t Time)
    {
      uint32_t i;
      
      i = 0;
      while (Time--) {
        for (i = 0; i < 5000; i++);
      }
    }
    // ****************************************************
    int main (void)
    {
    PINSEL_CFG_Type PinCfg;	
    TIM_COUNTERCFG_Type TIM_ConfigStruct;
    	TIM_CAPTURECFG_Type TIM_CaptureConfigStruct;
    	// ---------------- Configuration ---------------	
    		//unsigned int s;
    	//unsigned char p[100];
    	//uint32_t adc_value;	
    	
    	
     // set_PinFunc ( 0, 23, PINSEL_FUNC_1);
     //lcd_init();
    	PinCfg.Funcnum = 3;
    	PinCfg.OpenDrain = 0;
    	PinCfg.Pinmode = 0;
    	PinCfg.Portnum = 1;
    	PinCfg.Pinnum = 26;
    	PINSEL_ConfigPin(&PinCfg);
     
    	// ---------------------------------------------------
    	// Initialize timer 0, prescale count time of 100uS
    // TIM_ConfigStruct.PrescaleOption = TIM_PRESCALE_TICKVAL;
    	//TIM_ConfigStruct.PrescaleOption = TIM_PRESCALE_USVAL;
     	//TIM_ConfigStruct.PrescaleValue	= 2;
    
     	TIM_Init(LPC_TIM0, TIM_COUNTER_RISING_MODE,&TIM_ConfigStruct);
     //---------------------------------------------------------------	
    	// use channel 0, CAPn.0
    	TIM_CaptureConfigStruct.CaptureChannel = 0;
    	// Enable capture on CAPn.0 rising edge
    	TIM_CaptureConfigStruct.RisingEdge = ENABLE;
    	// Enable capture on CAPn.0 falling edge
    	TIM_CaptureConfigStruct.FallingEdge = DISABLE;
    	// Generate capture interrupt
    	TIM_CaptureConfigStruct.IntOnCaption = DISABLE;
    
    	// Set configuration for Tim_config and Tim_MatchConfig
    	TIM_ConfigCapture(LPC_TIM0, &TIM_CaptureConfigStruct);
    	 TIM_ResetCounter(LPC_TIM0);
    //LPC_TIM0->TC=25;
    	// To start timer 0
    	TIM_Cmd(LPC_TIM0,ENABLE);
    
      GPIO_SetDir(2, 1 , 1);
    	while (1)
    	{
    		while (LPC_TIM0->TC <50);
    LPC_TIM0->TC =0;
    	}
    
    }
    	
    	
    	//lcd_clear();
    	//set_cursor(0,0);
    	//lcd_print("hamed tahamtn");
    	
    
     
    		
    		//sprintf(p," %i",s);	
    		//lcd_print(p);
    		//delay(3000);
    		//lcd_clear();
    الان مشکلم اینه که کلاک تایمر نمیره روی کپچر و همینطوری روی کلاک CPUهست.
    تازه دستور پری اسکیل هم کار نمی کنه
  6. #6
    2012/09/16
    boushehr
    118
    15

    پاسخ : مورد در رابطه با تایمر

    البته بعضی کداش ربطی به کار نداشت . با رجیستر ها اگه رجیستر ctcr رومقدارشو 5 قرار بدم(البته برای مثال ) اونوقت کپچر 0.1 در حالت کانتر و مد raising قرار می گیره . تست هم کردم درست شد. اما با کد های cmsis هرکاری کردم نتونستم این کار رو کنم. البته بقیه تنظیمات مشکلی نداشتن. حالا اگه کسی هست که با cmsis کانتر رو راه انداخته لطف کنه و راهشو بگه. ممنون می شم.
    باز هم میگم فقط مشکلم تنظیم کردن پایه کپچر روی مد کانتر هستش اونم با cmsis. با رجیستری خودم بلدم
  7. #7
    2012/09/16
    boushehr
    118
    15

    پاسخ : مورد در رابطه با تایمر

    باز هم میگم فقط مشکلم تنظیم کردن پایه کپچر روی مد کانتر هستش اونم با cmsis. با رجیستری خودم بلدم
    ای بابا!!!!!یعنی کسی نیست که این کار رو با cmsis انجام داده باشه . ما که سخت درگیر شدیم اینجا. من هر چی گشتم تابعش رو توی کتابخونه پیدا نکردم . مجبور شدم دارم کتابخونه رو دست کاری می کنم . البته زبان c رو هم خیلی ابتدای بلدم واسه همین کارم ضعیف پیش میره . تا ابنجا با تغییر کتابخونه cmsis تونستم 2 تا مشکل رو حل کنم . مشکل اول این بود که توی مد کانتر دیگه پری اسکیل تنظیم نمی شد که اون رو حلش کردم.
    مورد دوم هم این که تونستم تایمر رو توی مد کانتر با لبه دلخواهم ببرم
    ولی هنوز مورد سوم رو نتونستم حل کنم(البته تو کتابخونه نتونستم . )برای این مورد باید یه پارامتر به تابع tim_init اضافه کنم که با استفاده از اون پایه مورد نظرم رو توی مد کانتر قرار بدم . اما بلد نیستم به این تابع درختی پارامتر اضافه کنم .


    دوستان اگه کسی میدونه توی cmsis چطوری باید کانتر رو ست کرد بگه
    در غیر اینصورت هم لطف کنید بگید چطوری می تونم به این تابعی که الا گفتم یه پارامتر درست کنم و توی کتابخونه ازش استفاده کنم؟
    تشکر
  8. #8
    2010/06/05
    237
    18

    پاسخ : مورد در رابطه با تایمر

    اینجا دوتا تابعی که نیاز دارین گفته شده:
    http://****************/showthread.php?689-%D8%B1%D8%A7%D9%87-%D8%A7%D9%86%D8%AF%D8%A7%D8%B2%DB%8C-%D8%AA%D8%A7%DB%8C%D9%85%D8%B1-%DA%A9%D8%A7%D9%86%D8%AA%D8%B1-lpc1788-%D8%AF%D8%B1-%D9%85%D8%AF-%DA%A9%D8%A7%D9%86%D8%AA%D8%B1
    هر انسانی که احساس بی نیازی کند سرکش و طغیان گر می شود...
  9. #9
    2012/09/16
    boushehr
    118
    15

    پاسخ : مورد در رابطه با تایمر

    اون اطلاعاتی که تو این پست هست جوابگو نیستند. من قبلا همشون رو امتحان کردم .
    2 تا مشکل اساسی داره .
    مشکل اوب اینه که pre scale تو این مد تنظیم نمیشه (وقتی تو حالت کانتره )
    مشکل دومم هم اینه که اصلا پایه کپچر رو در حالت شمارنده قرار نمیده و نمیشه تنظیمش کرد.
    تو تابع tim_init که جایی نیست که مشخص کنیم کدوم پایه کپچر رو می خوایم استفاده کنیم .
    توی تابع کپچر هم تنظیمات فقط برای مد کپچر استفاده می شه نه مد کانتر یعنی پایه رو تنها می بره تو حالت کپچر
  10. #10
    2012/09/16
    boushehr
    118
    15

    پاسخ : مورد در رابطه با تایمر

    ااااااااااااااااااااااا
    یعنی کسی نیست اینو بلد باشه ؟
صفحه 1 از 2 12 آخرین
نمایش نتایج: از 1 به 10 از 11

موضوعات مشابه

  1. پاسخ: 0
    آخرين نوشته: 2015/12/15, 17:36
  2. سئوال در مورد فازور (این رابطه از کجا بدست او
    توسط imijoon در انجمن مفاهیم پایه برق و الکترونیک
    پاسخ: 0
    آخرين نوشته: 2014/12/02, 18:49
  3. سوال در مورد رابطه اسکنر و متلب
    توسط پویاوار در انجمن پردازش تصوير
    پاسخ: 5
    آخرين نوشته: 2013/05/27, 00:22
  4. پاسخ: 3
    آخرين نوشته: 2012/06/04, 16:36
  5. سوال در مورد رابطه برد فرستنده با توان خروجي ان
    توسط e-arash در انجمن مدارهاي مخابراتي
    پاسخ: 3
    آخرين نوشته: 2008/12/20, 17:53

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •