Ну я вон выше картинку кидал, когда инструкции по работе с портами и задержкой в один поток ушли, а с спи в другой
Это не так, ты ошибаешься.
Там просто криво transceve написан и скорее всего нужно дождаться флажка RXNE, например, после выполнения функции