Если ТР будет использоваться внутри схемы с неизменным выставленным временем никаких ошибок от нового ТР и не будет. Их и сейчас нет, если ТР используется с указанным временем больше нуля.
Вся загвоздка вызвана только тем, что кто-то хочет реализовать ТР со сбросом путем записи PT=0, которого в ОЛ просто нет.
Вы не учитываете, что у кого-то может использоваться TP с нулевой уставкой времени.
И у этого кого-то, на этой нулевой уставке может вся схема держаться.
Если поменять поведение, то схема может сломаться.
Поэтому подобные изменения TP и других блоков вредны. Они лишь дестабилизируют ОЛ в угоду маргиналам, которым лишь бы с PT=0 поразвлечься.
еще один аспект, как диагностировать. Например уставка формируется динамически, программист уверен что она не нулевая, а на самом деле из-за ошибок, на таймер подается ноль, сейчас что в ОЛ, что в КДС можно обнаружить импульс/ы, а предложение что то изменить приведдет к тому что если при нуле ничего не будет происходить где искать причину.
Bad programmers worry about the code. Good programmers worry about data structures and their relationships
среди успешных людей я не встречала нытиков
Барбара Коркоран
Код:/* ------------------- TP ------------------- */ TP::TP() { IN = false; PT = 0; _M = false; _StartTime = 0; Q = false; ET = 0; } TP::TP(unsigned long PT) { IN = false; TP::PT = PT; _M = false; _StartTime = 0; Q = false; ET = 0; } boolean TP::Run(boolean IN) { TP::IN = IN; if (!_M) { if (TP::IN) { _M = true; // взводим флаг М _StartTime = millis(); if (ET < PT) Q = true; } } else { if (Q) { ET = millis() - _StartTime; // вычисляем время if (ET >= PT) Q = false; } else { if (!TP::IN) { _M = false; ET = 0; } } } return Q; }
Код реализации ТР на ПК - паразитных импульсов при PT=0 НЕТ. что не так с программированием ?
Последний раз редактировалось melky; 19.02.2018 в 10:25.
Владимир Ситников если в программе кому-то необходим импульс, то человек просто будет использовать R_Trig без всяких TP с нулевой уставкой. Нет?, я ошибаюсь и применять будут именно ТР ?
capzap ну, наверное будут, зная фича-багу, что при 0 импульс есть. Соглашусь. Но лично меня подобные поведения всегда пугали и подобное никогда не использовал.
Что вы докапались до ТР , при нулевых уставках так же работает R ,F триггер ,а так же блинк при нулях будет выдавать период 2цикла и счетчик будет считать импульсы если вы его прицепите ко входу и будите дергать питание ,а на входе будет 1.А так же D триггер отработает фронт по входу С. Все ФБ которые работают по фронту отработают при включении питания ,если на входе ранее стояла 1....Это знают все электронщики .!
электронщик до мозга костей и не только