Hallo allerseits, es geht um eine Datenübertragung. Nachdem ein Frame empfangen wurde, steht laut Datenblatt die Länge des Frames im Register TST_RX_LENGTH. Nun müsste eine Funktion her, die einer Variablen den dezimalen Wert des Registerinhaltes überträgt. Angenommen der Frame ist 9 Byte lang, das Register TST_RX_LENGTH müsste mMn. also wie folgt aussehen: 00001001 Wenn ich nun in einer C Funktion nacheinander die Bytes auslesen möchte, so muss ich wohl eine for-Schleife implementieren. Diese soll also von "0" bis "Ende" laufen. Kann ich die Variable "Ende" durch folgende Funktion auf den dezimalen Wert 9 setzen? uint8_t Read_TST_Frame_Lenght_Register() { uint8_t Framelange = 0; Framelange = TST_RX_LENGTH; return Framelange; } Aufruf dann über: Ende=READ_TST_Frame_Length(); funktioniert das??? mfg
Es geht sicherlich noch wesentlich komplizierter. Wie das geht steht in einem C-Buch.
also könnte man auch einfach schreiben: uint8_t lange = TST_RX_LENGTH ; ???
Der verwendete uP spielt doch für die Beantwortung dieser Frage keine Rolle
Ganz ehrlich: Das ist mir zu blöd. Lerne erstmal die Grundlagen. Darunter ist auch Deine Frage. Oder probiere es einfach aus. Da machst Du wenigstens "etwas" selbst. Erkenntniskonsum ist eine Utopie, die seit dem Nürnberger Trichter den Ruch des lächerlichen behalten hat.
Großes Fragezeichen schrieb: > Angenommen der Frame ist 9 Byte lang, das Register TST_RX_LENGTH müsste > mMn. also wie folgt aussehen: 00001001 Das ist für deine Aufgabe vollkommen uninteressant. Wenn du dir solche Knoten ins Hirn machst, solltest du dir unbedingt die Grundlagen der Zahlendarstellungen nochmal ansehen. Logisch ist einem "üblichen" Rechner die Binärdarstellung geläufig, und er hat ein Bitmuster 00001001 im Register stehen. Für Menschen ist aber die Zahl 9, die genau den selben Wert darstellt wesentlich flüssiger zu lesen. Großes Fragezeichen schrieb: > also könnte man auch einfach schreiben: > uint8_t lange = TST_RX_LENGTH ; ??? Ja, ganz ohne Funktionsaufruf... Großes Fragezeichen schrieb: > Der verwendete uP spielt doch für die Beantwortung dieser Frage keine > Rolle Oh doch, denn evtl ist TST_RX_LENGTH ein Zeiger auf ein Register und nicht die Adresse des Registers...
Großes Fragezeichen schrieb: > Der verwendete uP spielt doch für die Beantwortung dieser Frage keine > Rolle OK, dann halte ich es wie Gemein (Gast). Hättest du den Käfer genannt oder gleich das Datenblatt verknüpft gäbe es jetzt wohlmöglich ein brauchbares "piece of code" in den Antworten.
> Großes Fragezeichen schrieb: >> Der verwendete uP spielt doch für die Beantwortung dieser Frage keine >> Rolle > Oh doch, denn evtl ist TST_RX_LENGTH ein Zeiger auf ein Register und > nicht die Adresse des Registers... Oder etwas ganz anderes. Auf den ersten Blick hätte ich ja Präprozessoranweisung gesagt, für mich ist TST die Abkürzung für Test.
also danke denjenigen die doch noch geantwortet haben. mitlerweile hab ich mir die Frage selber beantwortet. Und ja, es handelt sich um Grundlagen in C, und ja, deshalb habe ich meinen Code eben selber entwickelt, damit diejenigen, die mehr Routine im Programmieren haben ihre Antwort auf ein schlichtes [Ja] oder [Nein, weil] hätten reduzieren können.
>Und ja, es handelt sich um Grundlagen in C, und ja, deshalb habe ich >meinen Code eben selber entwickelt, damit diejenigen, die mehr Routine >im Programmieren haben ihre Antwort auf ein schlichtes [Ja] oder [Nein, >weil] hätten reduzieren können. Gut zu wissen. Ich dachte schon es hätte am Wetter gelegen.
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.