پاسخ : آموزش میکروکنترولر PIC با MPLAB C
با سلام
استفاده از وقفه ها در C18 شکل خاصی دارد
این کامپایلر به صورت خودکار روتین وقفه ( ISR ) را در جدول بردار وقفه قرار نمیدهد
همان طور که میدانید بعد از رخ دادن وقفه , میکروکنترلر انجام کار های طبیعی خود را رها کرده و به آدرس خاصی از حافظه میپرد ( موقتا )
این آدرس در میکرو های سری 18F در اولویت بالا 0x08 و در اولویت پایین 0x18 است
پس چنانچه بخاهید در این کامپایلر از وقفه استفاده کنید باید ISR خود را در آدرس های مربوطه بنویسید
این امر به وسیله #pragma code انجام میشود
به صفحه های 68 و 76 پی دی اف زیر که دو برنامه نمونه هست دقت کنید
همچنین کتاب " میکروکنترلر های PIC برنامه نویسی اسمبلی و C " نوشته دکتر مزیدی , انتشارات نص توضیحات کاملی در این رابطه ارائه کرده است
پیروز و موفق باشید <

با سلام
نوشته اصلی توسط saeidmo
این کامپایلر به صورت خودکار روتین وقفه ( ISR ) را در جدول بردار وقفه قرار نمیدهد
همان طور که میدانید بعد از رخ دادن وقفه , میکروکنترلر انجام کار های طبیعی خود را رها کرده و به آدرس خاصی از حافظه میپرد ( موقتا )
این آدرس در میکرو های سری 18F در اولویت بالا 0x08 و در اولویت پایین 0x18 است
پس چنانچه بخاهید در این کامپایلر از وقفه استفاده کنید باید ISR خود را در آدرس های مربوطه بنویسید
این امر به وسیله #pragma code انجام میشود
به صفحه های 68 و 76 پی دی اف زیر که دو برنامه نمونه هست دقت کنید
http://fadak-srt.persiangig.com/other/mplab-d/MPLAB_C18_Users_Guide_51288j.pdf
همچنین کتاب " میکروکنترلر های PIC برنامه نویسی اسمبلی و C " نوشته دکتر مزیدی , انتشارات نص توضیحات کاملی در این رابطه ارائه کرده است
پیروز و موفق باشید <


دیدگاه