(۱۳-اسفند-۱۳۹۳, ۲۳:۳۸:۱۲)رسول نوشته است: [ -> ]راستش من طبق همون دستورات دو تا وقفه رو فعال کردم اما فقط یکیش کار می کنه و در وسط برنامه اگه وقفه دوم رو بخوام فعال بشه نمیشه!!
میشه یه کد مثال بذارین؟
البته داخل برنامه ها از تاخیر هم استفاده خواهم کرد و شاید همین تاخیر خودش مشکل ساز باشه
سلام
شما درست ميفرماييد و من هم در عمل نكات مبهمي را مشاهده كردم
البته الان اگر كد را مثال بزنم كه طبق همان تئوري است كه خودتان هم
بخوبي با ان اشنا هستيد
اما اگر وقت بدهيد مدارهاي عملي قبلي را كه خودم در اين مورد ساخته ام
نگاهي بياندازم و با اطمينان بيشتر پاسخگو باشم
اين مورد را كه شما ميفرماييد در مدارهايي كه از چند وقفه استفاده
ميكنند پيش ميايد وربطي به كانتر ندارد
در برنامه پترن وكلا ارسال كاراكتر بر روي تلويزيون با اين مورد خيلي
كلنجار رفتم
موردي كه در برنامه من بروز ميكرد اختلاف فاز وقفه ها بود كه سرانجام
هم حل نشد و بعد كه خوب بررسي كردم متوجه شدم كه اين اختلاف فاز اصولا
بر اثر اين است كه ميكرو بين وقفه ها ترجيح نمگذارد و كار اصلي ميكرو است
و اگر غير از اين بود بايد موجب تعجب ميشد
اين اختلاف فاز باعث ميشد كه در هر دوره 52 ميكروثانيه شروع پيكسلها
ويا كاراكترها كمي جابجا شود وخودش تشكيل يك سيكل را ميداد كه بصورت
پرش خطوط نمايش داده ميشد
اين مشكل باعث شد كه از وقفه ها بصورتي ديگر استفاده كنم
----
البته احتمال ميدهم بهر حال نوع كدنويسي در اين مورد دخيل است اما
ربطي به استفاده از كانتر ندارد
پس اگر خودتان حل كرديد كه خوب است و اگر حل نشد من حتما ان نكات را
پيدا ميكنم
در ميكرو اين قسمت هميشه مشكل ساز ترين قسمت برنامه است
-----
ارسال قبلي را حذف كردم
در ارسال قبلي كه گفته بودم وقفه نقطه بازگشت ندارد منظور اين بود
كه مقدار بازگشتي ندارد و همچنين نميشود انها را الويت بندي كرد
و براي انجام وقفه اي ديگر حتما بايد وقفه قبلي البته برگشت داده شود
اگر برچسبي كه به ان پرش شده داراي شرط باشد برگشت بايد در داخل حلقه
باشد و همچنين بيرون حلقه و اگر داراي شرط نيست در انتهاي برنامه
سپاس