RISC-V/V203/pwm/main.cpp

26 lines
937 B
C++
Raw Normal View History

2024-05-07 15:50:51 +02:00
#include "pwmclass.h"
#include "generator.h"
////////////////////////////////////////////////////////
/* Demonstrace PWM s použitím DMA
* Generátor je sinus, data se tvoří
* v přerušení. Parametry se musí nastavit
* ve zdrojácích, je to jen DEMO.
*
* Proti V003 se to zase tak moc neliší.
* Pouze piny jsou jinak (PA7,PA8) a rozlišení
* PWM může být 3x lepší kvůli rychlejším hodinám.
* */
////////////////////////////////////////////////////////
static constexpr double fs = SYSTEM_CORE_CLOCK / MAXPWM;
static constexpr unsigned long operator ""_Hz (const long double a) {
return a * double (1ull << 32) / fs; // fs je opět 24kHz
}
////////////////////////////////////////////////////////
int main () {
PwmClass pwm; // takto na zásobníku
Generator gen (440.0_Hz); // to na V003 nefungovalo
pwm.attach(gen); // ale i tak nedoporučuji !!!
for (;;);
return 0;
}