ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
26 апреля
1005141 Топик полностью
Vit (16.05.2020 22:33, просмотров: 691) ответил Aleksey_75 на ээээ, трешак!! я так понял эта функция заточена чтоб не использовать прерывания, паэтому сидим и ждем, чем ниже битрейд тем больше ждем ))
Не вижу ничего страшного. Вот prinf() в обработчике это жесть 

Вот выдрал из обычного проекта с LwIP

__STATIC_INLINE uint32_t _ITM_SendChar (uint32_t ch)
{

  if ((ITM->TCR & ITM_TCR_ITMENA_Msk) && /* ITM enabled */

      (ITM->TER & (1UL << 0) ) ) /* ITM Port #0 enabled */
  {
    while (ITM->PORT[0].u32 == 0){
      ;
    }

    __ISB();

    ITM->PORT[0].u8 = (uint8_t) ch;
  }

  return (ch);
}

Почти то же, разве что барьер добавлен