سلام دوستان،
من یه مدار دارم که در اون از EM-18 استفاده کردم. برای دریافت 12 کاراکتر مربوط به هر کارت از وقفه سریال با بافر 12تایی استفاده کردم. در یک قسمت دیگه برنامه گاهی وقفه تایمر 1 فعال می شه و یه سری تنظیمات در روتین وقفه این تایمر انجام میشه.
زمانی که وقفه تایمر فعال نشده باشد، وقفه دریافت سریال اطلاعات کارت رو به درستی دریافت می کنه و هیچ مشکلی پیش نمی یاد (در ضمن هنگام ورود و خروج از وقفه دریافت سریال؛ وقفه ها رو به صورت سراسری غیر فعال و فعال می کنم.)
حال اگر وقفه تایمر 1 فعال شود و زمانی که در روتین وقفه این تایمر هستیم کارتی کشیده شود، با توجه با بالاتر بودن اولویت این وقفه، حتی باتوجه به اینکه من رخداد وقفه ها رو در این روتین غیرفعال نکردم، وقفه سریال رخ نمی دهد. پس از خروج از روتین وقفه تایمر، کارتهایی که کشیده می شه، اشتباه خونده می شه... یه جورایی یا داده های روی خط سریال از بین می ره یا با هم قاطی می شن.... برای رفع این مشکل چه باید کرد؟
با سپاس فراوان از همفکری شما
من یه مدار دارم که در اون از EM-18 استفاده کردم. برای دریافت 12 کاراکتر مربوط به هر کارت از وقفه سریال با بافر 12تایی استفاده کردم. در یک قسمت دیگه برنامه گاهی وقفه تایمر 1 فعال می شه و یه سری تنظیمات در روتین وقفه این تایمر انجام میشه.
زمانی که وقفه تایمر فعال نشده باشد، وقفه دریافت سریال اطلاعات کارت رو به درستی دریافت می کنه و هیچ مشکلی پیش نمی یاد (در ضمن هنگام ورود و خروج از وقفه دریافت سریال؛ وقفه ها رو به صورت سراسری غیر فعال و فعال می کنم.)
حال اگر وقفه تایمر 1 فعال شود و زمانی که در روتین وقفه این تایمر هستیم کارتی کشیده شود، با توجه با بالاتر بودن اولویت این وقفه، حتی باتوجه به اینکه من رخداد وقفه ها رو در این روتین غیرفعال نکردم، وقفه سریال رخ نمی دهد. پس از خروج از روتین وقفه تایمر، کارتهایی که کشیده می شه، اشتباه خونده می شه... یه جورایی یا داده های روی خط سریال از بین می ره یا با هم قاطی می شن.... برای رفع این مشکل چه باید کرد؟
با سپاس فراوان از همفکری شما
دیدگاه