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





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









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









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





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

صفحه 1 از 7 1234567 آخرین
نمایش نتایج: از 1 به 10 از 70
  1. #1
    2007/11/30
    83
    0

    کار با تایمر SAM7X

    سلام دوستان
    من می خوام از واحد تایمر SAM7X برای ایجاد وقفه مثلا تو هر 4 دقیقه استفاده کنم. انجمن رو گشتم اما چیز بدرد بخور پیدا نکردم. اول اینکه برای این کار باید حتما اینتراپت خارجی یا اسیلاتور جدا از اسیلاتور اصلی بذارم یا نه ؟ دوم اینکه برای این کار باید تایمر/کانتر روی چه مدی باشه Capture Mode یا Waveform Mode ؟

    Each channel can independently operate in two different modes:
    • Capture Mode provides measurement on signals.
    • Waveform Mode provides wave generation.
    The TC Operating Mode is programmed with the WAVE bit in the TC Channel Mode Register.
    In Capture Mode, TIOA and TIOB are configured as inputs.
    In Waveform Mode, TIOA is always configured to be an output and TIOB is an output if it is not
    selected to be the external trigger.
  2. #2
    2010/02/28
    شاهرود
    1,147
    20

    پاسخ : کار با تایمر SAM7X

    نقل قول نوشته اصلی توسط rezaf
    سلام دوستان
    من می خوام از واحد تایمر SAM7X برای ایجاد وقفه مثلا تو هر 4 دقیقه استفاده کنم. انجمن رو گشتم اما چیز بدرد بخور پیدا نکردم. اول اینکه برای این کار باید حتما اینتراپت خارجی یا اسیلاتور جدا از اسیلاتور اصلی بذارم یا نه ؟ دوم اینکه برای این کار باید تایمر/کانتر روی چه مدی باشه Capture Mode یا Waveform Mode ؟

    Each channel can independently operate in two different modes:
    • Capture Mode provides measurement on signals.
    • Waveform Mode provides wave generation.
    The TC Operating Mode is programmed with the WAVE bit in the TC Channel Mode Register.
    In Capture Mode, TIOA and TIOB are configured as inputs.
    In Waveform Mode, TIOA is always configured to be an output and TIOB is an output if it is not
    selected to be the external trigger.
    سلام
    باید از مد Capture استفاده کنی
    ببین باید از مقایسه با رجیستر RC و اینتراپت مربوط به مقایسه با RC استفاده کنی
    البته توی یه بار مقایسه نمیتونی به 4 دقیقه برسی(دقیقا مطمئن نیستم باید با توجه به فرکانس کاری تایمرت چک کنی)
    ولی خیلی راحت میتونی یه متغییر تعریف کنی و هر بار وارد وقفه میشه اونو افزایش بدی تا بدونی چند بار مقایسه صورت گرفته و بعدش مقدار تایمر رو صفر کنی
    در نهایت میدونی که مثلا با 10 بار مقایسه به 4 دقیقه میرسی پس حالا که متغییرت شده 10 تاخیر 4 دقیقه ای سپری شده و متونی کارتو انجام بدی
    برو توی

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    که برای ماژول HC-SR01 یه برنامه گذاشتم و شبیه این کارو کردم (وقفه برای مقایسه با رجیستر RC و اندازه گیری زمان (شما روی 4 دقیقه کار مورد نظر رو انجام بده))
    زندگی یعنی امید و حرکت
    کارهایتان را آغاز کنید، توانایی انجام دادنش را بدست خواهید آورد
    سؤالاتی که در انجمن قابل طرح شدن هستند در پیام خصوصی جواب داده نمی شود.
    برای تشکر از دکمه تشکر کنار هر پست استفاده کنید، پست هایی که فقط حاوی تشکر هستند پاک می شوند.
    به دلیل کار بر روی پایاننامه و دفاع، مدتی نیستم!
  3. #3
    2007/11/30
    83
    0

    پاسخ : کار با تایمر SAM7X

    ممنون از راهنماییت.
    در کل قضیه رو متوجه شدم اما محاسباته مثال رو متوجه نشدم (خیلی وقته با تایمرا کار نکردم البته تو میکروهای 8بیتی کار می کردم) چجوری 18432000 شد 48054857.14285MHz با چه PLLی ؟ چرا تو تنظیمات PLL divider و PLL multiplier انقدر زیادن (252 و 656 در صورتی که پیش فرض روی 5 و 25 هستش)؟
    یه چیز دیگه اینکه تو این مثال با اومدن ورودی تایمر فعال میشه در صورتی که من می خوام قاطی برنامه هر جا خواستم تایمر رو روشن کنم هر جا خواستم خاموش یعنی هیچ سخت افزاری که به تایمر مربوط باشه ندارم همه کارا باید نرم افزاری انجام بشه با این حال بازم باید تو مد Capture باشه؟
    با هدر استاندارد اتمل که واسه تایمر/کانتر داده، نمیشه راحت تر کار کرد ؟
  4. #4
    2010/02/28
    شاهرود
    1,147
    20

    پاسخ : کار با تایمر SAM7X

    نقل قول نوشته اصلی توسط rezaf
    ممنون از راهنماییت.
    در کل قضیه رو متوجه شدم اما محاسباته مثال رو متوجه نشدم (خیلی وقته با تایمرا کار نکردم البته تو میکروهای 8بیتی کار می کردم) چجوری 18432000 شد 48054857.14285MHz با چه PLLی ؟ چرا تو تنظیمات PLL divider و PLL multiplier انقدر زیادن (252 و 656 در صورتی که پیش فرض روی 5 و 25 هستش)؟
    یه چیز دیگه اینکه تو این مثال با اومدن ورودی تایمر فعال میشه در صورتی که من می خوام قاطی برنامه هر جا خواستم تایمر رو روشن کنم هر جا خواستم خاموش یعنی هیچ سخت افزاری که به تایمر مربوط باشه ندارم همه کارا باید نرم افزاری انجام بشه با این حال بازم باید تو مد Capture باشه؟
    با هدر استاندارد اتمل که واسه تایمر/کانتر داده، نمیشه راحت تر کار کرد ؟
    مقدار پارامتر های PLL مهم نیست مهم حاصلشه که باید MCK*(MUL+1)/DIV بشه فرکانس دلخواه
    من 48 مگ میخاستم این مقادیر رو زدم البته شاید انتخاب های بهتری هم باشه
    بله بازم باید در مد Capture باشی
    برنامه من مربوط به سنسور آلتراسونیک بود و با Echo سنسور باید شروع به اندازه گیری طول یک پالس میکرد. حالا شما به جای شرطی که من برای ورودی گذاشتم هر جا دوست داری یه شرط نرم افزاری بزار یا اصلا بدون شرط بگو تایمر رو ریست کنه و استارت رو بزنه تا تایمر شروع به کار کنه
    مد Waveform برای تولید شکل موج در خروجی ها کاربرد داره
    هر جا اندازه گیری زمان داری باید از Capture استفاده کنی
    زندگی یعنی امید و حرکت
    کارهایتان را آغاز کنید، توانایی انجام دادنش را بدست خواهید آورد
    سؤالاتی که در انجمن قابل طرح شدن هستند در پیام خصوصی جواب داده نمی شود.
    برای تشکر از دکمه تشکر کنار هر پست استفاده کنید، پست هایی که فقط حاوی تشکر هستند پاک می شوند.
    به دلیل کار بر روی پایاننامه و دفاع، مدتی نیستم!
  5. #5
    2007/11/30
    83
    0

    پاسخ : کار با تایمر SAM7X

    اینجوری تغییرش دادم :
    کد:
    #include <Headers\AT91SAM7X256.H>     //global Headers
    #include <Headers\AT91SAM7X-EK.h>
    #include <Headers\lib_AT91SAM7X256.h>
    
    volatile int T_Counter;
    
    void TC_irq_handler(void) __irq 
    {
    	int Status;
    	
    	Status = AT91C_BASE_TC1->TC_SR;   //copy status register of timer
    	Status = Status;
    	
    	T_Counter++;
     AT91F_PIO_SetOutput(AT91C_BASE_PIOA, AT91C_PIO_PA2);
     delay_ms(100);
     AT91F_PIO_ClearOutput(AT91C_BASE_PIOA, AT91C_PIO_PA2);	
    	
    	AT91C_BASE_TC1->TC_CCR |= AT91C_TC_CLKEN | AT91C_TC_SWTRG;
    	
    	
    	AT91F_AIC_AcknowledgeIt(AT91C_BASE_AIC);   //brief Acknowledge corresponding IT number
    
    }
    
    
    int main (void) {
    
    	
    	AT91F_PIO_CfgOutput(AT91C_BASE_PIOA, AT91C_PIO_PA2);   //LED 1
    
    	AT91C_BASE_PMC->PMC_PCER = 1 << AT91C_ID_TC1;       //configure Timer
    	
    	AT91C_BASE_TC1->TC_CMR = 0x00000000;            //Channel Mode Register
    	AT91C_BASE_TC1->TC_CMR = AT91C_TC_CLKS_TIMER_DIV1_CLOCK ;
    	
    	AT91C_BASE_TC1->TC_CCR = 0x0000;              //TC Channel Control Register
    	
    	AT91C_BASE_TC1->TC_RC = 36141;               //RC register value for compare 
    	
    	AT91C_BASE_TC1->TC_IER = AT91C_TC_CPCS | AT91C_TC_COVFS;  //interrupt on counter overflow or RC register compare match
    	AT91F_AIC_ConfigureIt(AT91C_BASE_AIC,AT91C_ID_TC1,4,AT91C_AIC_SRCTYPE_INT_HIGH_LEVEL,TC_irq_handler); //configure advanced interrupt controller for timer
    	AT91F_AIC_EnableIt(AT91C_BASE_AIC,AT91C_ID_TC1);      //enable advanced interrupt controller for timer
     T_Counter = 0;                       //counter compare match addition variable 
    	
    	AT91C_BASE_TC1->TC_CCR = 0x00;
    	AT91C_BASE_TC1->TC_CCR |= AT91C_TC_CLKEN | AT91C_TC_SWTRG;	//enable clock of timer
    اما این ارور رو میده :

    error: #167: argument of type "void (*)(void)__irq" is incompatible with parameter of type "void (*)()"

    روی ارور که کلیک می کنم میره روی خط :

    کد:
    	AT91F_AIC_ConfigureIt(AT91C_BASE_AIC,AT91C_ID_TC1,4,AT91C_AIC_SRCTYPE_INT_HIGH_LEVEL,TC_irq_handler);
    از چی میتونه باشه ؟ مقدار MUL رو 0 دادم و DIV رو 255.
  6. #6
    2010/02/28
    شاهرود
    1,147
    20

    پاسخ : کار با تایمر SAM7X

    درسته
    بایدم ارور بده چون هدر یه باگ داره :mrgreen:
    من خودم تو هدرم برطرفش کردم (البته خیلی وقت پیش) و باگ هم برای بخش وقفه هست
    هدر اصلاح شده رو برات پیوست کردم
    فايل هاي پيوست شده فايل هاي پيوست شده
    زندگی یعنی امید و حرکت
    کارهایتان را آغاز کنید، توانایی انجام دادنش را بدست خواهید آورد
    سؤالاتی که در انجمن قابل طرح شدن هستند در پیام خصوصی جواب داده نمی شود.
    برای تشکر از دکمه تشکر کنار هر پست استفاده کنید، پست هایی که فقط حاوی تشکر هستند پاک می شوند.
    به دلیل کار بر روی پایاننامه و دفاع، مدتی نیستم!
  7. #7
    2007/11/30
    83
    0

    پاسخ : کار با تایمر SAM7X

    ممنون اون ارور برطرف شد ولی ارورای دیگه میده :

    lib_AT91SAM7X256.h(3560): error: #20: identifier "AT91PS_AES" is undefined
    lib_AT91SAM7X256.h(3572): error: #20: identifier "AT91PS_AES" is undefined
    lib_AT91SAM7X256.h(3584): error: #20: identifier "AT91PS_AES" is undefined
    lib_AT91SAM7X256.h(3594): error: #20: identifier "AT91PS_AES" is undefined
    lib_AT91SAM7X256.h(3604): error: #20: identifier "AT91PS_AES" is undefined
    lib_AT91SAM7X256.h(3615): error: #20: identifier "AT91PS_AES" is undefined
    lib_AT91SAM7X256.h(3626): error: #20: identifier "AT91PS_AES" is undefined
    lib_AT91SAM7X256.h(3638): error: #20: identifier "AT91PS_AES" is undefined
    lib_AT91SAM7X256.h(3649): error: #20: identifier "AT91PS_AES" is undefined
    \lib_AT91SAM7X256.h(3652): error: #20: identifier "AT91C_AES_START" is undefined
    lib_AT91SAM7X256.h(3660): error: #20: identifier "AT91PS_AES" is undefined
    lib_AT91SAM7X256.h(3663): error: #20: identifier "AT91C_AES_SWRST" is undefined
    lib_AT91SAM7X256.h(3671): error: #20: identifier "AT91PS_AES" is undefined
    lib_AT91SAM7X256.h(3674): error: #20: identifier "AT91C_AES_LOADSEED" is undefined
    lib_AT91SAM7X256.h(3682): error: #20: identifier "AT91PS_AES" is undefined
    lib_AT91SAM7X256.h(3695): error: #20: identifier "AT91PS_AES" is undefined
    lib_AT91SAM7X256.h(3708): error: #20: identifier "AT91PS_AES" is undefined
    lib_AT91SAM7X256.h(3720): error: #20: identifier "AT91PS_AES" is undefined
    lib_AT91SAM7X256.h(3736): error: #20: identifier "AT91PS_TDES" is undefined
    lib_AT91SAM7X256.h(3748): error: #20: identifier "AT91PS_TDES" is undefined
    lib_AT91SAM7X256.h(3760): error: #20: identifier "AT91PS_TDES" is undefined
    lib_AT91SAM7X256.h(3770): error: #20: identifier "AT91PS_TDES" is undefined
    lib_AT91SAM7X256.h(3780): error: #20: identifier "AT91PS_TDES" is undefined
    lib_AT91SAM7X256.h(3791): error: #20: identifier "AT91PS_TDES" is undefined
    lib_AT91SAM7X256.h(3802): error: #20: identifier "AT91PS_TDES" is undefined
    lib_AT91SAM7X256.h(3814): error: #20: identifier "AT91PS_TDES" is undefined
    lib_AT91SAM7X256.h(3825): error: #20: identifier "AT91PS_TDES" is undefined
    lib_AT91SAM7X256.h(3828): error: #20: identifier "AT91C_TDES_START" is undefined
    lib_AT91SAM7X256.h(3836): error: #20: identifier "AT91PS_TDES" is undefined
    lib_AT91SAM7X256.h(3839): error: #20: identifier "AT91C_TDES_SWRST" is undefined

  8. #8
    2010/02/28
    شاهرود
    1,147
    20

    پاسخ : کار با تایمر SAM7X

    خب اینا تعریفایی هستن که توی AT91SAM7X256.h تعریف شدن
    بیا پیوست کردم برات
    شاید ماله خودت ناقص باشه
    فايل هاي پيوست شده فايل هاي پيوست شده
    زندگی یعنی امید و حرکت
    کارهایتان را آغاز کنید، توانایی انجام دادنش را بدست خواهید آورد
    سؤالاتی که در انجمن قابل طرح شدن هستند در پیام خصوصی جواب داده نمی شود.
    برای تشکر از دکمه تشکر کنار هر پست استفاده کنید، پست هایی که فقط حاوی تشکر هستند پاک می شوند.
    به دلیل کار بر روی پایاننامه و دفاع، مدتی نیستم!
  9. #9
    2007/11/30
    83
    0

    پاسخ : کار با تایمر SAM7X

    همچنان ارور میده. میشه این دوتا هدر که برای تایمره رو یه نگاه بندازی شاید با اینا کار راحت تر شه.

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

  10. #10
    2010/02/28
    شاهرود
    1,147
    20

    پاسخ : کار با تایمر SAM7X

    نقل قول نوشته اصلی توسط rezaf
    همچنان ارور میده. میشه این دوتا هدر که برای تایمره رو یه نگاه بندازی شاید با اینا کار راحت تر شه.

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    برنامتو برام ارسال کن
    زندگی یعنی امید و حرکت
    کارهایتان را آغاز کنید، توانایی انجام دادنش را بدست خواهید آورد
    سؤالاتی که در انجمن قابل طرح شدن هستند در پیام خصوصی جواب داده نمی شود.
    برای تشکر از دکمه تشکر کنار هر پست استفاده کنید، پست هایی که فقط حاوی تشکر هستند پاک می شوند.
    به دلیل کار بر روی پایاننامه و دفاع، مدتی نیستم!
صفحه 1 از 7 1234567 آخرین
نمایش نتایج: از 1 به 10 از 70

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

  1. کمک در مورد CANBUS SAM7x
    توسط S.R.F در انجمن ATMEL
    پاسخ: 0
    آخرين نوشته: 2014/10/26, 19:57
  2. PROFIBUS & PROFINET International -sam7x
    توسط S.R.F در انجمن ATMEL
    پاسخ: 1
    آخرين نوشته: 2014/08/30, 23:31
  3. تفاوت sam7x با sam7s
    توسط hayahu در انجمن ATMEL
    پاسخ: 4
    آخرين نوشته: 2014/01/31, 11:19
  4. at 91 sam7x interrupt
    توسط imanhelmi در انجمن ATMEL
    پاسخ: 15
    آخرين نوشته: 2013/10/09, 17:26
  5. ارتتباظ sam7x با max232
    توسط gbg در انجمن ATMEL
    پاسخ: 4
    آخرين نوشته: 2013/09/28, 00:38

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

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

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

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

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