Teade

Collapse

Foorumi reeglid.

Foorumi reeglistik on uuendatud. Palume tutvuda ja arvesse võtta.
See more
See less

IAR C  taimerite kasutamine

Collapse
X
 
  • Filter
  • Kellaaeg
  • Show
Clear All
new posts

    IAR C  taimerite kasutamine

    Tere.

    Küsin veel IAR kohta. Nimelt üritan saada tööle
    Atmega8 sees olevat 8bitist taimerit T0. Proovisin teha
    näite järgi ja tuli välja selline kood:

    #define ENABLE_BIT_DEFINITIONS
    #include <iom8.h>
    //#include <ina90.h>

    void init(void)
    {
    DDRD = 0x00;
    DDRB = 0xff;
    TCCR0 = (1<<CS02)|(1<<CS00);
    TIFR = 1<<TOV0;
    TIMSK = 1<<TOIE0;
    }

    #pragma vector=TIMER0_OVF_vect
    __interrupt void Tim0Int (void)
    {
    PORTB=~PORTB;
    }

    void main (void)
    {
    init();
    while(1)
    {
    }
    }

    Kompileerub kõik kenasti, aga kui kivisse lasen siis ei tee
    kohe mitte midagi. täiesti tumm. No ja TCNT0 registri sisu
    kah ei muutu. Äkki teen midagi taimeri initsialiseerimise juures valesti, või jääb miskit puudu. Ah jaa Katsetamiseks
    kasutan STK500 plaati.
    Lugupidamisega
    Ank

    #2
    Kas kuskil ei peaks globaalselt interrupte lubama?
    pista kuskile initisse tee ka veel:
    _SEI();

    Comment


      #3
      Tere.
      Aitähh oli abiks küll.
      Kuigi ma ei mõista miks cspy mulle järjekindlalt
      seda katkestust simuleerimast keeldub. Aga raua peal
      proovides läks kõik käima.
      Lugupidamisega
      Ank

      Comment


        #4
        Simulaatoritega on ennegi imelikke asju olnud. Ntx. MPLAB ei taha ka sisendportide nivoosid õigesti näidata aga rauas on asi ok. Mine võta siis kinni...
        - Vend Hieronymus tunneb Motorola toodete nimekirja kõige paremini, las tema ütleb.
        - Motorola poolt loodud kiipide hulgas ei ole teda üles tähendatud. - Tähendab: ta on Intelist!

        Comment

        Working...
        X