Всё правильно, для реализации функции millis использован таймер 0 по прерыванию. Это нормальная практика. Так, например, сделано в Arduino. И если запретить прерывания, то функция millis в Arduino считать время не будет.
@@dmitrykuznetsov5468 Да, но тогда не нужно декларировать 12:30!! Всё с задержками и все с проблемами... Этот код стабильно не работает и в переполнениях сбоит! Его никак нельзя интерпретировать как замену arduino-скому millis!!
@@SevenNightdreemVeryPavlovny По моему мнению один из самых удачных компиляторов с очень удобным генератором кода. + учебник Лебедева М.Б. "CodeVisionAVR. Пособие для начинающих". Вот бы такой компилятор для STM32)
Очень полезное видео!
Но огромная просьба автору решить вопрос с микрофоном и записью голоса
Спасибо. Над голосом поработаем)
Ну дык "таймер 0" все равно прерывает программу каждую миллисекунду. Как же ж без прерываний основной программы происходт?
Всё правильно, для реализации функции millis использован таймер 0 по прерыванию. Это нормальная практика. Так, например, сделано в Arduino. И если запретить прерывания, то функция millis в Arduino считать время не будет.
@@dmitrykuznetsov5468 Да, но тогда не нужно декларировать 12:30!! Всё с задержками и все с проблемами... Этот код стабильно не работает и в переполнениях сбоит! Его никак нельзя интерпретировать как замену arduino-скому millis!!
Почему count_ms без volatile?
Вы правы, правильно сделать volatile.
Правильнее было бы забыть о CVavr как о страшном сне 😊
@@SevenNightdreemVeryPavlovny По моему мнению один из самых удачных компиляторов с очень удобным генератором кода. + учебник Лебедева М.Б. "CodeVisionAVR. Пособие для начинающих". Вот бы такой компилятор для STM32)
@@dmitrykuznetsov5468 генератор удобный, такой же есть и для СТМ, даже лучше, компилятор фигня, не полностью поддерживает си
@@SevenNightdreemVeryPavlovny А каким лучше пользоваться?
К сожалению очень плохой звук, при хорошей подаче материала.