Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge

C++ Uebernahme von Daten aus einem Header in ein Array

copykiller / 22 Antworten / Flachansicht Nickles

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

bei Antwort benachrichtigen
mr.escape mr.escape
mr.escape copykiller „nochmal die Frage!! wie kann ich die parameter eine zeile nach der anderen...“
Optionen

Die aus ov?
Mit einer statischen variablen, in der der aktuelle stand vermerkt ist.
Z.b.:
int lastparam, actparam=0;
bool TimerSenden(){
  SendParam(actparam);
  actparam++;
  if(actparam>=lastparam)//alle raus
    return false;//es gibt nichts mehr zu senden, timer stoppen
  return true;//noch nicht fertig
}

In lastparam muss die anzahl der parameter stehen und actparam muss am anfang einer übertragung auf 0 gesetzt werden.
TimerSenden() wird bei einem timer-event aufgerufen (z.b. bei WM_TIMER oder OnTimer()). Ich gehe davon aus, dass mindestens ein parameter zum senden vorhanden ist (wegen der abbruchbedingung).
SendParam() füllt aus ov[actparam] das array myMsg.DATA[] auf und sendet diese daten (wie auch immer).
Zu bedenken ist dabei, dass windoofs kein echtzeitsystem ist und es auch mal zu längeren (alles ist relativ!) hängern kommen kann. Bei linux oder MAC-OS ist das in etwa genau so.

mr.escape.

"The man who trades freedom for security does not deserve nor will he ever receive either." - Benjamin Franklin"Wer seine Freiheit aufgibt, um Sicherheit zu erreichen, wird beides verlieren." - Georg Christoph Lichtenberg
bei Antwort benachrichtigen