- Eleshop Messgeraete Angebote    Werbung      
Ergebnis 1 bis 2 von 2

Thema: ADXL202

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    03.07.2006
    Beiträge
    143

    ADXL202

    Anzeige

    E-Bike
    Hallo Zusammen!
    Ich habe ein Problem mit dem PWM Ausgang des ADXL's.

    Code:
    #define F_CPU 8000000      /* 8Mhz */
    
    ISR(SIG_INTERRUPT1){ 
      if(x1==1){
      	x1=0;			
        MCUCR = (1<<ISC11 | 1<<ISC10);	//Int1 rising edge
        t1 = count;
      }
      
      else{
        x1=1;			
        MCUCR = (1<<ISC11 | 0<<ISC10);	//Int1 falling edge
        t2=count;
        count = 0;
      }
    }
    
    SIGNAL (SIG_OUTPUT_COMPARE1A){
    count++;
    }  
    
    void Timer_Inits(void){
            TIMSK |= (1<<OCIE1A) ; 	
     	TCCR1B = (1<<CS10 | 0<<CS11 | 0<<CS12); 
    
    	MCUCR |= (1 << ISC11) | (1 << ISC10);
    
    	GIFR = (1 << INTF1);
    	GICR |= (1 << INT1); 
    }
    Die Variblen t1 und t2 werden aber nie grösser als 1.
    entweder ist der Timer zu langsam oder es stimmt sonst noch was nicht Bild  

    kann mir jemand helfen?

    Atmega8

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    03.07.2006
    Beiträge
    143
    Hat sich erledigt..
    es lag am Timer Bild   der wahr zu langsam..

    so funktionierts:
    TCCR1A = 0;
    TCCR1B = (1 << WGM12) | (1 << CS10);
    OCR1A = (uint16_t) ((uint32_t) F_CPU / 100000 -1);
    TIMSK |= (1 << OCIE1A);

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

    Werbung      Solar Speicher und Akkus Tests