[uquote="Ivanoff-iv",url="/forum/viewtopic.php?p=4430264#p4430264"]если делители и режимы настроены правильно, то ШИМ должен давать 3,9кГц на 1 МГц тактирования
1) режим ШИМ с фазовой коррекцией (вместо FastPWM) снижает частоту в 2 раза.
2) изменить (в т.ч. и выключить) деление тактовой частоты можно и не трогая фьюз SCDIV8, кодом:
Спойлер
Код: Выделить всё
// Crystal Oscillator division factor: 1
#pragma optsize-
CLKPR=(1<<CLKPCE);
CLKPR=(0<<CLKPCE) | (0<<CLKPS3) | (0<<CLKPS2) | (0<<CLKPS1) | (0<<CLKPS0);
#ifdef _OPTIMIZE_SIZE_
#pragma optsize+
#endif
3) фьюзы действуют всегда - и при работе и при программировании и если настроил работу на внешний кварц, то и при программировании (по крайней мере по ISP) кварц тоже нужен.
4) увеличить частоту ШИМ можно, снизив его разрешение т.е. если настроив счет не до 255 (3,9кГц на 1МГц тактирования), а до более малой величины, до 99 например (10кГц на 1 МГц тактирования)... для этого у таймера есть специальные режимы.[/uquote]
спасибо за код, но 10кГц не устроит, да и разобраться нужно, почему при изменении фьюзов возникают неполадки с платами Arduino, тут либо китайцы паяют не полноценные контроллеры либо программатор
Добавлено after 4 minutes 12 seconds:
[uquote="Martian",url="/forum/viewtopic.php?p=4430648#p4430648"]может, просто смотришь осциллографом гармонику, и если горизонтальную развертку покрутить, то внезапно станет счастье? и есть еще вариант - ШИМ не работает, зато срабатывает ватчдог.[/uquote]
Ага смешно конечно, но с фьюзами это не решит проблемку
в Протеусе выставил частоту на 1МГц и действительно на моем коде около 2кГц