Oh man, ich glaub nu kann ich es nimmer weiter abstrahieren.
Also wenn ich darauf nu keine Antwort mehr krieg isses verständlich; nen
kleines Gedankenspiel so spät am Abend hat doch aber auch was, hmm? ;)
Ich versuch nur meinem Kollegen und mir mehrere Stunden an planlosem
Rumgerätsle zu ersparen.
-----------------------------------------------------------------------
void send_Data(int Zaehler,int Channel,int Value,int Start_Channel)
{
for(Zaehler; Zaehler < Channel; Zaehler++)
{
if(new_data_available == 1)
{
if(interrupt_channel < Zaehler)
{
send_Data(Zaehler,interrupt_channel,interrupt_value,Zaehler)
};
};
send_NullInformationsByte;
};
send Channel_Byte;
};
//Erster Programmaufruf:
send_Data(1,received_Channel,received_Value,1);
------------------------------------------------------------------------
Kontext ist folgender: Als Input in den uC kommen zwei Bytes; das
welches sagt an welchen Kanal die Information des zweiten Bytes gehen
soll.
Am Ausgang werden nun soviele "Null-Bytes" rausgeschickt bis die Anzahl
mit dem Kanal übereinstimmt. Dann geht der Kanal-Value raus.
Jetzt diese kleine rekursive Funktion: Kommt während dem Senden der
(maximal 511) "Null-Bytes" nochmal ne neue Information rein soll diese,
sofern man an dem jeweiligen Kanal noch nicht vorbei ist, eingebaut
werden. Danach soll es bis zum ursprünglichen Kanal weitergehen.
(...dass ich Probleme kriege sobald sich die Funktion selber zum 2. Mal
aufruft, und sobald der neue Kanal > als der Ursprungs Kanal ist.... ist
erstmal nicht wichtig ;) - es geht nur darum dass der Stream nicht
abbricht).
So, puh.... Danke zum xten! :)
Lg, Flo