diff --git a/apps/earphone/xtell_Sensor/send_data.c b/apps/earphone/xtell_Sensor/send_data.c index 9c5046b..560d918 100644 --- a/apps/earphone/xtell_Sensor/send_data.c +++ b/apps/earphone/xtell_Sensor/send_data.c @@ -196,8 +196,16 @@ void BLE_send_fuc(void){ imu_packet[2] = IMU_PAYLOAD_LEN; imu_packet[3] = IMU_TYPE; // 拷贝六轴数据 - memcpy(&imu_packet[4], data_to_send.SC7U22_data, sizeof(data_to_send.SC7U22_data)); - + // memcpy(&imu_packet[4], data_to_send.SC7U22_data, sizeof(data_to_send.SC7U22_data)); + for (int i = 0; i < 6; i++) { + // SC7U22_data[i] 是一个 signed short (2字节) + // 将其低字节放在前面 + imu_packet[4 + i * 2] = (uint8_t)(data_to_send.SC7U22_data[i] & 0xFF); + // 将其高字节放在后面 + imu_packet[4 + i * 2 + 1] = (uint8_t)((data_to_send.SC7U22_data[i] >> 8) & 0xFF); + } + // xlog("imu %d\n",data_to_send.SC7U22_data[0]); + // xlog("imu_packet: 0x%x 0x%x 0x%x\n",imu_packet[4],imu_packet[5],imu_packet[6]); send_data_to_ble_client(&imu_packet, IMU_PACKET_LEN); } @@ -216,7 +224,11 @@ void BLE_send_fuc(void){ mag_packet[2] = MAG_PAYLOAD_LEN; mag_packet[3] = MAG_TYPE; // 拷贝磁力计数据 - memcpy(&mag_packet[4], data_to_send.mmc5603nj_buffer, sizeof(data_to_send.mmc5603nj_buffer)); + // memcpy(&mag_packet[4], data_to_send.mmc5603nj_buffer, sizeof(data_to_send.mmc5603nj_buffer)); + for (int i = 0; i < 9; i++) { + mag_packet[4 + i] = data_to_send.mmc5603nj_buffer[i]; + } + // xlog("mag: 0x%x 0x%x 0x%x\n",mag_packet[4],mag_packet[5],mag_packet[6]); send_data_to_ble_client(&mag_packet, MAG_PACKET_LEN); }