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

Re: Neue beta: LONG>EEPROM>LONG Kategorie: Programmierung C (von PeterS - 8.10.2010 9:33)
Als Antwort auf Re: Neue beta: LONG>EEPROM>LONG von Joerg - 8.10.2010 7:02

> > > > > > > > > Hallo Peter,
> > > > > > > > > hast du vor, ein EEPROM_WriteLong/ReadLong anzubieten oder muss man da selber basteln?
> > > > > > > > > Wenn basteln, wer hat 'nen einfachen Vorschlag??
> > > > > > > > > Gruss Ulrich
> > > > > > > >
> > > > > > > >
> > > > > > > > Hallo Ulrich,
> > > > > > > >
> > > > > > > > ich würde es ähnlich machen wie in
> > > > > > > >
> > > > > > > > http://www.c-control.de/c-control-pro/applikationen/applikationen.html
> > > > > > > >
> > > > > > > > 'Funktion Float2Byte (zerlegt eine Float in 4 Bytes)'
> > > > > > > >
> > > > > > > >
> > > > > > > > void EEPROM_WriteLong(word pos, word in[])
> > > > > > > > {
> > > > > > > >     EEPROM_WriteWord(pos,  in[1]);
> > > > > > > >     EEPROM_WriteWord(pos+2,in[0]);
> > > > > > > > }
> > > > > > > >
> > > > > > > > Vielleicht geht es ja auch mit EEPROM_WriteFloat...
> > > > > > > >
> > > > > > > >
> > > > > > > > Grü�e Jörg
> > > > > > > >
> > > > > > > >
> > > > > >
> > > > > > Oops, mu� natürlich so hei�en:
> > > > > >
> > > > > > void EEPROM_WriteLong(word pos, dword val)
> > > > > > {
> > > > > >     EEPROM_WriteWord(pos, val);
> > > > > >     EEPROM_WriteWord(pos+2, val>>16);
> > > > > > }
> > > > > >
> > > > > > >
> > > > > > > Gruss Peter
> > > > > > >
> > > > > Hallo Jörg und Peter,
> > > > > danke für eure Tips. Die entspr. Read Routine geht dann so:
> > > > >
> > > > > long EEPROM_ReadLong(word pos){
> > > > >   long l;
> > > > >   l=EEPROM_ReadWord(pos+2);
> > > > >   l=(l<<16) + EEPROM_ReadWord(pos);
> > > > >   return l;
> > > > > }
> > > > >
> > > > > Grüsse Ulrich
> > > > hallo nochmal,
> > > > wenn in den Projekt Optionen 'Warnung bei Aufruf wurde Argument gewandelt' angehakt ist,
> > > > gibt es leider dann bei EEPROM_WriteLong 2 Warnungen. Muss man wohl mit leben --- Oder?
> > > > Gruss Ulrich
> > >
> > > Momentan schon. Ich mache mir da aber nochmal Gedanken.
> > >
> > > Gruss Peter
> > Peter, wenn du denn 'denkst', dann denk bitte auch an MSG_WriteLong. Auch an MSG_WriteHex.
> > Da gibts die gleichen Warnungen..
> > Gruss Ulrich
>
> Hallo Peter,
>
> mit Str_Printf() und den optionale flags (0,l) soltes es doch eigentlich mit 32Bit Integer gehen oder?
> Ist dies auch bei %x gültig?

Ja, sollte funktionieren.

Gruss Peter

>
>
> Grü�e Jörg
>
>
>
>
>
>


    Antwort schreiben


Antworten: