LINUX.ORG.RU

История изменений

Исправление 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 и более старыми версиями стандарта.