Programmierproblem ADUC831(8051Kern)

Gast #728511
Lesenswert?

Hallo,

Ich habe ein Problem und zwar habe ich einen string der Zeichen enhält 
(ASCII). Ein solchen ASCII Zeichen ist ja ein Hex wert zb. 0x..

Diese Zeichen will ich nach der Reihe mit SPI zum einem Modul 
rauschreiben.
Dieses Modul benödigt Am Anfang jedes Bytes den Wert 0xB8.

Im String steht zb. ABCDEF

Also muss ich vor jedem Zeichen im String den Wert 0xB8 hinzufügen, das 
das Modul die Daten erkennt.

Normal würde ich den String mit eine Schleife rauschreiben:
for(i;i<10;i++)
{
string[i];
}

Nur ich habe keine Ahnung wie ich jetzt die 0xB8 vor jedes Element 
bekomme?
Gast #728542
Lesenswert?

so zum Beispiel unter der Vorraussetzung dass dein
String im idata Bereich liegt und du eine
writeSpi() Funktion zum Schreiben hast.

void SendString(UINT8 idata *pString)
{
   UINT8 ch;

   ch = *pString;        // first element
   while (ch)
   {
      writeSpi(0xB8);    // send start
      writeSpi(ch);      // send element
      ch = *(pString++); // get next element
   }
}


Thomas

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