私は現在、Arduino Uno、9DOF、およびXBeeを使用しています。シリアル経由でバイトごとに送信し、構造体に再構築できる構造体を作成しようとしていました。
これまでのところ、次のコードがあります。
struct AMG_ANGLES {
float yaw;
float pitch;
float roll;
};
int main() {
AMG_ANGLES struct_data;
struct_data.yaw = 87.96;
struct_data.pitch = -114.58;
struct_data.roll = 100.50;
char* data = new char[sizeof(struct_data)];
for(unsigned int i = 0; i<sizeof(struct_data); i++){
// cout << (char*)(&struct_data+i) << endl;
data[i] = (char*)(&struct_data+i); //Store the bytes of the struct to an array.
}
AMG_ANGLES* tmp = (AMG_ANGLES*)data; //Re-make the struct
cout << tmp.yaw; //Display the yaw to see if it's correct.
}
ソース: http://codepad.org/xMgxGY9Q
このコードは機能していないようで、何が間違っているのかわかりません。
これを解決するにはどうすればよいですか?