Möchte die Daten aus der Datei OV.H auslesen und gewisses Parameter in ein Array übertragen.
Das Array sieht so aus:
myMsg.DATA[0]=0x40;
myMsg.DATA[1]=0x07;
myMsg.DATA[2]=0x20;
myMsg.DATA[3]=0x00;
myMsg.DATA[4]=0x00;
myMsg.DATA[5]=0x00;
myMsg.DATA[6]=0x00;
myMsg.DATA[7]=0x00;
Das OV sieht so aus:
struct ov_eintrag ov[MAX_OV_INDEX] =
{{0, 0, RO, 0, 0, 0, 0},
{0x2007, 0, RWZ, 2, 400, 3200, 2000}, //Maximalstrom
{0x2008, 0, RW, 2, 0xCFC0, 0xFFC0, 0xFFC0}, //Offset Iststrom 1
{0x2009, 0, RW, 2, 800, 1200, 1024}, //Korrektur Iststrom 1
möchte z.B. die Daten 0x2007 gesplittet ins Array [2](20) und [1](07)
die "0" in [3] und die "2000" also "0x7D0" in [5](07) und [4](D0).
Wie mach ich das am einfachsten????
Thx im Voraus
Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge
ov[i].range ist als byte definiert und damit i.a. als unsigned char. Das heißt, dass die zulässigen werte zwischen 0 und 255 liegen.
Der vergleich im beispiel ist aber nicht mit zahlen, sondern zeichen. Diese sind auch acht bit lang, aber '4' ist nicht gleich 4 sondern 0x34 also 52.
Syntaktisch (formal) stimmt der code, semantisch (inhaltlich) aber ist evtl. etwas anderes gemeint (im beispiel aus dem ersten posting hat range nur werte zwischen 0 und 2).
mr.escape
Der vergleich im beispiel ist aber nicht mit zahlen, sondern zeichen. Diese sind auch acht bit lang, aber '4' ist nicht gleich 4 sondern 0x34 also 52.
Syntaktisch (formal) stimmt der code, semantisch (inhaltlich) aber ist evtl. etwas anderes gemeint (im beispiel aus dem ersten posting hat range nur werte zwischen 0 und 2).
mr.escape