- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 6 von 6

Thema: Problem mit INT0 ATtiny84A

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1

    Frage Problem mit INT0 ATtiny84A

    Leider bekomme ich nachstehendes Programm auch nach Durchsicht aller Forums Beiträge/Tutorials nicht zum laufen.

    Mit dem Programm soll die Dauer von RC-Impulse gemessen werden.

    Zum Einsatz kommt ein ATtiny84 zum Einsatz. Programmiert wird mit Atmel Studio 7.

    Nun zu meinem Code:

    Code:
    /**********            ATtiny84A 8MHz           ***************/
    
    
    
    #include<avr/io.h>
    #include <avr/interrupt.h>
    
    
    
    
    #define F_CPU 8000000UL
    
    
    
    
    uint16_t start_puls,end_puls,laenge_puls;
    uint8_t steigend, fallend;
    
    
    
    
    void init_timer_0 (void)
    {
    	TCCR0A = 0x00;
    	TCCR0B = (1<<CS01) + (1<<CS00);
    	TIMSK0 = (1<<TOIE0) ;
    	TCNT0 =131;
    
    
    
    
    }
    
    
    
    
    void init_timer_1(void)
    {
    	TCCR1A=0x00;
    	TCCR1B= (1<<CS11);
    	
    }
    
    
    ISR (INT0_vect)
    {
    	if (steigend == 1)
    	{
    		start_puls=TCNT1;
    		steigend=0;
    		MCUCR |= (1<<ISC01);
    		MCUCR &= ~(1<<ISC00);	
    	}
    	else
    	{
    		end_puls=TCNT1;
    		laenge_puls=end_puls-start_puls;
    		steigend=1;
    		MCUCR |= (1<<ISC01);
    		MCUCR |= (1<<ISC00);
    	}
    	
    }
     
    int main(void)
    {
    	init_timer_1();
    	
    	DDRA = 0xFF;
    	
    	DDRB &= ~(1<<PORTB2);
    	MCUCR |= (1<<ISC01) | (1<<ISC00); // INT0 auf  steigende Flanke
    	GIMSK |= (1<<INT0);
    	
    	sei();
    	
    	while(1)
    	{
    		if (laenge_puls<1300)
    		{
    			PORTA = 0b00000001;
    		}
    		if ((laenge_puls>1300)&&(laenge_puls<1700))
    		{
    			PORTA = 0b00000010;
    		}
    		if(laenge_puls>1700)
    		{
    			PORTA = 0b00000100;
    		}
    	}
    }
    Hoffe es findet sich jemand, der so freundlich ist und mir weiter hilft.
    Geändert von _Lupo_ (06.09.2021 um 16:51 Uhr)

Ähnliche Themen

  1. C INT0 an 328 - (M)Ein Problem
    Von oberallgeier im Forum Bascom / C / ASM / Sketch / Codesammlung / Programmschnipsel
    Antworten: 3
    Letzter Beitrag: 30.10.2017, 05:17
  2. ATtiny84a PWM
    Von OpaReinhard im Forum Arduino -Plattform
    Antworten: 6
    Letzter Beitrag: 23.03.2016, 19:34
  3. Int0 wird bei direkt bei 'Enable Int0' ausgelöst - Warum?
    Von malthy im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 3
    Letzter Beitrag: 30.08.2010, 19:10
  4. Int0 / Int1 Problem ( Prellen )
    Von BlaueLed im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 3
    Letzter Beitrag: 28.01.2010, 12:38
  5. Unverständliches Problem mit INT0 / INT1
    Von popi im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 7
    Letzter Beitrag: 04.09.2008, 15:34

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress