Hallo...
Ich versuche vergebens eine steigende Flanke von einer Arrayvariable zu
generieren.
Diese Arrayvariable ist ca. 1s auf True und soll in einem anderen Array,
welches als Rückgabearray fungieret, als steigende Flanek für ein Zyklus
das bit auf true setzen welches ich dann in der main weiter verarbeiten
kann.
Leider funktioniert das nicht, kann mir einer Helfen? Im Moment ist es
so das die usart_write_str("--array4--"); wesentlich öffters kommt als
1mal. (Ich breche nach >100mal ab....)
Vielen Dank wenn mir einer helfen kann ...
So hatte ich mir das gedacht:
1 | bool Eingang[64] = {false};
|
2 | bool arraytest[40] = {false};;
|
1 | void R_TRIG_Taster(bool bit,int bitnr, bool array[])
|
2 | {
|
3 |
|
4 | if(!array[bitnr] && bit) //Taster wird gedrueckt (steigende Flanke)
|
5 | {
|
6 | array[bitnr] = true;
|
7 |
|
8 | }
|
9 | else if (array[bitnr] && bit) //Taster wird gehalten
|
10 | {
|
11 | array[bitnr] = false;
|
12 |
|
13 | }
|
14 | else */ //Taster wird losgelassen (fallende Flanke)
|
15 | {
|
16 | array[bitnr] = false;
|
17 | }
|
18 |
|
19 | return array;
|
20 |
|
21 | }
|
so in der main-Schleife aufgerufen:
1 | R_TRIG_Taster(Eingang[4],4, arraytest);
|
2 |
|
3 |
|
4 | if (arraytest[4])
|
5 | {
|
6 | usart_write_str("--array4--");
|
7 | }
|