با سلام وخسته نباشید
می خواستم بدونم به چند روش می شه از تایمر استفاده کرد؟
یه روش اینه که اگه تایمر استارت شد برو به یه زیر مجموعه و...
اگه روشهای دیگه ای هم هست لطفا با یه مثال توضیح بدید
ممنون
منظروتو نفهمیدم ، اما هر تایمر تو 4 مد میشه ازش استفاده کرد : تایمر ، pwm و کانتر و capture
شرمنده
منظورم همون تایمر هست
تو برنامه نویسی، به چند روش میشه از مد تایمر استفاده کرد؟
یعنی با روشن شدن تایمر، فقط میشه پرش کرد تو زیر مجموعه و..؟
امیدوارم منظورم را درست رسونده باشم
آها ، خب اینی که شما میگی بستگی به پروژه و هدف استفاده از تایمره .
تایمر یه شمارندس که شروع میکنه به شمارش ، و وقتی پر شد یه وقفه رخ میده ، شما میتونی بنا به برنامه ای که مد نظرته هزار جور از این تایمر استفاده کنی.
چیزی که من تو اکثر برنامه ها دیدم،اینه که بعد از استارت تایمر؛به یه زیربرنامه پرش میکنه و اون برنامه زیر مجموعه را اجرا میکنه.
مشکلی که اینجا هست،درهر نقطه ای از برنامه که تایمر استارت بشه فقط میشه همون زیر برنامه را شروع کنه.ودیگه نمی شه زمانهای مختلفی را درست کرد.یاباید از تایمرهای دیگه استفاده کرد(تایمر 1 یا 2)
و اینهاهم محدود هستند
کلا چیزی که من میخام بدونم اینه که مثلا با تایمر 0 بشه در یک جا زمان xثانیه درست کرد همزمان درجای دیگه برنامه زمان y ثانیه
ممنون
نقل قول: کلا چیزی که من میخام بدونم اینه که مثلا با تایمر 0 بشه در یک جا زمان xثانیه درست کرد همزمان درجای دیگه برنامه زمان y ثانیه
چرا می شه ساخت ، منتها نه با هر دقتی.
وقتی شما روتین وقفه ی تایمر رو به صورت مثلا 1ms تنظیم کنید، با قرار دادن 2 تا کانتر نرم افزاری و شرط سر اونها ، در روال روتین وقفه ی تایمر می تونید 2 زمان با مقادیر مجزا تولید کنید ، منتها گام های زمان ها در این صورت 1ms می شه.
اگر باروال وقفه ی تایمر و ساختن زمان های دقیق با اون کاملا آشنایی داشته باشید ، کار مد نظرتون رو هم می تونید انجام بدید.
موفق باشید.
باتایمرها و وقفه اون کار کردم،ومیتونم زمان دقیق درست کنم؛منتهی این روشی که شما گفتید
را دقیق نمی دونم چطوریه!
زمان خیلی دقیق نمی خوام؛فقط میخوام بتونم بافعال کردن یک تایمر،در چند جای برنامه ها از اون استفاده کنم
(یعنی خیلی از دستور wait استفاده نکنم. تا میکرو بیخودی درگیر نشه)
اگه با یک مثال ساده توضیح بدید.باقی رو خودم بدست میارم
ممنون میشم.
فرض کنید متنی رو می خواید روی lcd نمایش بدید و بعدش یه متن دیگه ، این وسط برای اینکه کاربر بتونه اطلاعات روی صفحه LCD رو بخونه نیازهه بین 2 عمل نوشتن یه تاخیر بوجود بیاد. چه با تایمر ، چه با دستور delay ، میکرو باید یه مدتی سرگرم باشه. حالا این رو می خواید چیکار کنید؟
موردی که گفتید بیشتر زمانی به کار می یاد که یا دارید کار خاصی انجام می دید یا دارید کدهای پیچیده می زنید برای اجرای دستوراتی به صورت همزمان به سبک عملکرد سیستم عامل.
که فرضا بجای اینکه میکرو 1 ثانیه الکی بایسته ، برهه یه کار دیگه انجام بدهه تا این زمان توسط تایمر به اتمام برسه و اعلام کنه.
یه مقداری توضیح دادنش برام سخته ، اما فکر نمی کنم همینجوری نیازی به این کاربرد داشته باشید.
اگر مورد خاصی هست مطرح کنید راهنمایی کنم ، متاسفانه فرصت نمونه کد گذاشتن ندارم ، گرچه کد هم ممکنه چندان واضح نباشه!
موفق باشید.