Arduino Due: LED ein- und ausschalten

Gast #5614501
Lesenswert?
• ▲
▼
Hallo Leute,

auf dem Arduino Due möchte ich die LED an PD13 ausschalten (Diese 
leuchtet aktuell bei mir. Alle anderen Pins sind auch High).
Ich programmiere mit AtmelStudio und dem ICE-Programmieradapter.
Der unten stehende Code lässt sich zwar flashen, aber die LED bleibt an.

Ich hoff ihr könnt mir weiterhelfen.
1
#include "sam.h"
2

3

4
int main(void)
5
{
6
    /* Initialize the SAM system */
7
    SystemInit();
8
  
9
  //Enable PIO control
10
  REG_PIOD_PER |= (1<<13);
11
  //Disable PD13
12
  REG_PIOD_ODR |= (1<<13);
13
  
14

15
    /* Replace with your application code */
16
    while (1) 
17
    {
18
    
19
    
20
    }
21
}
Beitrag #5614502 wurde von einem Moderator gelöscht.
Gast #5614576
Lesenswert?
• ▲
▼
Ich nehme an, dass du die LED so angeschlossen hast, dass sie bei High 
Pegel leuchtet. Durch den Ausdruck "|= (1<<bitNr)" setzt du den Pin auf 
High. Um ihn auf Low zu setzen, musst du "&= ~(1<<bitNr)" schreiben.

Etwas effizienter ist es, einzelne Pins über das _SODR Register auf High 
zu setzen oder über _CODR auf Low zu setzen.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.