[Решено] Как изменить pwmwrite freq?

мелодичный
Пн, 5 октября 2015 г., 17:22
Мне нужно использовать более 500 Гц для создания звука, но я не могу менять PWM FREQ. Как это сделать?

Mrburnette
Пн, 5 октября 2015 г., 19:05
Мелодич написал:Мне нужно использовать более 500 Гц для создания звука, но я не могу менять PWM FREQ. Как это сделать?

мелодичный
Вт 06 октября 2015 г., 15:34
У меня такая же проблема. Затем я использую Setoverflow, затем SWM остановитесь на работе.
compiler.cpp.flags=-c -g -Os {compiler.warning_flags} -std=gnu++11 -MMD -ffunction-sections -fdata-sections -nostdlib --param max-inline-insns-single=500 -fno-rtti -fno-exceptions -DBOARD_{build.variant} -D{build.vect} -DERROR_LED_PORT={build.error_led_port} -DERROR_LED_PIN={build.error_led_pin}

Мадиас
Вт 06 октября 2015 г. 16:57
Я думаю, что медленная частота ШИМ вызвана более высокой битрейной (16 -битной и 8 -битной):
http: // Leaflabs.com/docs/lang/api/analogwrite.HTML
Итак, максимум составляет около 1.1 кГц.
Я не исследовал дальше (создание ШИМ из ядра), потому что я перешел на восьмиугольный ЦАП для своего проекта.

мелодичный
Ср. 07 октября 2015 г. 15:01
Решен. compiler.cpp.flags=-c -g -Os {compiler.warning_flags} -std=gnu++11 -MMD -ffunction-sections -fdata-sections -nostdlib --param max-inline-insns-single=500 -fno-rtti -fno-exceptions -DBOARD_{build.variant} -D{build.vect} -DERROR_LED_PORT={build.error_led_port} -DERROR_LED_PIN={build.error_led_pin}

Mrburnette
Пт 09 октября 2015 г. 12:37
Мелодич написал:Решен.

монсонт
Пн 26 октября 2015 г. 15:45
Привет, Роджер & Все,

Я ищу дополнительную вывод ШИМ из нескольких булавок, как часть моего проекта микросолярного инвертора

У кого -нибудь есть код для поддержки этого режима таймера - который совместим с функцией pwmwrite?


заранее спасибо


Кен

Mrburnette
Пн 26 октября 2015 г., 23:32
Монсонит написал:Привет, Роджер & Все,
Я ищу дополнительную вывод ШИМ из нескольких булавок, как часть моего проекта микросолярного инвертора
У кого -нибудь есть код для поддержки этого режима таймера - который совместим с функцией pwmwrite?
заранее спасибо
Кен

монсонт
Вт 27 октября 2015 г. 8:08
Спасибо, Рэй,

Я действительно просто хотел знать, были ли средства для выбора бесплатного режима в реализацию библиотеки "Leaf Labs".


Кен

Mrburnette
Вт 27 октября 2015 г. 11:55 утра
Монсонит написал:Спасибо, Рэй,
Я действительно просто хотел знать, были ли средства для выбора бесплатного режима в реализацию библиотеки "Leaf Labs".
Кен

Исмаил.кал
Ср. 02, 2016 12:33
Как мы хотим произвести до 100 кГц с помощью клена . Как мне нужны расчеты частоты ШИМ

Rogerclark
Ср. 02 марта 2016 г., 21:23
@ismail.кал

Не пересекайте пост.

Несколько человек ответили на вашу другую ветку.

Я удалю вашу публикацию в эту ветку как ненужную

Davecalaway
Солнце 29 января 2017 14:36
Мелодич написал:Решен. --specs=nano.specs

Фари
Пт, 08 сентября 2017 г. 20:22
Привет, Дэйв!
Вы код не работает, потому что вы pwmwrite находятся в цикле, и он постоянно перезаписывает сигнал.

Вот код, который работает
#define pwm_out pa8 // pwm
#define PWM_OUT_COMP PB13 // Дополнительный вывод
void setup () {

// Инициализировать цифровой PIN PC13 в качестве вывода.
pinmode (PC13, выход);
Hardwaretimer Timer1 = Hardwaretimer (1);

таймер1.SetPrescaleFactor (1);
таймер1.SetPeriod (2041); // 490
// таймер1.setPeriod (10); // 100 кГц


pinmode (pwm_out, pwm); // в идеале это будет сделано так же мудро, как я точно не знаю, что здесь установлено..
pinmode (pwm_out_comp, pwm);


timer_dev *t = timer1; // ссылается на T -таймер 8 местоположение памяти, как прочитать обратно?
timer_reg_map r = t->рег;

Битсет (р.адвла->Ccer, 0); // это должно включить бесплатные выходы
Битсет (р.адвла->Ccer, 2);
pwmwrite (pwm_out, 10); //



}

void loop () {

// Я жив
DigitalWrite (PC13, High); // включить светодиод (высокий уровень напряжения)
// DigitalWrite (PA5, High); // включить светодиод (высокий уровень напряжения)
задержка (1000); // ждать секунды
DigitalWrite (PC13, Low); // выключить светодиод, сделав напряжение низким
// DigitalWrite (PA5, Low); // выключить светодиод, сделав напряжение низким
задержка (1000);
}

STM32WB - DualCore с 2.4 ГГц радио