Что-то вы не договариваете. Если while(1), значит, срабатывание по
таймауту происходит. По какому? По тому, по которому вызывается
макрос? А если прошагать? С чего прыжок? Условие какое-то должно
быть, должно сработать. Ну и наполнение этого вывода какое-то
осмысленное должно быть. Нужно его поймать. Сделайте, в конце-концов, буфер в памяти байт на 256. И выведите в него вызовы этой заглушки. Что оно туда печатает?