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