Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum

Re: Umwandlung Single(Float) nach 4 x hex Wert Kategorie: Programmierung Basic (von PeterS - 12.07.2008 17:53)
Als Antwort auf Re: Umwandlung Single(Float) nach 4 x hex Wert von rainer - 9.07.2008 15:08

Hallo Rainer,

ich hatte noch mit dem Update auf 1.71 ein bischen Arbeit, aber hier wie versprochen die Konvertierung:

void float2byte(byte in[])
{
    Msg_WriteHex(in[3]); Msg_WriteChar('r');
    Msg_WriteHex(in[2]); Msg_WriteChar('r');
    Msg_WriteHex(in[1]); Msg_WriteChar('r');
    Msg_WriteHex(in[0]); Msg_WriteChar('r');
}

void main(void)
{
    float val[1];

    val[0]= 0.5;
    float2byte(val);
}

Der neue Compiler gibt zwar eine Warnung aus, aber läßt den Zeiger auf ein beliebiges Array zu. Man
Ăźbergibt den Zeiger auf ein float array, aber wertet es in der Funktion als byte array aus. Das geht
natĂźrlich auch umgekehrt!

Bei Fragen, bitte melden.

Gruss Peter


> Hallo!
> Wie schaut es den mit dem Beispiel aus?
> gruß
> Rainer
>
> > > Hallo!
> > > Funktioniert das jetzt schon? bzw wie? gibt es eine Diku?
> >
> > Ja, das funktioniert mit der aktuellen Beta jetzt schon. Ich bastel in den nächsten Tagen mal ein
> > Beispiel zusammen.
> >
> > Gruss Peter
> >
> > > mitte um Hilfe
> > > Gruß
> > > Rainer
> > >
> > > > Hi,
> > > >
> > > > das geht momentan garnicht. In der neuen Version 1.70 wird dann ein Trick funktionieren, indem man einen
> > > > Zeiger auf ein float array Ăźbergibt, in der aufgerufenen Funktion aber ein byte array erwartet.
> > > >
> > > >
> > > > Gruss Peter
> > > >
> > > > > Hallo!
> > > > > Ich habe folgendes Problem:
> > > > > Ich habe einen einen Wer in einer Single (Float) Variale stehen und muß diesen auf die
> > > > > Serielle Schnittstelle als 4x Byte Hex Ausgeben.
> > > > >
> > > > > Jetzte meine Frage: Wir teile ich die Variable auf, dass ich die 4 Werte senden kann?
> > > > >
> > > > > Bitte um Hilfe
> > > > >
> > > > > Danke im voraus
> > > > >
> > > > >  


    Antwort schreiben


Antworten: