MoinMoin
ich mal wieder. Nachdem es bis gestern nun lief, und ich 8
unterschiedliche Töne gleichzeitig ausgeben konnte, geht es nun wieder
nicht mehr.
Nun lädt er mir meine neuen Werte nicht mehr ins Tonregister ?!?!?!
1 | int main(void)
|
2 | {
|
3 | uint8_t i = 0;
|
4 | uint8_t n = 0;
|
5 |
|
6 | for (i = 0; i < 8; i++)
|
7 | {
|
8 | Kanal.Tonhoehe[i] = Melodie1[0].Tonhoehen[i];
|
9 | }
|
10 |
|
11 | init();
|
12 | TEMPO = (45000/BPM);
|
13 |
|
14 |
|
15 | while(1)
|
16 | {
|
17 | //while (n < 20) //Prüfen ob Anzahl gespielte Töne kleiner als Liste
|
18 | // {
|
19 | if (SysTick_64tel == Melodie1[n].Wechsel_bei64tel) //"Warten" bis es Zeit für den nächsten Tonwechsel ist
|
20 | {
|
21 | n++; //"Pseudozeiger" auf die nächste Toneinstellung setzen
|
22 |
|
23 | for (i = 0; i < 8; i++)
|
24 | {
|
25 | Kanal.Tonhoehe[i] = Melodie1[n].Tonhoehen[i]; //Die neuen Tonhöhen übergeben
|
26 | }
|
27 | }
|
28 | // }
|
29 |
|
30 | if (n >= 20) //Falls alle Töne gespielt, wieder auf Anfang setzen
|
31 | {
|
32 | n = 0;
|
33 | SysTick_64tel = 0;
|
34 | }
|
35 | }
|
36 | }
|
obwohl die Werte für Systick_64tel steigen, und auch im
Melodie1[n].Wechsel_bei64tel die richtigen Werte stehen, wird der
Vergleich nie ausgeführt, bzw der Vergleich wird nie als gleich erkannt,
und somit auch keine neuen Werte in Kanal.Tonhoehe geladen....
Im Anhang nochmal der gesamte Quelltext. Wie gesagt, bis gestern ging
es, und eigentlich hab ich nichts geändert..... ?!?!?!?!
MfG Chaos