25 lines
937 B
C++
25 lines
937 B
C++
#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;
|
|
}
|