ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ورود برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.






جهت تبلیغ در وب سایت ECA کلیک کنید.

کاربران برچسب زده شده

نمایش نتایج: از 1 به 5 از 5

موضوع: interrupt

  1. #1
    2010/04/08
    58
    0

    interrupt

    سلام من 8 ورودي ديجيتال مي خوام به يه پورت مثلا A بدم و تمامي پين هاي اين پورت اينتراپت خارجي با لبه بالا رونده ست کنم.
    تا اين جاي کار مشکلي نيست اما چون هر پورت فقط دو زير برنامه وقفه(INT0 و INT1) دارد. من چطوري ميتونم بفهمم که کدوم پايه اينتراپت داده که برنامه به زير برنامه وقفه(INT0 يا INT1) رفته است؟؟؟رجيستري براي اين کار هست؟؟؟؟؟
    ممنون از کمکاتون
  2. #2
    2009/10/27
    تهران
    3,301
    762

    پاسخ : interrupt

    وضعیت پین ها را باید در روتین وقفه بررسی کنید و هر پینی که وضعیت آن یک خوانده شود به این معنی است که لبه بالارونده را ایجاد کرده است. اما اگر وضعیت پین تا زمان وارد شدن به وقفه و خواندن مقدار آن تغییر کند، در اینصورت منبع ایجاد کننده وقفه قابل تشخیص نیست. اگر امکان چنین شرایطی وجود داشته باشد، یک روش پیشنهادی که نیاز به تسلط بالا در XMEGA دارد این است که همزمان با لبه بالارونده، یک Event ایجاد شود و به DMA فرمان بدهد که یک کپی از رجیستر IN مربوطه را در SRAM ذخیره کند. این روش شبیه نوعی Capture کردن وضعیت پورت است که حتی در صورت تغییر بعدی هم می توان مقدار رجیستر در لحظه ایجاد لبه را ذخیره سازی کرد.
    اوژن: به معنای افکننده و شکست دهنده است
    دانایی، توانایی است-Knowledge is POWER
    برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
    وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
    قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
    اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
    ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد
    امکان پاسخگویی به سوالات از طریق پیغام خصوصی مقدور نیست
  3. #3
    2010/04/08
    58
    0

    پاسخ : پاسخ : interrupt

    نقل قول نوشته اصلی توسط طراح
    وضعيت پين ها را بايد در روتين وقفه بررسي کنيد و هر پيني که وضعيت آن يک خوانده شود به اين معني است که لبه بالارونده را ايجاد کرده است. اما اگر وضعيت پين تا زمان وارد شدن به وقفه و خواندن مقدار آن تغيير کند، در اينصورت منبع ايجاد کننده وقفه قابل تشخيص نيست. اگر امکان چنين شرايطي وجود داشته باشد، يک روش پيشنهادي که نياز به تسلط بالا در XMEGA دارد اين است که همزمان با لبه بالارونده، يک Event ايجاد شود و به DMA فرمان بدهد که يک کپي از رجيستر IN مربوطه را در SRAM ذخيره کند. اين روش شبيه نوعي Capture کردن وضعيت پورت است که حتي در صورت تغيير بعدي هم مي توان مقدار رجيستر در لحظه ايجاد لبه را ذخيره سازي کرد.
    ممنون از راهنماييتون بله سرعتم بالاست و تا زماني که بخوام به بردار وقفه برم و پورت بخونم چند سيکل گذشته و پورت به درستي خوانده نميشه.روش پيشنهاديتونم جالب بود من تا حالا با event کار نکردم اگر نمونه کدي يا سورسي براي مطالعه اين بخش سراغ داريد لطف مي کنيد قرار بديد
    ممنون از شما جناب مهندس کي نژاد
  4. #4
    2009/10/27
    تهران
    3,301
    762

    پاسخ : interrupt

    عملکرد کتابخانه dma_driver.c در سورس های Atmel را بررسی کنید و اگر موفق نشدید اعلام کنید تا در فرصت مقتضی کدی را برای شما قرار دهم.
    اوژن: به معنای افکننده و شکست دهنده است
    دانایی، توانایی است-Knowledge is POWER
    برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
    وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
    قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
    اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
    ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد
    امکان پاسخگویی به سوالات از طریق پیغام خصوصی مقدور نیست
  5. #5
    2010/04/08
    58
    0

    پاسخ : پاسخ : interrupt

    نقل قول نوشته اصلی توسط طراح
    عملکرد کتابخانه dma_driver.c در سورس هاي Atmel را بررسي کنيد و اگر موفق نشديد اعلام کنيد تا در فرصت مقتضي کدي را براي شما قرار دهم.
    ممنون مهندس حتما مطالعه مي کنم اما اگر براي شما مقدور است نمونه کدي را قرار بديد باعث بهتر درک کردن اين مطلب مي شود
    سپاسگذارم
نمایش نتایج: از 1 به 5 از 5

موضوعات مشابه

  1. interrupt و اولويت !!
    توسط ali_rostami_72 در انجمن میکروکنترلرهای PIC
    پاسخ: 9
    آخرين نوشته: 2014/11/13, 11:56
  2. nested interrupt در AVR
    توسط mori64 در انجمن میکروکنترلرهای AVR
    پاسخ: 5
    آخرين نوشته: 2014/06/22, 14:10
  3. adc مد Interrupt
    توسط mohsen.hex در انجمن NXP
    پاسخ: 1
    آخرين نوشته: 2013/07/30, 15:02
  4. pwm with interrupt not work
    توسط abolfazlk873 در انجمن میکروکنترلرهای PIC
    پاسخ: 0
    آخرين نوشته: 2013/07/03, 23:37
  5. مشکل با interrupt
    توسط magyd در انجمن میکروکنترلرهای AVR
    پاسخ: 6
    آخرين نوشته: 2013/05/05, 17:30

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •