PWM на три канала

Vento
Offline
Зарегистрирован: 20.07.2020

Добрый день друзья. Может кто то подсказать салаге, как правильно реализовать код, шим на четыре порта  для ардуино нано, два по 10 кГц и два по 15 Кгц. С постоянной скважностью 50%.

sadman41
Offline
Зарегистрирован: 19.10.2016

А зачем два по 10, если можно запараллелить?

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

Может быть нужен сдвиг по времени, забыл как это правильно (фаза?). 

Vento
Offline
Зарегистрирован: 20.07.2020

Чирканите кому не трудно несколько строк кода, хотя бы просто PWM с разной частотой на два порта. Дальше сам попробую понять. Учусь, читаю, трудно даётся.

 

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

на сайте всё есть, ищите, таймера

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Vento пишет:

Чирканите кому не трудно несколько строк кода, хотя бы просто PWM с разной частотой на два порта. 

А поискать на форуме? Трудно? Или с религией что-то? Вот, например, на 40 кГц на двух пинах.

Vento
Offline
Зарегистрирован: 20.07.2020

Спасибо за пинок, по Вашему примеру слепил, коряво, но на скорую руку срочно, нужно было два шима (меандра) на 15,3 и 10,1 кГц. 

Как бы задачу выполнил).

Если Вас не сильно затруднит, подскажите, как сделать, чтоб код в ардуино нано стартовал сразу после подачи питания Vin? Без паузы.

void setup() {
  pinMode(9, OUTPUT);
  cli();
  TCCR1A = bit(COM1A0) | bit(COM1A1);
  TCCR1B = bit(WGM13) | 1;
  ICR1 = 520;
  OCR1A = OCR1B = 260;
  sei();
  pinMode(LED_BUILTIN, OUTPUT);
}
 
void loop() {
  digitalWrite(LED_BUILTIN, HIGH); 
  delayMicroseconds(48);                      
  digitalWrite(LED_BUILTIN, LOW);    
  delayMicroseconds(48);                       
}

 

b707
Offline
Зарегистрирован: 26.05.2017

Vento пишет:

Если Вас не сильно затруднит, подскажите, как сделать, чтоб код в ардуино нано стартовал сразу после подачи питания Vin? Без паузы.

удалить загрузчик

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

b707 пишет:

Vento пишет:

Если Вас не сильно затруднит, подскажите, как сделать, чтоб код в ардуино нано стартовал сразу после подачи питания Vin? Без паузы.

удалить загрузчик

и прошивать уже нужно будет через программатор. Это предупреждая вопрос «удалил загрузчик и ничего не прошивается».