- SF800 Solar Speicher Tutorial         
Ergebnis 1 bis 10 von 12

Thema: C++ Macht Atmega16 Kaputt?

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    22.09.2009
    Ort
    Geilenkirchen
    Beiträge
    419
    Nabend!


    Danke, für die Antworten

    Im Moment habe ich leider nicht so viel Zeit für das Projekt, da ich noch an einem anderem, wichtigerem Projekt arbeite (Werde ich vorstellen, wenn es fertig ist.).


    Ein Schaltplan ist wirklich nicht nötig, die Hardware ist mit Sicherheit in Ordnung.
    Ich bin mal dem Vorschlag nachgegangen, mit einem LED Blinken anzufangen und mich bis zum Interrupt hochzuarbeiten.
    Und es liegt wirklich am Interrupt....
    Dabei ist der Interrupt Teil nicht mehr als das hier:


    Code:
    void InterruptInit()
    {
        MCUCR |= (1 << ISC01); //Fallende Flanke an INT0
        GICR  |= (1 << INT0);
         
    }
    
    
    ISR(INT0_vect)
    {
        mcp2515::GetMessage(&receivedMessage);
        lcd_clrscr();
        lcd_putc(receivedMessage.data[0]);
        lcd_putc(receivedMessage.data[1]);
        lcd_putc(' ');
        lcd_putc(receivedMessage.lenght + 48); //Länge ausgeben
        
        UART::Transmit((uint8_t)(receivedMessage.ID >> 8));
        UART::Transmit((uint8_t)(receivedMessage.ID & 0x00FF));
        
        UART::Transmit(receivedMessage.lenght);
        UART::Transmit(receivedMessage.data[0]);
        UART::Transmit(receivedMessage.data[1]);
    }
    Abgesehen davon klappt übrigens Alles bestens, wenn ich anstelle vom Interrupt durch Polling abfrage.
    Dann kann ich eine Nachricht vom PC per UART senden, die wird dann an den mcp2515 gesendet, der sie (momentan noch im loopbackmode) wieder zurücksendet.
    Die Nachricht wird dann auf dem LCD angezeigt.
    Jetzt muss nur noch das Interrupt Problem gelöst werden und ich bin glücklich.

    EDIT:
    Habe den Interrupt Teil einfach nochmal neu geschrieben.
    Jetzt funktioniert alles Fehlerfrei, keine Ahnung wo jetzt genau der Fehler war, aber Hauptsache es läuft

    mfg
    Olaf
    Geändert von crabtack (28.06.2015 um 21:24 Uhr)

  2. #2
    shedepe
    Gast
    Kleiner Tipp. Zeit intensive Sachen wie LCD schreiben haben in einem Interrupt eigentlich ncihts zu suchen. Man legt sich damit den Controller nur Ewigkeiten lahm.

  3. #3
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    22.09.2009
    Ort
    Geilenkirchen
    Beiträge
    419
    Danke!

    Ja, das wird natürlich noch geändert.
    Aber für den ersten Test, ob überhaupt was ankommt wollte ich es mir so einfach, wie möglich machen, damit ich möglichst wenige andere Fehlerquellen habe.

    mfg
    Olaf

Ähnliche Themen

  1. [ERLEDIGT] RP6 Kaputt ??
    Von Mr.Deepbass im Forum Robby RP6
    Antworten: 17
    Letzter Beitrag: 24.05.2012, 11:39
  2. LCD kaputt?
    Von skyscater im Forum Elektronik
    Antworten: 34
    Letzter Beitrag: 12.01.2012, 00:03
  3. [ERLEDIGT] RN-Control macht komische Piepstöne. - Kaputt??
    Von robonooby im Forum Schaltungen und Boards der Projektseite Mikrocontroller-Elektronik.de
    Antworten: 19
    Letzter Beitrag: 28.10.2011, 12:01
  4. Atmega16 macht nicht was er soll.....
    Von Pollin im Forum Assembler-Programmierung
    Antworten: 4
    Letzter Beitrag: 28.01.2007, 14:22
  5. mc kaputt?
    Von pat88 im Forum AVR Hardwarethemen
    Antworten: 2
    Letzter Beitrag: 28.03.2005, 14:45

Berechtigungen

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

12V Akku bauen