В эти дни я решил проблему ложной записи в регистр. Проблема заключалась в том, что я много писал в регистре вывода GPIO (LPC_GPIO_PORT-> SET [1]) в основном l oop. В процедуре прерывания я записывал в те же самые регистры, и когда прерывание происходило как раз в то время, когда эти регистры записывались в основной l oop, по возвращении из прерывания изменения в эти регистры отбрасывались и заменялись теми, которые были записаны. в регистр перед вводом прерывания.
Я использую микроконтроллер LPC1549. Запись в регистр прерываний используется для управления двигателем BLD C, поэтому вы можете слышать громкий удар от двигателя каждые 10-30 секунд. Сокращая регистры записи в основном l oop, я полностью устранил проблему. Вопрос в том, одинаковы ли все регистры в микроконтроллере? Я не могу найти что-либо, описывающее эту проблему, которая может быть серьезной, а также трудно найти, когда она начинает вызывать проблемы.