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?
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
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.