История изменений
Исправление shkolnick-kun, (текущая версия) :
Ну когда я писал этот кусок кода мне казалось, что это будет все равно быстрее.
Не будет! Твёрдо и четко!(Ц)
Как минимум из-за сохранения/восттановления контекста при обработке прерывания.
Вот про это я вообще не думал. Мне почему-то казалось, что оно не может возникнуть параллельно: будет два параллельных прерывания на два флага – надо будет подумать как это решить.
Так почитай rm на свой микроконтроллер!
При определённом стечении обстоятельств флаги RCC_CIR_HSERDYF, RCC_CIR_HSIRDYF, RCC_CIR_PLLRDYF могут быть выставлены одновременно, т.к. их сброс происходит только программно.
Скорее всего, выполнится только один case и я буду вечно крутиться
Ничего у тебя не выполнится, и основной поток заблокируется навсегда.
Рекомендую ознакомиться с ISO/IEC 9899:2011 и более старыми версиями стандарта.
Исправление shkolnick-kun, :
Ну когда я писал этот кусок кода мне казалось, что это будет все равно быстрее.
Не будет! Твердо и четко!(Ц)
Как минимум из-за сохранения/восттановления контекста при обработке прерывания.
Вот про это я вообще не думал. Мне почему-то казалось, что оно не может возникнуть параллельно: будет два параллельных прерывания на два флага – надо будет подумать как это решить.
Так почитай rm на свой микроконтроллер!
При определенном стечении обстоятельств флаги RCC_CIR_HSERDYF, RCC_CIR_HSIRDYF, RCC_CIR_PLLRDYF могут быть выставлены одновременно, т.к. их сброс происходит только программно.
Скорее всего, выполнится только один case и я буду вечно крутиться
Ничего у тебя не выполнится, и основной поток заблокируется навсегда.
Рекомендую ознакомиться с ISO/IEC 9899:2011 и более старыми версиями стандарта.
Исправление shkolnick-kun, :
Ну когда я писал этот кусок кода мне казалось, что это будет все равно быстрее.
Не будет твердо и четко!(Ц)
Как минимум из-за сохранения/восттановления контекста при обработке прерывания.
Вот про это я вообще не думал. Мне почему-то казалось, что оно не может возникнуть параллельно: будет два параллельных прерывания на два флага – надо будет подумать как это решить.
Так почитай rm на свой микроконтроллер!
При определенном стечении обстоятельств флаги RCC_CIR_HSERDYF, RCC_CIR_HSIRDYF, RCC_CIR_PLLRDYF могут быть выставлены одновременно, т.к. их сброс происходит только программно.
Скорее всего, выполнится только один case и я буду вечно крутиться
Ничего у тебя не выполнится, и основной поток заблокируется навсегда.
Рекомендую ознакомиться с ISO/IEC 9899:2011 и более старыми версиями стандарта.
Исходная версия shkolnick-kun, :
Ну когда я писал этот кусок кода мне казалось, что это будет все равно быстрее.
Не будет твердо и четко! (С) Как минимум из-за сохранения/восттановления контекста при обработке прерывания.
Вот про это я вообще не думал. Мне почему-то казалось, что оно не может возникнуть параллельно: будет два параллельных прерывания на два флага – надо будет подумать как это решить.
Так почитай rm на свой микроконтроллер!
При определенном стечении обстоятельств флаги RCC_CIR_HSERDYF, RCC_CIR_HSIRDYF, RCC_CIR_PLLRDYF могут быть выставлены одновременно, т.к. их сброс происходит только программно.
Скорее всего, выполнится только один case и я буду вечно крутиться
Ничего у тебя не выполнится, и основной поток заблокируется навсегда.
Рекомендую ознакомиться с ISO/IEC 9899:2011 и более старыми версиями стандарта.