Если блинк по прерыванию -можно попробовать, спасибо за замечание. Я не был уверен что по прерыванию, про такое негде прочитать. Но если даже полупериод блинка меньше времени цикла, он вообще начнет глотать изменения состояния внутри цикла и будет генерить случайную лабуду. Прицел был взят на будущее время цикла около 10мс. Значит на блинке не менее 15/15мс должно быть? Это погрешность 15мс если ловить в счетчик оба фронта. Но если с этим мириться, то можно упростить и использовать блинк.
Еще стоит заметить что в симуляторе можно минимальное время цикла сделать только 100мс и значит в симуляторе блинк с малым периодом будет работать неправильно, этого не хочется.