Hallo zusammen in der Schule programmieren wir seit neuem Mikrokontroller, ein sehr spannendes Thema. Bin seit drei Stunden am ausprobieren, was ich falsch mache, ich möchte ein Lauflicht programmieren mit den LED auf dem Board. Leider blinken durch meine whle schleiffe immer nur die zulezt programmierten, kann mir jemand helfen. Der Mikrokontroller kommt von infineon es handelt sich um das Easy kit XE 166 Family. Wäre sehr dankbar um eure Hilfe. typedef unsigned char ubyte; // 1 byte unsigned; prefix: ub typedef signed char sbyte; // 1 byte signed; prefix: sb typedef unsigned int uword; // 2 byte unsigned; prefix: uw typedef signed int sword; // 2 byte signed; prefix: sw typedef unsigned long ulong; // 4 byte unsigned; prefix: ul typedef signed long slong; // 4 byte signed; prefix: sl #include <XE167F.h> /* standard I/O .h-file */ volatile uword counter1 = 0; volatile uword counter2 = 0; volatile uword counter3 = 0; volatile uword counter4 = 0; volatile uword counter5 = 0; volatile uword counter6 = 0; { P10_IOCR00 = 0x80; P10_IOCR01 = 0x80; P10_IOCR02 = 0x80; P10_IOCR03 = 0x80; P10_IOCR04 = 0x80; P10_IOCR05 = 0x80; P10_IOCR06 = 0x80; P10_IOCR07 = 0x80; P10_POCON = 0x0000; P10_OUT = 0xff; while (1) { P10_OMRL = 0x0101; counter1 = 0x020; while (counter1 > 0) { counter1--; counter2 = 0xFFFF; while (counter2 > 0) { counter2--; //ENDE P10_OMRL = 0x0303; counter3 = 0x020; while (counter3 > 0) { counter3--; counter4 = 0xFFFF; while (counter4 > 0) { counter4--; P10_OMRL = 0x0606; counter5 = 0x020; while (counter5 > 0) { counter5--; counter6 = 0xFFFF; while (counter6 > 0) { counter6--; } } } } } } } }
Kleiner Tipp: Formatiere den code durch dementsprechende Einrückungen. Nutzte die Code Umgebung damit der Code gehiglighted wird. Beispiel:
1 | #include "XYZ.h" |
2 | |
3 | int main(void) |
4 | {
|
5 | int a = 0; //Kommentar |
6 | |
7 | while(1) |
8 | {
|
9 | if(a==5) |
10 | {
|
11 | a = 0; |
12 | }
|
13 | }
|
14 | }
|
Ansonsten werden die meisten keine Lust haben.
Du darfst halt nicht so ungeduldig sein :-))), nachdem er ca. 2 Millionen Mal Led 1 und 2 getoggelt hat, toggelt er auch mal Led 0 und 1. Und wenn das ca 2 Millionen mal passiert ist, wird dann auch mal Led 0 alleine getoggelt. Also Alles eine Frage der Zeit. Übrigens sind die Einrückungen fast perfekt, nur der Name der Funktion ist nicht vorhanden.
Überleg mal bitte mit welcher Frequenz dein µC läuft, vielleicht hilft dir das auf die Sprünge
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.