Kurze Frage zu uC/OS-II

Gast #2241245
Lesenswert?

Hallo liebe Gemeinede,

Ich hätte kurz ne Frage weil ich irgendwie auf dem Schlauch steh.

hab bei einem uC/OS-II zwei Task´s die über Mailboxen Daten schicken. In 
Task1 wird mein double Wert erzeugt in einen String geschrieben und an 
die Mailbox verschickt. In Task2 soll der Wert an ein LCD ausgegeben 
werden bis hierhin kein Problem nur will ich jetzt noch den erzeugeten 
Wert der in dem String steht Im Task2 weiter bearbeiten, wie kann ich 
nun denn Wert in Task zwei aus dem String lösen und in double umwandeln?

1
void Task1( void *pdata)
2
{
3

4
  uint16_t temp;
5
  double dtemp;
6
  char adwert[80];
7
  INT8U err;
8

9
  while(1){
10
    OSTimeDlyHMSM(0,0,0,50);
11
  //  temp = ADC_WERT(0); // MUX-Bits auf 0b0000 -> Channel 0 
12
  //  dtemp = (double)temp*100;
13
  //  dtemp = dtemp+2;
14
    dtemp = 10;
15
    sprintf(adwert, "%d", dtemp);
16
    OSMboxPost(TxMbox, (void*) adwert);
17
    OSMboxPend(AckMbox, 0, &err);  
18
  }
19
}
20

21

22
void TASK2( void *pdata)
23
{
24
  char *rxmsg;
25
  char s[80];
26
  INT8U err;
27
  double tempw;
28

29
  while(1){
30
    OSTimeDlyHMSM(0,0,2,500);
31
    rxmsg = (char *)OSMboxPend(TxMbox, 0, &err);
32
    sprintf(s, "Mailbox = %s", rxmsg);
33
    LCDPrint(s);
34
    OSTimeDlyHMSM(0,0,0,500);    
35
    OSMboxPost(AckMbox, (void*) 1);  //benutze als Semaphore
36

37
    tempw=?????;
38
  }
39
}


mfg
Jo

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren