Я пока ещё сам не до конца прощупал баг. Но склоняюсь к тому, что с регистром PWMLER при независимой установке (изменении) MACH каналов нужно работать в битовом режиме, а не как с ххIR регистрами, в которые достаточно просто записывать не читая. Баг например заключается в том, что если установить в PWMLER бит, а потом его сбросить, то соответствующий канал установится не в то значение, которое нах-ся в PWMMRx.
Где-то в описании на PWMLER нашёл, что биты в нём сбрасываются автоматически по смене текущего периода ШИМа. Но опять же работая с этим регистром в битовом режиме может возникнуть любимый баг NXPшников в аппаратном несбрасывании бита к которому в данный момент есть программный доступ. Вообще, если бы разработчики периферии делали всё по-умному, то они бы не стали так делать, а сделали бы этот регистр по аналогии с IOSET, то есть с возможностью только установки стробов (и автоматическим аппаратным сбросом).
--------------------
Заблуждаться - Ваше законное право :-)
|