ايران ويج

نسخه‌ی کامل: مشکل با وقفه خارجی(INT 0)میکرو
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2
آفرین
بگید مشکل چی بود تا جواب رو همه بدونیم.
سلام
من توی مگا128 می خوام ال ای دی رو روشن کنه و بعد به مد powersave بره و برای بیدار شدنش از اینتراپت 1 استفاده کردم. ولی هرچه دکمه اینتراپت رو می زنم کاری نمی کنه. مشکلش چیه؟
راه دیگری هست که بتونم میکرو رو بیدار کنم ؟



(۲۶-خرداد-۱۳۹۱, ۲۲:۰۶:۰۲)sharin نوشته است: [ -> ]1. هدف شما در استفاده از وقفه چي هست ؟
با مفهوم وقفه آشنايي داريد ؟

اگر قرارهه يه سري عمليات خاص با رخ دادن يك رويداد انجام بگيره ، كدها رو مي تونيد در روال وقفه بنويسيد.
اگر قرارهه فقط ميكرو رو از مد sleep در بيارهه ، با رفتن به روال وقفه ، فقط Return مي كنيم.
و ...
بستگي دارهه كارتون چي باشه . اصلا شايد نيازي به وقفه هم نباشه ...
به هر حال روش هاي مختلفي براي هر كاري وجود دارهه ...

كافي بود ؟
نقل قول: سلام
من توی مگا128 می خوام ال ای دی رو روشن کنه و بعد به مد powersave بره و برای بیدار شدنش از اینتراپت 1 استفاده کردم. ولی هرچه دکمه اینتراپت رو می زنم کاری نمی کنه. مشکلش چیه؟
راه دیگری هست که بتونم میکرو رو بیدار کنم ؟

سلام.

احتمالا وقفه رو حساس به لبه تعریف کردید. برای power up کردن مجدد میکرو از مودهای powersave و sleep و ... (بجز Idle) وقفه باید حساس به سطح باشه.
یا سطح 0 و یا 1 که موقع پیکربندی وقفه خارجی باید لحاظش کنید.

موفق باشید.
ممنونم حالا با زدن دکمه ی اینتراپت وقفه فعال میشه و میکرو رو بیدار می کنه. وقفه هم Falling edge گذاشتم. این مشکل حل شد. حالا یک مشکل دیگه دارم. وقتی برق مدار رو وصل می کنم همون اول وقفه ی تایمر 0 فعال نمیشه و میکرو فقط ال ای دی 2 رو روشن می کنه و به sleep میره. اگه ریست کنم یا اینکه خیلی سریع برق رو قطع و وصل کنم مدار کاملا صحیح اجرا میشه. می خواستم بدونم چیکار کنم که همون بار اول و بدون نیاز به اینتراپت خارجی یا ریست کردن ، مدار کامل کار کنه؟
برنامه رو اتچ کردم.


(۰۸-دى-۱۳۹۳, ۱۶:۰۶:۵۱)sharin نوشته است: [ -> ]
نقل قول: سلام
من توی مگا128 می خوام ال ای دی رو روشن کنه و بعد به مد powersave بره و برای بیدار شدنش از اینتراپت 1 استفاده کردم. ولی هرچه دکمه اینتراپت رو می زنم کاری نمی کنه. مشکلش چیه؟
راه دیگری هست که بتونم میکرو رو بیدار کنم ؟

سلام.

احتمالا وقفه رو حساس به لبه تعریف کردید. برای power up کردن مجدد میکرو از مودهای powersave و sleep و ... (بجز Idle) وقفه باید حساس به سطح باشه.
یا سطح 0 و یا 1 که موقع پیکربندی وقفه خارجی باید لحاظش کنید.

موفق باشید.
نقل قول: ممنونم حالا با زدن دکمه ی اینتراپت وقفه فعال میشه و میکرو رو بیدار می کنه. وقفه هم Falling edge گذاشتم. این مشکل حل شد. حالا یک مشکل دیگه دارم. وقتی برق مدار رو وصل می کنم همون اول وقفه ی تایمر 0 فعال نمیشه و میکرو فقط ال ای دی 2 رو روشن می کنه و به sleep میره. اگه ریست کنم یا اینکه خیلی سریع برق رو قطع و وصل کنم مدار کاملا صحیح اجرا میشه. می خواستم بدونم چیکار کنم که همون بار اول و بدون نیاز به اینتراپت خارجی یا ریست کردن ، مدار کامل کار کنه؟
برنامه رو اتچ کردم.

کدهای برنامه تون رو بذارید تا بشه نظر داد.
پستتون پیوست ندارهه...

موفق باشید.
صفحه‌ها: 1 2