title: C printf() in interrupt handler?
body: <p>I heard <code>printf()</code> in C is not supposed to be used in ISR. Is it because it's a blocking call, or is it because it's not re-entrant?</p>
  <p>If <code>printf()</code> is not re-entrant, then wouldn't it means that it can not be used for multi-thread program as well, unless it's 'synchronized' in some way?</p>