мелодичный
Пн, 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 кГц.
Я не исследовал дальше (создание ШИМ из ядра), потому что я перешел на восьмиугольный ЦАП для своего проекта.
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?
заранее спасибо
Кен
Я ищу дополнительную вывод ШИМ из нескольких булавок, как часть моего проекта микросолярного инвертора
У кого -нибудь есть код для поддержки этого режима таймера - который совместим с функцией pwmwrite?
заранее спасибо
Кен
Mrburnette
Пн 26 октября 2015 г., 23:32
Монсонит написал:Привет, Роджер & Все,
Я ищу дополнительную вывод ШИМ из нескольких булавок, как часть моего проекта микросолярного инвертора
У кого -нибудь есть код для поддержки этого режима таймера - который совместим с функцией pwmwrite?
заранее спасибо
Кен
Я ищу дополнительную вывод ШИМ из нескольких булавок, как часть моего проекта микросолярного инвертора
У кого -нибудь есть код для поддержки этого режима таймера - который совместим с функцией pwmwrite?
заранее спасибо
Кен
монсонт
Вт 27 октября 2015 г. 8:08
Спасибо, Рэй,
Я действительно просто хотел знать, были ли средства для выбора бесплатного режима в реализацию библиотеки "Leaf Labs".
Кен
Я действительно просто хотел знать, были ли средства для выбора бесплатного режима в реализацию библиотеки "Leaf Labs".
Кен
Mrburnette
Вт 27 октября 2015 г. 11:55 утра
Монсонит написал:Спасибо, Рэй,
Я действительно просто хотел знать, были ли средства для выбора бесплатного режима в реализацию библиотеки "Leaf Labs".
Кен
Я действительно просто хотел знать, были ли средства для выбора бесплатного режима в реализацию библиотеки "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);
}
Вы код не работает, потому что вы 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);
}