Forum: Mikrocontroller und Digitale Elektronik MSP430 - 16 Bit nach 8 Bit konvertieren


von T. K. (woehler)


Lesenswert?

Hi,

wir lesen zZ den ADC des MSP430F149 nur intern aus, jetzt möchte ich den 
16 Bit Wert aber auch per USART an den PC senden, daher muss ich die 16 
Bit Zahl ja zu einer 8 Bit zahl machen, wie mache ich das am Besten?

Hab bis jetzt versucht nen String draus zu machen, aber da kommt 
irgendwie nur Mist bei raus...

Jemand ne bessere Idee?

P.S.: Ich bin noch Anfänger in C ;)


void IntToString(unsigned char* str, int value)
{
  int a, j=0;
  a = value / 1000;
  value %= 1000;
  str[j++] = a + 48;
  a = value / 100;
  value %= 100;
  str[j++] = a + 48;
  a = value / 10;
  value %= 10;
  str[j++] = a + 48;
  str[j++] = value + 48;
}

von Peter D. (peda)


Lesenswert?

itoa


Peter

von Stefan (Gast)


Lesenswert?

Masken verwenden:
1
unsigned int   ADC_Value;
2
unsigned char  LO_Byte, HI_Byte;
3
4
LO_BYTE = (unsigned char)(ADC_Value & 0x00FF);
5
HI_Byte = (unsigned char)((ADC_Value & 0xFF00)>>8);

von Christian R. (supachris)


Lesenswert?

Oder printf.

von T. K. (woehler)


Lesenswert?

Danke, habs :)

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
Noch kein Account? Hier anmelden.