- Akku Tests und Balkonkraftwerk Speicher         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 19 von 19

Thema: Zeit genau messen

  1. #11
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    20.08.2006
    Beiträge
    280
    Anzeige

    Powerstation Test
    Wie kann ich einzelne Interrupts deaktivieren?
    Mit cli(); deaktiviere ich ja alle...

  2. #12
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.06.2004
    Ort
    Aachen
    Beiträge
    2.674
    Ich meine hier:

    General Interrupt Control Register – GICR
    Seite 49 im Datenblatt

    Sorry, ich bin da irgendwie garnicht mehr drin...

  3. #13
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    21.10.2005
    Ort
    Erde
    Alter
    58
    Beiträge
    1.195
    @johannes:

    Schau bitte mal in eines der oben erwähnten Tutorials rein. Da ist alles bestens erklärt.

    Kurzer Hinweis: Du musst erst mal Deine Interrupt Register so einstellen, dass der INT0 und INT1 frei geschaltet sind.,

  4. #14
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    20.08.2006
    Beiträge
    280
    Hallo,

    ok, also hier der aktuelle Code
    Code:
    #define F_CPU 16000000
    #include <avr/io.h>
    #include <avr/interrupt.h>
    #include <inttypes.h>
    #include "usart.c"
    
    ISR(INT0_vect)
    {
    	usart_print("INT0\n");
    }
    
    ISR(INT1_vect)
    {
    	usart_print("INT1\n");
    }
    
    int main()
    {
    	usart_init();
    
    	GIMSK |= (1 << INT1) | (1 << INT0);
    	MCUCR |= (1 << ISC11) | (1 << ISC10);
    	MCUCR |= (1 << ISC01) | (1 << ISC00);
    
    	sei();
    
    	usart_print("Warte auf Interrupt\n");
    	while(1)
    		;
    }
    Wenn ich nun INT0 oder INT 1 mit VCC verbinde passiert manchmal gar nix, manchmal kommt Zeichensalat im Terminal an..


    Viele Grüße,
    Johannes

  5. #15
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.06.2004
    Ort
    Aachen
    Beiträge
    2.674
    Hm, also usart.c habe ich noch nie benutzt.
    Setze auf jeden Fall mal die DDR.

    ich glaube:
    DDRD = 0bxxxx0010;

    x := wie es bei dir ist.

    Dann solltest du die Ports noch Null setzten (Pulldown):

    PORTD &= ~(1<<2);
    PORTD &= ~(1<<3);

  6. #16
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    20.08.2006
    Beiträge
    280
    Zitat Zitat von RCO
    Hm, also usart.c habe ich noch nie benutzt.
    Das ist meine eigene Datei und die funktioniert sonst immer

    Zitat Zitat von RCO
    Setze auf jeden Fall mal die DDR.

    ich glaube:
    DDRD = 0bxxxx0010;

    x := wie es bei dir ist.
    Was meinst du damit?

  7. #17
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    19.06.2006
    Ort
    Schriesheim
    Alter
    37
    Beiträge
    478
    Er weiß ja nicht genau, wie die DatenRichtung an deinem PortD aussieht...

  8. #18
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    20.08.2006
    Beiträge
    280
    An meinem AVR ist gar nix angeschlossen, nur eben die 2 Taster an INT0/1

    Soll ich Port D als eingang oder ausgang definieren?


    Viele Grüße,
    Johannes

  9. #19
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.06.2004
    Ort
    Aachen
    Beiträge
    2.674
    Er weiß ja nicht genau, wie die DatenRichtung an deinem PortD aussieht...
    genau

    An meinem AVR ist gar nix angeschlossen, nur eben die 2 Taster an INT0/1
    Soll ich Port D als eingang oder ausgang definieren?
    Beides alleine geht nicht, da D2 und D3 je Eingänge sein müssen. Du willst aber per serieller Schnittstelle senden, deshalb muss PD2 auf jeden fall Ausgang sein. Falls du noch Empfangen willst, dann muss PD1 ein Eingang sein. Wenn aber sonst ncihts anderes and den AVR angeschlossen ist, probier mal das:

    DDRD = 0b11110010;
    PORTD &= ~(1<<2);
    PORTD &= ~(1<<3);

    Wenn du D2 oder D3 jetzt an 5V legst sollte was passieren
    DDRD ist das Data Direction Register des Port D. Eine 1 bedeutet Ausgang, eine 0 Eingang.

Seite 2 von 2 ErsteErste 12

Berechtigungen

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

12V Akku bauen