• Система автоматизации с открытым исходным кодом на базе 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
а на много каналов с разной скважностью так и написано - валяйте софтом
 
Сверху Снизу