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

Thema: Problem mit optischer Maus an STK500 mit ATMega32

  1. #1

    Problem mit optischer Maus an STK500 mit ATMega32

    Anzeige

    Praxistest und DIY Projekte
    Hallo zusammen,

    ich hab einen STK500 mit einem ATMega32. Ich möchte eine optische PS2 Maus daran anschließen und die Daten auslesen. Allerdings scheitere ich bereits daran. Wie im Codebeispiel zu sehen ist, sollte er in die Interruptroutine springen was er allerdings nicht tut. Die Lämpchen bleiben immer an (obwohl sie durch einen Interrupt eigentlich aus sein sollten... und der Interrupt müsste definitiv auftreten).
    Hier mal der Code, den wir verwenden...

    Code:
    #include <inttypes.h>       				// Allgemeine Bibliotheken
    #include <avr/io.h>
    #include <avr/interrupt.h>
    
    
    SIGNAL (INT0_vect)
    {
       PORTB = 255;
    }
    
    
    int main (void) {
            
    		DDRB=255;
            PORTB=0;         				// Alle Ausgänge auf 1	
     		
    		GICR = (1<<INT0);
        	MCUCR = 2;                                // INT0 interrupt on falling edge
            
            while(1){
    
    		}
    }
    Hat irgendwer eine Idee woran das liegen könnte? Ich habe schon wirklich etliche Stunden gesucht allerdings bin ich nicht wirklich fündig geworden.

    Viele Grüße,

    der Collatz

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    11.12.2006
    Beiträge
    210
    ähm, müsstest du nicht mit sei() die interrupts erlauben? (Bin auch erst relativ am Anfang mit AVR-c...)
    Ausserdem solltest Du noch den INT0 pin auf Eingang stellen, und den Pull-up aktivieren. Schau dir am besten mal ein paar einfache C-Programme an, und geh die üblichen Tutorials durch, dann findest Du sicher leichter den Einstieg. Mir hat geholfen, dass ich erst mal die Grundlagen mit Assembler gelernt habe, da kriegt man ein gutes Gefühl für die "Denkweise" des uCs.

    Außerdem würde ich mir gleich angewöhnen, die gängigen Schreibweisen zu verwenden, dann können andere, und Du auch, Dienen Code schneller verstehen. (GICR = (1<<ISC01) ist einfach schneller zu verstehen als GICR = 2, und weniger fehleranfällig)

    Gruß

    GEald

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress