Проблема в том, что МК и так, сам по себе не из простых устройство, так ещё и многие начинающие сразу лезут на высокий уровень, вообще не понимая, что и как происходит.
Я не о тебе сейчас, а в целом.
Посмотри, во что скомпилировался твой код. Потом выясняй в доках к компилятору, как организовать цикл, как происходит работа с портами.
А так - МК сам по себе, повторяюсь, очень сложен, да еще "правила игры" компилятора добавляются.