Atmel Studio Absolut Beginner Coding programmierfragen

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo Guten Tag :)

    Ich habe mir einen Atmega8 besorgt, einen kleinen USB Programmierer und das auch alles zum Laufen bekommen, mit dem Atmel Studio 7. Den ersten Code habe ich auch schon hochgeladen (Momentan eine LED die SOS blinkt)

    Ich weiß leider nicht, ob ich hier richtig bin mit meinem Anliegen. Ich würde hier gerne meine kleinen Fortschritte vorstellen und Fragen stellen, warum dies und jenes gerade nicht funktioniert...vielleicht macht sich ja jemand die Mühe, mir dabei behilflich zu sein und mir über die Schulter zu schauen.

    Ich fange einfach mal an, ein Bild von meinem kleinen Projekt zu posten und den dazugehörigen Code:

    Die LED ist am pin C5, der als ausgang definiert ist, dranne. Diese funktioniert auch und blinkt im SOS-Modus

    Der Pin C4 direkt da drunter soll als Eingang definiert sein.

    Wenn ich jetzt durch den Button ein High signal an pin C4 schicke, soll die LED im SOS Modus blinken...diese blinkt aber unabhängig von dem Button dauerhaft im SOS Modus.

    Die Blaue LED leuchtet, wenn ich den Button drücke, dieser funktioniert also..jemand eine Ahnung wo der Fehler ist :)?

    code:


    Einmal editiert, zuletzt von ChrisTelmeth (7. Oktober 2019 um 15:53)

  • Atmel Studio Absolut Beginner Coding programmierfragen? Schau mal ob du hier fündig wirst!

  • Es gibt da einige Fehler in deinem Posting.

    Das Forum beschäftigt sich hauptsächlich mit Raspberry Pi, daraus folgt, es gibt hier deutlich weniger Erfahrung mit ATmega als in anderen Foren

    Du hast vergessen deinen Code in die Code-box zu setzen (drittes Icon von rechts im schwarzen Balken)

    Muss es unbedingt Atmel Studio sein oder geht auch die Arduino IDE?

    Und für Schaltpläne gibt es Fritzing.

    Glaube ersetzt kein Wissen

  • Moin ChrisTelmeth,

    falls du nochmal hier reinschaust...

    Ein- und Ausgänge sollten mit einem Pegel definiert werden. Z.B.: Ausgang auf HIGH oder Low und Eingang durch den internen Pull-up oder Pull-down.

    Code
      while (1)
      {                    // begin infinite loop
        if (PORTC ^= (1 << PC4))   <-- Hier fragst du, ob der Pin getoogelt hat. Von was??
        {
          PORTC &= ~(1 << PC5); <---- Hier setzt du Pinc5 auf 0. Wozu soll das gut sein.
        }
        else  <-- wenn das nicht zutrifft startest du die LED-Sequenz
        {
          PORTC ^= (1 << PC5);    // flip state of LED on PC5
          _delay_ms(250);            // delay 1/2 second

    Dann hast du folgendes gecodet

    Erst toogelst du und dann schaltest du nach 0. Warum nicht immer toogeln oder du schaltest von 0 nach 1, nach 0 usw.

    Dein Programm sollte so aussehen. Nein, es kommt kein Code.

    - Definiere die Ein und Ausgänge eindeutig.

    - setze die LED-Sequenz in einem Funktionblock und rufe den auf wenn eine Taste gedrückt wird.

    Wegen SOS sprechen wir noch mal. ...---...


    Admin bitte den Thread nach microcontroller verlegen. Danke

    73 de Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"
    Vielleicht trifft man sich in der RPi-Plauderecke.
    Linux ist zum Lernen da, je mehr man lernt um so besser versteht man es.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!