Всем привет!
Я пытаюсь на Arduino Uno (Mega328P) сделать шим 100 герц.
Нашел в интернете вот такую формулу для расчета частоты шим:
Частота ШИМ = (частота кварца/предделитель) / (размер счетного регистра *2).
Кварц в ардуине 16 МГц. Подставлял все пердделители менял битность таймера, но ниже 122 герц сделать шим не получилось.
Граждане дорогие, помогите кто чем может. Вот мой простенький код:
$map ' Ïîëó÷àåì êàðòó ðàñïðåäåëåíèÿ ïàìÿòè $regfile = "m328pdef.dat" $crystal = 16000000 $framesize = 128 'ðàçìåð îáëàñòè èñïîëüçóåìîé è íåîáõîäèìîé äëÿ ïðåîáðàçîâàíèé $hwstack = 128 ' Ðàçìåð àïïàðàòíîãî ñòåêà $swstack = 128 ' Ðàçìåð ïðîãðàììíîãî ñòåêà Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Down , Prescale = 256 Config Adc = Single , Prescaler = 128 , Reference = Avcc Dim R As Word Dim R1 As Word Dim R2 As Word Dim W As Byte Start Adc Pwm1a = 0 Do R = Getadc(0) R1 = R / 4 W = R1 If R2 <> R1 Then Pwm1a = W R2 = R1 End If Loop End