logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[ATtiny13][C]PWM, program rozjaśniajacy diodę, błąd?

marek_04 17 Wrz 2009 12:01 2626 3
REKLAMA
  • #1 7027403
    marek_04
    Poziom 10  
    Chciałem napisać prosty program który by w kółko rozjaśniał diodę przypiętą to PB0.
    Oto mój kod:
    #include <avr/io.h>
    #include <util/delay.h>
    
    int main(void)
    {   
      uint8_t i;
      DDRB|=0x01;
      TCCR0A=((1<<WGM01)|(1<<WGM00)|(1<<COM0A1)|(0<<COM0A0));
    
      while(1)
      {
        for(i=128;i<256;i++)
        {
          OCR0A=i;
          _delay_ms(40);
        }
      }
    }

    Program nie działa tak jak powinien, dioda w ogóle się nie zapala, co jest nie tak?
  • REKLAMA
  • Pomocny post
    #2 7027425
    _Robak_
    Poziom 33  
    Na pierwszy rzut oka, nie ustawiasz nigdzie prescallera (bity CS)
  • REKLAMA
  • Pomocny post
    #3 7027436
    GienekS
    Poziom 32  
    A timer to kto uruchomi ?
  • #4 7027671
    marek_04
    Poziom 10  
    thx, oto poprawiony program jak ktoś potrzebował jakiś prosty przykład PWM:
    #include <avr/io.h>
    #include <util/delay.h>
    
    int main(void)
    {   
      uint8_t i;
      DDRB|=(1<<PB0);
      TCCR0A=(1<<WGM01)|(1<<WGM00)|(1<<COM0A1)|(0<<COM0A0);
      TCCR0B=(1<<CS00);
    
      while(1)
      {
        for(i=0x00;i<0xff;i++)
        {
          TCNT0=0x00;
          OCR0A=i;
          _delay_ms(0x20);
        }
      }
    }
REKLAMA