jenya7 0 23 сентября, 2021 Опубликовано 23 сентября, 2021 · Жалоба 1 hour ago, jcxz said: Только я что-то не заметил там у вас никакого кода. Или думаете этот флаг сам по себе все дела сделает? я его так и не задействовал. не понадобился. только сейчас дописал в него код. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jeka 0 6 декабря, 2021 Опубликовано 6 декабря, 2021 · Жалоба Еще одна казалось бы мелочь. Вы сбрасываете источник прерывания так: TIM17->SR &= ~TIM_SR_CCxIF; Эта операция не атомарна и преобразовывается компилятором в 3 команды: чтение регистра, сброс бита, запись в регистр. Теперь подумайте, что произойдет если между чтением и записью таймер установит флаг какого-то другого события? Статус считан без установленного флага события, потом таймер выставил событие, и при записи флаг события сбросится. Чтобы этого не было сбрасывать события надо так: TIM17->SR = ~TIM_SR_CCxIF; Согласно даташиту, все единичные биты игнорируются, а там где ноль - будет сброс. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться