اطلاعیه

Collapse
No announcement yet.

میکرو چطوری از حالت Standby خارج میشه ؟؟

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    میکرو چطوری از حالت Standby خارج میشه ؟؟

    سلام
    با تابع Standby میکرو به حالت اماده به کار میره ولی نمیدونم چطوری از اون حالت خارج میشه.حالت Standby رو بخاطر
    پایین اومدن مصرف باطری فعال کردم.
    با تشکر

    #2
    پاسخ : میکرو چطوری از حالت Standby خارج میشه ؟؟

    میتونی با وقفه از این حالت خارجش کنی (وقفه های خارجی)
    گذشت خصلت مردان است

    دیدگاه


      #3
      پاسخ : میکرو چطوری از حالت Standby خارج میشه ؟؟

      سلام
      برنامه خاصی باید بنویسم یا با فعال شدن اینتراپت خود به خود از Standby خارج میشه؟؟

      دیدگاه


        #4
        پاسخ : میکرو چطوری از حالت Standby خارج میشه ؟؟

        باید وقفه رو راه اندازی کنی .
        زمانی که وقفه رخ میده پردازنده از حالت standby خارج میشه .

        خواستی کد هاتو بزار یه نگاهی بندازیم .
        گذشت خصلت مردان است

        دیدگاه


          #5
          پاسخ : میکرو چطوری از حالت Standby خارج میشه ؟؟

          این یه برنامه سادست که بیتهای پورت آ میکروی مگا32 رو بصورت ردیفی خاموش و روشن میکنه.
          بعد از پنج بار که این کارو کرد میره به حالت استندبای ولی دیگه از استندبای خارج نمیشه.
          اینم کد برنامه که نوشتم
          کد:
          #include <mega32.h>
          #include <sleep.h>
          
          int i; char a,b; unsigned char led[8]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
          
          interrupt [EXT_INT0] void ext_int0_isr(void)
          {
           sleep_disable();
          }
          
          
          void main(void)
          {
          PORTA=0x00;
          DDRA=0xff;
          
          PORTB=0x00;
          DDRB=0x00;
          
          PORTC=0x00;
          DDRC=0x00;
          
          PORTD=0x00;
          DDRD=0x00;
          
          TCCR0=0x00;
          TCNT0=0x00;
          OCR0=0x00;
          
          TCCR1A=0x00;
          TCCR1B=0x00;
          TCNT1H=0x00;
          TCNT1L=0x00;
          ICR1H=0x00;
          ICR1L=0x00;
          OCR1AH=0x00;
          OCR1AL=0x00;
          OCR1BH=0x00;
          OCR1BL=0x00;
          
          ASSR=0x00;
          TCCR2=0x00;
          TCNT2=0x00;
          OCR2=0x00;
          
          // External Interrupt(s) initialization
          // INT0: On
          // INT0 Mode: Rising Edge
          // INT1: Off
          // INT2: Off
          GICR|=0x40;
          MCUCR=0x03;
          MCUCSR=0x00;
          GIFR=0x40;
          
          TIMSK=0x00;
          
          UCSRB=0x00;
          ACSR=0x80;
          SFIOR=0x00;
          ADCSRA=0x00;
          SPCR=0x00;
          TWCR=0x00;
          
          
          #asm("sei")
          
           while (1)
           { 
            for(a=0;a<=7;a++)
             {
              delay_ms(100);
              PORTA=led[a];
             }
               
            b++;
            if(b>=5)
             {
              b=0;
              sleep_enable();
              powerdown(); 
             } 
           }
          }

          دیدگاه


            #6
            پاسخ : میکرو چطوری از حالت Standby خارج میشه ؟؟

            توی دیتاشیت مدهای مختلف رو نگاه کن
            توضیح داده که در هر مد چه چیزهائی تو سرویس هستند و ...
            موفق باشی
            هميشه به ياد خدا باش !

            دیدگاه


              #7
              پاسخ : میکرو چطوری از حالت Standby خارج میشه ؟؟

              کد:
              #include <io.h>
              #include <sleep.h>
              
              interrupt[EXT_INT0] void ext_int0_isr() {}
              
              void main() {
               unsigned char b = 0;
               
               PORTA = 0;
               DDRA = ~0;
               
               /* enable external interrupt 0 in rising edge mode */
               GICR |= 0x40;
               MCUCR = 0x03;
               MCUCSR = 0x00;
               GIFR = 0x40;
               
               sleep_enable();
               
               #asm("sei")
               
               while (1) {
                for (PORTA = 1; PORTA != 0; PORTA <<= 1) {
                 delay_ms(100);
                }
                if (++b >= 5) {
                 b = 0;
                 powerdown();
                }
               }
              }
              گذشت خصلت مردان است

              دیدگاه


                #8
                پاسخ : میکرو چطوری از حالت Standby خارج میشه ؟؟

                من تا الان با اینتراپت صفر کار کردم و نتیجه نگرفتم ولی دیروز که تابع غیرفعال کردن استندبای رو داخل اینتراپت2 نوشتم خوب جواب داد و مشکل برطرف شد.
                نمیدونم چرا :eek:

                دیدگاه


                  #9
                  پاسخ : میکرو چطوری از حالت Standby خارج میشه ؟؟

                  کروم یک از حالتها برای کم کردن مصرف باطری رو پیشنهاد میکنید؟؟لطفا راهنمایی کنید
                  Standby - Sleep - Idle - Power down

                  دیدگاه


                    #10
                    پاسخ : میکرو چطوری از حالت Standby خارج میشه ؟؟

                    نوشته اصلی توسط DDR3
                    توی دیتاشیت مدهای مختلف رو نگاه کن
                    توضیح داده که در هر مد چه چیزهائی تو سرویس هستند و ...
                    موفق باشی
                    این مطلب رو بخونید حتما
                    POWER DOWN
                    از همه کمتره
                    هميشه به ياد خدا باش !

                    دیدگاه

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