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

[复制链接]
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);
        }
}

9335668a5e4d34374e.png

您需要登录后才可以回帖 登录 | 注册

本版积分规则

43

主题

69

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部