پاسخ : کمک در مورد سروو موتور
ده روش برای استفاده از تایمرهای میکرو وجود داره.
من خیلی در استفاده از تایمر خست به خرج می دم. یعنی فقط از یک تایمر برای همه زمان بندی ها استفاده می کنم.
مثلا اگه کمترین زمان مورد نیازم 10 میکروثانیه باشه یکی از تایمرها رو طوری تنظیم می کنم که هر 10 میکروثانیه اینتراپت بده.
در روتین اینتراپت یک FLAG رو یک می کنم. در برنامه اصلی حلقه اصلی برنامه هروقت این FLAG یک شد میام و کارهای لازم رو انجام میدم. مثلا اگه زمان 1 میلی ثانیه لازم داشته باشم صدتا 10 میکروثانیه برام 1 میلی ثانیه می سازه.
هر تایمینگی که دلت بخواد با این روش می تونی بسازی. یعنی بی شمار تایمر دقیق خواهی داشت فقط با استفاده از یک تایمر میکرو.
این روش توی PLCآهای استاندارد هم استفاده میشه.
در این برنامه هم می تونی از همین روش برای کنترل سرووها و باقی زمانهای لازم برا یخوندن فرکانس، کنترل LCD و... استفاده کنی.
در ضمن الان یه اینتراپت تایمرت برای کنترل سرووها فعاله. اگه زمان این تایمر ثابته می تونی از همین تایمر بعنوان time base استفاده کنی و خوندن فرکانس رو داخل همین روتین اینتراپت انجام بدی.
مثلا اگه روتین تایمر سروو هر 1 میلی ثانیه اجرا میشه باید یه متغیر رو توش یکی یکی اضافه کنی تا به 800 برسه. وقتی به 800 رسید کانتر فرکانس رو می خونی و دوباره همه متغیر و کانتر رو صفر می کنی.
با همه این روش ها الان اگه تایمر اضافه داری می تونی ازش به همون سبکی که در بالا گفتی استفاده کنی. یعنی مقدار ماکزیمم تایمر رو از زمان مورد نیاز تفریق کنی و بریزی توی تایمر. هر وقت هم که سرریز شد فرکانس رو بخونی.
ده روش برای استفاده از تایمرهای میکرو وجود داره.
من خیلی در استفاده از تایمر خست به خرج می دم. یعنی فقط از یک تایمر برای همه زمان بندی ها استفاده می کنم.
مثلا اگه کمترین زمان مورد نیازم 10 میکروثانیه باشه یکی از تایمرها رو طوری تنظیم می کنم که هر 10 میکروثانیه اینتراپت بده.
در روتین اینتراپت یک FLAG رو یک می کنم. در برنامه اصلی حلقه اصلی برنامه هروقت این FLAG یک شد میام و کارهای لازم رو انجام میدم. مثلا اگه زمان 1 میلی ثانیه لازم داشته باشم صدتا 10 میکروثانیه برام 1 میلی ثانیه می سازه.
هر تایمینگی که دلت بخواد با این روش می تونی بسازی. یعنی بی شمار تایمر دقیق خواهی داشت فقط با استفاده از یک تایمر میکرو.
این روش توی PLCآهای استاندارد هم استفاده میشه.
در این برنامه هم می تونی از همین روش برای کنترل سرووها و باقی زمانهای لازم برا یخوندن فرکانس، کنترل LCD و... استفاده کنی.
در ضمن الان یه اینتراپت تایمرت برای کنترل سرووها فعاله. اگه زمان این تایمر ثابته می تونی از همین تایمر بعنوان time base استفاده کنی و خوندن فرکانس رو داخل همین روتین اینتراپت انجام بدی.
مثلا اگه روتین تایمر سروو هر 1 میلی ثانیه اجرا میشه باید یه متغیر رو توش یکی یکی اضافه کنی تا به 800 برسه. وقتی به 800 رسید کانتر فرکانس رو می خونی و دوباره همه متغیر و کانتر رو صفر می کنی.
با همه این روش ها الان اگه تایمر اضافه داری می تونی ازش به همون سبکی که در بالا گفتی استفاده کنی. یعنی مقدار ماکزیمم تایمر رو از زمان مورد نیاز تفریق کنی و بریزی توی تایمر. هر وقت هم که سرریز شد فرکانس رو بخونی.
دیدگاه