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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren