AVR Embedded Tutorial - Simple GPIO on and off output/de

From Lazarus wiki
Revision as of 18:10, 3 November 2017 by Mathias (talk | contribs) (Created page with "{{Translate}} ==Erster Blink-Beispiel== Dieses Beispiel zeigt, wie man mit einem ATtiy2313 programmiert. Dazu werden 2 LEDs an Pin 0 und 1 von PortD angeschlossen. ==Beispie...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

Template:Translate

Erster Blink-Beispiel

Dieses Beispiel zeigt, wie man mit einem ATtiy2313 programmiert. Dazu werden 2 LEDs an Pin 0 und 1 von PortD angeschlossen.

Beispiel-Code-ATtiny2313

program Project1;
const
  DP0 = 0;      // Pin0 PortD
  DP1 = 1;      // Pin1 PortD
  sl = 150000;  // Verzögerung

  procedure mysleep(t: int32); // Ein einfaches Delay.
  var
    i: Int32;
  begin
    for i := 0 to t do begin
      asm
               NOP;
      end;
    end;
  end;

begin
  // Pin 0 und 1 von PortD auf Ausgabe.
  DDRD := DDRD  or (1 shl DP0) or (1 shl DP1);

  repeat
    // LED wechseln
    PORTD := PORTD or (1 shl DP0);      // Pin0 ein
    PORTD := PORTD and not (1 shl DP1); // Pin1 aus
    mysleep(sl);                        // Pause

    // LED wechseln
    PORTD := PORTD or (1 shl DP1);      // Pin1 ein
    PORTD := PORTD and not (1 shl DP0); // Pin0 aus
    mysleep(sl);                        // Pause
  until 1 = 2;
end.

sowie