اطلاعیه

Collapse
No announcement yet.

ایجاد زمان وقفه یک ثانیه ای برای تایمر با c

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

    ایجاد زمان وقفه یک ثانیه ای برای تایمر با c

    مدارهایی مانند rtc به راحتی با استفاده از کریستال و تقسیم 64 فرکانس 2 هرتز رو رای میکرو به وجود میارن حالا ما با استفاده از فرکانس داخلی میرو چه جوری می تونیم با وقفه زمان یک ثانیه رو ایجاد کنیم . من نمی تونم با استفاده از code wizard این کار رو انجام بدم عدد قبول نمی کنه ممنون می شم کمکم کنید
    mojijordan

    #2
    پاسخ : ایجاد زمان وقفه یک ثانیه ای برای تایمر با c

    متوجه منظورتون نی شم
    حتما rtc لازم نیست فقط برای دقت زیاد rtc رو بکار می برن . اما چون کریستال داخلی میکرو قابل اعتماد زیاد نیست ، واسه همین از یه کریستال خارجی استفاده کنید بهتره
    اگه منظورتون نحوه درست کردن 1 ثانیه هست میگم خدمتتون
    شما با توجه به فرکانس کریستال باید عدد اولیه تایمر رو مشخص کنید (اعداد زیر فرضی هستند و اصلا وجود خارجی ندارند)
    فرض کنید تایمر 1 میکرو رو می خواید استفادش کنید . و فرکانس کریستال شما 1 کیلو هرتز باشه یعنی هر 1000 تا نوسان که اتفاق بیفته 1 ثانیه می گذره . خب حالا فرض کنید تایمر 1 میکرو شما تا 600 بتونه بشمره ، واسه درست کردن این 1 ثانیه چه کار کنیم ؟
    معلومه دیگه . میکرو از هر عددی که بعنوان مقدار اولیه بهش بدین شروع می کنه به شمردن تا مقدار نهاییی (600) . وقتی به 600 میرسه یک وقفه ایجاد میشه و برنامه وقفه تایمر اجرا میشه . حالا شما اگر عدد اولیه رو 100 بذارید ، هر دفعه که بخواد بشمره از 100 شروع می کنه تا 600 بعد وقفه ایجاد می شه . خب پس هر دفعه 600-100=500 تا میشمره و برای درست کردن یک ثانیه ، تایمر باید دو بار بشمره چون 2*500=1000
    پس مقدار وقفه اولیه رو 100 می ذارید و توی برنامه وقفه هم یک شمارنده می ذارید که تعداد وقفه ها رو بشمره
    وقتی به 2 رسید ، یک متغیر دیکه رو که همون ثانیه شماست ، یک واحد زیاد کنه
    چقدر تایپ کردم
    نمی دونم سوالتون همین بود یا نه
    Don't hesitate to ask any question ..

    دیدگاه

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