سلام خدمت دوستان گرامی.
مطالب ممربوط به تایمر ایجاد وقفه داءم rit.
مقدمه:
در میکرو کنترلرهای lpc یک تایمر ایجاد وقفه متناوب وجود داره که شما میتونید با پیکر بندی درست و کامل اون تایمر به صورت متناوب و در زمانهای مورد نظرتون وقفه ایجاد کنید.مثلا میتونید طوری اون تایمر رو فعال کنید که هر 1 ثانیه وقفه داشته باشین . اسم این تایمر رو گذاشتن RIT.
برای استفاده از اون داریم:
#include"lpc17xx_rit.h"
این تابع جهت آماده سازی این تایمر هستش و تمام کارهای لازم شامل فعال سازی کلاک و تغذیه و بقیه کارا رو انجام میده.
(RIT_Init( LPC_RIT
این تابع دقیقا عکس تابع بالا عمل میکنه و این تایمر رو کلا از سیستم خارج میکنه.
RIT_DeInit( LPC_RIT
این تابع PRESCALE این تایمر رو بر حسب میلی ثانیه دریافت میکنه.(میلی ثانیه نه میکرو ثانیه )
مثلا اگه بخواهیم هر 1 ثانیه وقفه داشته باشیم باید بنویسیم.
[PHP]RIT_TimerConfig( LPC_RIT , PRESCALER )[/PHP]
این تابع جهت START و STOP کردن این واحد هستش.اگه ENABLE بزارید تایمر شروع بکار میکنه و اگه DISABLE بزارین متوقف میشه.دوستان توجه داشته باشین که اگه از این تابع استفاده کنین و بزارین DISABLEتایمر موقتا از کار میفته ولی توی سیستم هست ولی وقتی از تابع RIT_DeInit(LPC_RIT استفاده کنین این تایمر کلا از سیستم خارج میشه ومثلا کلاک و تغذیه اونم قطع میشه.
RIT_Cmd( LPC_RIT , ENABLE / DISABLE )
این تابع جهت چک کردن اینکه وقفه اتفاق افتاده یا نه استفاده میشه.ممکنه دوستان بگن خوب حتما اتفاق افتاده که رفته تو زیر برنامه وقفه دیگه.حرفتون کاملا درسته در حقیقت کار اصلی این تابع پاک کردن پرچم وقفه هستش و واسه همین در داخل زیر برنامه وقفه فراخونی میشه.
[PHP]RIT_GetIntStatus( LPC_RIT )[/PHP]
دوستان در کمال شرمندگی کار دوتا تابع دیگه رو نمیدونم .توی مثال هم نگاه کردم از این دوتا استفده نکرده
[RIT_TimerDebugCmd(LPC_RIT , ENABLE/DISABLE)[/PHP]RIT_ClearCmd(LPC_RIT
دوستان اگه مشکلی بود لطفا زود تر بگین .اگه مشکلی نیستم پس RTC رو شروع کنیم.
یا مولا علی یادتون نره