工具/软件:
大家好、德州仪器 (TI) 工程师
我正在使用 CC1312R Launchpad 调试来自 MPU6050(陀螺仪和加速计)的一些数据。 当处理数据并将其放置在 UART 中以打印 PuTTY 时、不会打印浮点值。
我咨询过以下链接:
TMS320F28379D:如何启用浮点值打印? - C2000 微控制器论坛 — C2000 μ︎ 微控制器 — TI E2E 支持论坛
如何在 UART 上打印浮点值 — 基于 Arm 的微控制器论坛 — 基于 Arm 的微控制器 — TI E2E 支持论坛
他们都没有为我提供解决办法。
有人能指导我解决这个问题吗?
提前感谢您。
CC1312R
SDK simplelink_cc13xx_cc26xx_sdk_7_40_00_77

void *MPU6050Thread(UArg arg0, UArg arg1) {
char buffer[128];
UART2_Handle uart;
int16_t ax_raw, ay_raw, az_raw, gx_raw, gy_raw, gz_raw;
float Ax, Ay, Az, Gx, Gy, Gz;
size_t bytesWritten = 0;
I2C_Params i2cParams;
I2C_Params_init(&i2cParams);
i2cParams.bitRate = I2C_400kHz;
i2c = I2C_open(CONFIG_I2C_0, &i2cParams);
UART2_Params uartParams;
UART2_Params_init(&uartParams);
uartParams.baudRate = 115200;
uart = UART2_open(CONFIG_UART2_0, &uartParams);
if (i2c == NULL || uart == NULL) {
while (1); // Error
}
MPU6050_init();
while (1) {
MPU6050_readRaw(&ax_raw, &ay_raw, &az_raw, &gx_raw, &gy_raw, &gz_raw);
Ax = ax_raw / ACCEL_SCALE;
Ay = ay_raw / ACCEL_SCALE;
Az = az_raw / ACCEL_SCALE;
Gx = gx_raw / GYRO_SCALE;
Gy = gy_raw / GYRO_SCALE;
Gz = gz_raw / GYRO_SCALE;
bytesWritten = snprintf(buffer, sizeof(buffer),"A: %.2f, %.2f, %.2f | G: %.2f, %.2f, %.2f\r\n",Ax, Ay, Az, Gx, Gy, Gz);
UART2_write(uart, &buffer, strlen(buffer), &bytesWritten);
Task_sleep(100 * (1000 / Clock_tickPeriod)); // 1000 ms
}
}
