По повод дължината на integer, имам от няколко години практиката вместо int, short int, long int, да използвам един header файл, в който чрез typedef съм дефинирал int8, int16, int32, uint8, uint16, uint32 и т.н. Това дава шанс на четеца да не му е се у гъзеца га чете сорсове за различни платформи

char ползвам само когато там ще съхранявам character, ако ще е обикновено число отива в графата int8/uint8.
Тълкуването е просто: вземи стойността от адреса на dataPacket и я конвертирай до дължина един байт. Обаче такова тълкуване не е много коректно, по скоро би трябвало да е вземи стойността на байта от адреса на dataPacket.
perro_iv, а как ще изглежда обратното, т.е. запиши стойност от един байт дължина на адреса на dataPacket

?