Danke, Dominic! So hat es prima geklappt, aber es bleibt ein
überlauffehler(nehme ich an), das Program läuft nur 1 mal hin und her.
Ich habe es mit einem schlechten Schlechten Programmierstil gelöst:
1 | while(1) {
|
2 | int x = 0x01,y = 0x80,i;
|
3 | LATA = x | y;
|
4 | delay();
|
5 |
|
6 | for(i=0;i<7;i++) {
|
7 | x = x << 1;
|
8 | y = y >> 1;
|
9 | LATA = x | y;
|
10 | delay();
|
11 | }
|
12 |
|
13 | for(i=7;i<0;i--) {
|
14 | x = x >> 1;
|
15 | y = y << 1;
|
16 | LATA = x | y;
|
17 | delay();
|
18 | }
|
19 | }
|
Der Idee nach, sollten die Bits immer weiter verschoben werden. Also x:
0x01, 0x02, 0x04 etc. und y 0x80, 0x40, 0x20 etc... Am Ende soll doch
x=0x80 sein und y=0x01, jedoch läuft das Programm nur 1 mal hin und
zurück. Weiß jmd, woran es liegen könnte?