ARM I/O Testprogramm

Ich habe für das ARM Evalboard mein ein kleines I/O Testprogramm geschrieben. Das Programm ist nix wildes. Es schaltet die LED an Pin PI0 ein. Über den Schalter an PH1 werden dann die LEDs an Pins abwechselnd ein und aus.
Was man noch verbessern könnte ist den Schalter zu entprellen aber ich wollte das Programm möglichst einfach und übersichtlich halten.
Vielleicht kann der ein oder andere sich so ja was abgucken.
Für Verbesserungsvorschläge bin ich natürlich auch gerne zu haben… ich will ja auch noch was lernen:

/*****************************************************************************/
/* test.c: Simple IO Tester */
/******************************************************************************/
/* KEIL MCBTMPM330 IO TEST Software by DL8STW */
/******************************************************************************/

#include „TMPM330.H“ // TMPM330 definitions

int main (void) { // Main Program

short int mem=0; // Memory for LED status

SystemInit(); // SystemInit Funktion

/* Setup I/O */
PH->PUP = 0x02; // PH.1 with enabled Pull-up
PH->IE = 0x02; // PH.1 as Input (Push Button)

PI->CR |= 0x07; // PI.0 and PI.1 as Output
PI->DATA |= 0x07; // PI.0 and PI.1 Off

for (;;) { // Loop forever

PI -> DATA &= ~ 0x01; // LED an PH.0 On
if (!(PH->DATA & 0x02)&& mem == 0) // If PH.1 is pressed and mem=0
{
mem=1;
PI -> DATA &= ~0x02; // PH.2 on
PI -> DATA |= 0x04; // PH.2 off
}
else if (!(PH->DATA & 0x02)&& mem == 1)// If PH.1 is pressed and mem=1
{
mem=0;
PI -> DATA |= 0x02; // PH.2 on
PI -> DATA &= ~0x04; // PH.2 off
}
}
}

Dieser Beitrag wurde unter Basteln veröffentlicht. Setze ein Lesezeichen auf den Permalink.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert