ничего не светится постоянно. Забыл в схемке дорисовать резюк между G и S. Когда выход становится входом этот резюк тянет G к земле и все закрыто наглухо.
Действительно шим управляется регистром TRIS порта, но это вроде как штатный режим, судя по мануалу. Да и там в любом случае при перезаливке регистра длительности импульса надо отключать генерацию и дожидаться переполнения таймера 2 для старта т.н. чистого цикла. Могу ошибаться конечно, так как опыта программирования именно контроллеров с их специфическим железом нет. Возможно второй метод лучше. Хотя сдается мне - и так и так по сути нормально ))) У меня же длительность импульсов никогда не меняется, поэтому решил что трогать регистр длительности смысла особого нет. Требуется всего то выдать пачку импульсов с частотой 56 кГц на выход на определенное время. Хай себе генерит всю дорогу наздоровье.
Наверняка там можно переписать и красивее. Исходники то открытые
мне просто показалось что дергать TRIS менее затратно по ресурсам и проще по реализации. Ну и логический анализатор показал, что пакет выходит идеальный. Отклонения в таймингах не больше 3 микросекунд, хотя частота импульсов не совсем 56, а 55,555 кГц. Но у LW все так же, и работает. Добиться ровно 56 не получается изза того что частота тактирования никогда не будет кратна делителю, а навешивать кварц ради исправления ошибки неохота. Тем более что итак отлично работает