wb_editors
556
правок
Vdromanov (обсуждение | вклад) |
Vdromanov (обсуждение | вклад) |
||
Строка 7: | Строка 7: | ||
==О ШИМ и пересчёт параметров==<!--T:2--> | ==О ШИМ и пересчёт параметров==<!--T:2--> | ||
ШИМ - это | [[Файл:Duty_cycle.gif|440px|thumb|right|Duty cycle управляет яркостью светодиодов/громкостью buzzer'a]] | ||
ШИМ (PWM) - это распространённый способ управления мощностью, подаваемой к нагрузке. Подробнне о том, что такое ШИМ можно узнать из сторонних ресурсов. | |||
<!--T:2--> | |||
В контексте управления Buzzer'ом, нас интересуют 2 параметра PWM: | |||
*Коэффициент заполнения (duty cycle) - влияет на громкость звука. Обычно, считается в процентном соотношении от периода сигнала. | |||
*Частота PWM (frequency) - влияет на высоту звука (чем выше частота, тем выше и звук). Единица, обратная периоду сигнала. | |||
<!--T:2--> | |||
Ядро Linux предоставляет интерфейс sysfs для pwm, который принимает частоту pwm и duty cycle в '''наносекундах (1E-9c)'''! Поэтому, для низкоуровневого управления Buzzer'ом нужно производить пересчёт желаемой частоты из KHz в период в наносекундах по формуле: | |||
<b> | |||
T(ns) = 1 000 000 / f(kHz) | |||
</b> | |||
==Низкоуровневая работа==<!--T:3--> | ==Низкоуровневая работа==<!--T:3--> |