lvluoo 发表于 2025-8-20 23:08

如何在控制台中显示数组中的数据?

控制台返回奇怪的符号。我使用USART1(STM32F7508-DK)向控制台发送一些数据。

使用以下简单数据时没有问题:程序似乎在第四次迭代(i=3)后退出 print_to_console() 并进入 int main() 中的 while(1) 循环。

uint8_t data[] = "HELLO! \r\n";

HAL_UART_Transmit(&huart1, data, sizeof(data), 1000);

但使用以下代码显示数值时:
while (1)
{
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
          HAL_StatusTypeDef ret = HAL_ERROR;
          uint8_t ACCEL_ADDR;
          ACCEL_ADDR = 0xD0;
       
          ret = HAL_I2C_IsDeviceReady(&hi2c1, ACCEL_ADDR, 1, 100);

          ret = HAL_I2C_Master_Transmit(&hi2c1, ACCEL_ADDR, &pData, 2, 50);

          ret = HAL_I2C_Master_Receive(&hi2c1, ACCEL_ADDR | 0x01, convtempData, 128, 150);

          print_to_console(convtempData);
}
void print_to_console(uint8_t* convtempData)
{
        uint8_t space[] = " ";
        for(int i = 0; i < sizeof(convtempData); i++)
        {
                HAL_UART_Transmit(&huart1, convtempData, sizeof(convtempData), 1000);
                HAL_UART_Transmit(&huart1, space, sizeof(space), 1000);
        }
}



页: [1]
查看完整版本: 如何在控制台中显示数组中的数据?