ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Среда
17 июля
1439522 Топик полностью
Idler (30.05.2024 16:16, просмотров: 43) ответил Aleksey_75 на помимо флага прерывания проверяйте еще и бит разрешения прерывания и будет щастье!
Зачем? Прерывание, естественно, разрешено, иначе как бы это работало? Значение регистра сравнения меняется, при остальных значениях моменты сравнения и переполнения не совпадают, порядок обработки не важен - в каждом прерывании только одно из них. А при максимальном значении они совпали в одном прерывании, соответственно нужно порядок обработки согласовывать с логикой программы. А если бы этого "лишнего" прерывания не было - то не нужно. Но можно перед записью в 

регистр данных сравнивать с периодом, и если = делать +1. Прерывания не будет и можно не пудрить себе мозг, а заодно уменьшить длительность прерывания в этом случае. Или, действительно, при этом значении запретить это прерывание. Его опять-таки не будет. То есть, вариантов всего 2: или прерывание пришло и его надо обработать, или его нет и его не надо обрабатывать. В обоих случаях, проверять разрешение - бессмысленно...