我很好奇,既然可以使用SEGGER_RTT_SetTerminal分页查看输出的信息,那SEGGER_RTT_printf函数的第一个参数是什么用呢?难道是使用不同的缓冲区吗?如果是的话,那么应该如何配置呢,我使用如下配置,但是只有"Hello from Terminal 0!\n"被打印
[C] 纯文本查看 复制代码 SEGGER_RTT_Init();
SEGGER_RTT_ConfigUpBuffer(1, "LOG", RTT_ONE_Buffer, sizeof(RTT_ONE_Buffer), SEGGER_RTT_MODE_NO_BLOCK_TRIM);
SEGGER_RTT_ConfigUpBuffer(2, "DATA", RTT_TWO_Buffer, sizeof(RTT_TWO_Buffer), SEGGER_RTT_MODE_NO_BLOCK_TRIM);
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
SEGGER_RTT_SetTerminal(0);
SEGGER_RTT_WriteString(0, RTT_CTRL_TEXT_BRIGHT_GREEN "Hello from Terminal 0!\n" RTT_CTRL_RESET);
HAL_Delay(1000);
// Buffer 1: 日志
SEGGER_RTT_SetTerminal(1);
SEGGER_RTT_WriteString(1, RTT_CTRL_TEXT_BRIGHT_YELLOW "[LOG] Hello from Buffer 1!\n" RTT_CTRL_RESET);
HAL_Delay(1000);
// Buffer 2: 数据
SEGGER_RTT_SetTerminal(2);
SEGGER_RTT_printf(2, "[DATA] timestamp: %d\n", HAL_GetTick());
HAL_Delay(1000);
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
} |