• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Вопрос ШИМ\PWM на уровне железа

demplers

New member
Так и не смог разобраться есть ли у esp8266 поддержка ШИМ на уровне железа а не софтварная?
 

NutsXXXL

New member
@demplers
да вполне, хотя например в Arduino она выглядит как аналоговый выход:
// decode and scale it to max on PWM i.e. 1024
analogWrite(RED, ((rgb >> 16) & 0xFF)*4);
 

NutsXXXL

New member
@demplers наврал я :)
да pwm этот везде софтовый за счет прерываний от аппаратного таймера и массы кода
 

pvvx

Активный участник сообщества
а вот с этого места поподробнее, пожалуйста :)
А что мне за это будет?
Кинете копейку на форум? а то его ресурс пользуем... А тут уже точно пятая тема, где задаются одни и те-же вопросы. Или рекламу хоть потыкайте :)
Вот не дописанное, но как-то работает:
esp8266web/sigma_delta.c at master · pvvx/esp8266web · GitHub
В принципе не пошло, т.к. у детей макетки с длинными проводами и такой ВЧ ШИМ у них создает помехи приемнику WiFi. Т.е. вам придется принять доп.меры - разместить резистор непосредственно у выходной ножки ESP8266...
Графики и другое по этому вопросу ищите в других темах - они даны и всё описано, включая разные проблемы с этим.
 
Последнее редактирование:

NutsXXXL

New member
@Shara у меня вопрос был про вариацию с dma
i2c как я уже сказал можно извращнуттся
но есть и "базовый" способ в либах sdk и arduino
я сперва думал что это нормальный аппартный pwm как например в контроллерах avr
пои углублении в код либ arduino стало казаться что шим там практиески софтовый: то есть таймер генерирует прерывания но выходы управляются софтом по хитрым алгоритмам.
pwmlib в sdk судя по обрамлению вызовов устроена так же
а sigma-delta.c гораздо проще устроена. выглядит все "аппаратно"
в общем .. может быт все таки осилю посмотреть pdf
 

NutsXXXL

New member
в pdf тоже нешибко много но довольно однозначно.
сигма дельта вещь более менее аппартная. но она суть есть одноканальная - то есть нельзя на разные выходы разные параметры шим. с частотой причем непонятно - нет описания регистров. в примере от expresiff реализована 312 кгц. скважность 8битная.
через i2S метод хоть и в общем то аппаратный то так же одноканальный и 5 разрядный. в примере с mp3 есть вариации по выводу аналогово сигнала по i2s
а на много каналов с разной скважностью так и написано - валяйте софтом
 
Сверху Снизу