т.е. в этом контроллере кроме прерываний по входу есть прерывания по расписанию и можно запустить очень шустрые цыклы в 20мкс и при этом останется время на работу основной проги и прочие хоз.нужды контроллера? т.е. Вы это советуете???
Наверно я неправ если думаю что прерывание по входу, или по какому либо событию отрабатывает только один раз на возникновение этого события???
Задержку внутри прерываний можно организовать только циклом, если выход можно обновить только после окончания прерывания, то в этом контроллере не получится включать разные выхода в разное время в течении одного прерывания.
Запустить несколько прерываний одновременно? Одновременно будет выполнятся только одно прерывание с самым старшим приоритетом, после его выполнения следующее с меньшим. обычно так и в контроллерах и в компьютерах.
Попробуйте сделать фазоимпульсное на 4 симистора в каждый полупериод до 85-90% от полупериода. Я за это не берусь, т.к. с этим контроллером знаком поверхностно. Я просто подкинул идею из своего опыта на очень стареньком контроллере, в котором for даже небыло, но были обратные переходы по условию. и немедленная регенерация выхода по команде
Про "чудеса" улыбнуло... действительно нужно понимать простую истину что время на месте не стоит и прерывание может появится в любой момент исполнения основной проги. даже в тот момент когда для выполнения какой то функции уже прочитана часть Dint а прерывание уже изменило значение на отрицательное? с каким числом тогда отработает функция если проц читает из памяти только по 16 бит? что в этом сложного?





Ответить с цитированием