hi,
hab grad nen problem mit der umwandlung von int nach char und umgekehrt.
hab auch keine lösung gefunden warum es nicht funktioniert.
ich will auf einem uC eine int variable in 2 chars umwandeln damit ich
die per I2C übertragen kann. auf dem anderen uC sollen diese beiden
chars empfangen werden und wieder zur ursprünglichen int variable
zusammengesetzt werden. die I2C übertragung funktioniert, auch werden
die beiden chars in der richtigen reihnfolge gesendet bzw. empfangen.
ich sende erst den high char und dann den low char. ebenso empfange ich
die beiden in der gleichen reihnfolge
hier mal der code für die umwandlung eines int in 2 chars:
1 | unsigned int Data;
|
2 | unsigned char HiChar, LoChar;
|
3 |
|
4 | HiChar = Data / 0x100;
|
5 | LoChar = Data % 0x100;
|
und hier der code für die umwandlung von den 2 empfangenen chars nach
int:
1 | unsigned int orig_Data;
|
2 | unsigned char buffer, buffer1;
|
3 |
|
4 | orig_Data = ((unsigned int)buffer<<8) | buffer1;
|
wo is da der fehler?
ich hoffe ihr könnt mir helfen.