اطلاعیه

Collapse
No announcement yet.

درخواست کمک در SLEEP+WAKE-UP+ External Interrupt

Collapse
این موضوع بسته شده است.
X
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    درخواست کمک در SLEEP+WAKE-UP+ External Interrupt


    سلام
    من می خوام از طریق اینتراپت سخت افزاری میکرو رو به حالت SLEEP و با همون پایه به حالت wake-up ببرم. از تو help یه سری از دستورات مثل
    DISABLE_INTERRUPTS( )
    ENABLE_INTERRUPTS( )
    EXT_INT_EDGE( )
    Sleep()
    reset_cpu()
    sleep_ulpwu(time)
    رو پیدا کردم و فقط این رو فهمیدم که با EXT_INT_EDGE( ) میشه اینتراپت سخت افزاری رو فعال کرد و با sleep یا reset_cpu()
    sleep_ulpwu(time) میشه میکرو رو به حالت no operation برد ولی نمی دونم چه جوری باید بیدارش(wake-up)

    #2
    پاسخ : درخواست کمک در SLEEP+WAKE-UP+ External Interrupt

    شما در هرجای برنامه میتونید با دستور SLEEP()‎ میکرو رو به حالت توان پایین ببرید. و به راحتی با یه اینتراپت خارجی اونو WAKE UP کنید.
    توسط دستور enable_interrupts(int_ext)‎ بیت مربوط به وقفه خارجی رو ست کن. توسط دستور enable_interrupts(global)‎ بیت اصلی فعال ساز وقفه رو ست کن. توسط دستور ext_int_edge()‎ هم میتونی لبه پالسی که باید در اون لحظه وقفه بوجود بیاد رو تعیین کنی.
    حالا اگه میکرو در حالت SLEEP باشه و وقفه بوجود بیاد، خودش WAKE UP میشه.

    دیدگاه

    لطفا صبر کنید...
    X