سلام دوستان
من یه پروژه ای دارم که توش قراره از هر 4 پورت UART میکرو که 2560 هست استفاده بشه، از قضا هر 4 تا دیتایی که میخوان دریافت بشن هم حساس و اساسین و میکرو بر اساس اونها پردازشش رو انجام میده، بنابراین باید وقتی دیتاشون دریافت شد وقفه اتفاق بیفته. مضاف بر این 4 وقفه، امکان وقوع 6 وقفه خارجی دیگه هم باید باشه بدلیل اینکه اون وقفه ها هم در پردازش نیازن و فقط به مدت 1 ثانیه میتونن 1 باشن و مجددا تغییر حالت میدن و 0 میشن و اگه تو اون یک ثانیه ثبت نشن داده رو از دست میدم. با این شرایط در کل 10 تا وقفه دارم که همشون باید دریافت بشن. متاسفانه میکرو های AVR توانایی انجام همزمان تنها یک وقفه رو دارن و اگر داخل وقفه وقفه ی دیگه ای اتفاق بیفته میکرو ازش صرف نظر میکنه. به همین خاطر برای مدیریت این وقفه ها دچار مشکل شدم. ممکنه کسی از دوستان راهنماییم کنه که چطور میتونم این کار رو انجام بدم؟ قطعه خاصی برای انجام این کار وجود داره؟ ضمنا، من با بسکام کار میکنم.
ممنون از راهنماییتون
من یه پروژه ای دارم که توش قراره از هر 4 پورت UART میکرو که 2560 هست استفاده بشه، از قضا هر 4 تا دیتایی که میخوان دریافت بشن هم حساس و اساسین و میکرو بر اساس اونها پردازشش رو انجام میده، بنابراین باید وقتی دیتاشون دریافت شد وقفه اتفاق بیفته. مضاف بر این 4 وقفه، امکان وقوع 6 وقفه خارجی دیگه هم باید باشه بدلیل اینکه اون وقفه ها هم در پردازش نیازن و فقط به مدت 1 ثانیه میتونن 1 باشن و مجددا تغییر حالت میدن و 0 میشن و اگه تو اون یک ثانیه ثبت نشن داده رو از دست میدم. با این شرایط در کل 10 تا وقفه دارم که همشون باید دریافت بشن. متاسفانه میکرو های AVR توانایی انجام همزمان تنها یک وقفه رو دارن و اگر داخل وقفه وقفه ی دیگه ای اتفاق بیفته میکرو ازش صرف نظر میکنه. به همین خاطر برای مدیریت این وقفه ها دچار مشکل شدم. ممکنه کسی از دوستان راهنماییم کنه که چطور میتونم این کار رو انجام بدم؟ قطعه خاصی برای انجام این کار وجود داره؟ ضمنا، من با بسکام کار میکنم.
ممنون از راهنماییتون
دیدگاه