STM32 ITM第一个字符丢失。其他都可以发送

时间:2019-06-25 13:13:09

标签: c debugging stm32

也许有人知道问题出在哪里。

我使用SWV(SWO)ITM发送一些调试消息。我使用标准的CMSIS功能:

__STATIC_INLINE uint32_t ITM_SendChar (uint32_t ch)
{
  if (((ITM->TCR & ITM_TCR_ITMENA_Msk) != 0UL) &&      /* ITM enabled */
      ((ITM->TER & 1UL               ) != 0UL)   )     /* ITM Port #0 enabled */
  {
    while (ITM->PORT[0U].u32 == 0UL)
    {
      __NOP();
    }
    ITM->PORT[0U].u8 = (uint8_t)ch;
  }
  return (ch);
}

此宏的第一次调用始终不发送任何内容。 uC是STM32L476。

任何线索都很好。

0 个答案:

没有答案