Hi everyone,

Could someone explain me how does this do..while work? What is the purpose of while (!m_finished)? How the loop will break if while (0)?

Code:
#define WAIT_FOR_PERIPH() \
  do {                    \
    while (!m_finished) { \
    }                     \
    m_finished = false;   \
  } while (0)
Thanks Nick