F401REにてアナログモデリングシンセもどきを作ってみました。 リングモジュレーターっぽいことやってみてます。正弦波、三角波、矩形波の関数が用意してあります。sin(2pift)のftをサンプリングレートごとに積分したものをiftとしてます。iftのポインタを関数に与えるだけで特に計算は入りません。
main.cpp
- Committer:
- gitakichi
- Date:
- 2016-07-20
- Revision:
- 1:1b9ca25019a6
- Parent:
- 0:1b56cf88e38c
- Child:
- 2:47210a089f76
File content as of revision 1:1b9ca25019a6:
#include "mbed.h" Ticker flipper; PwmOut mypwm(PC_8); DigitalOut myled(LED1); int data; void flip(){ if(data > 100) data = 0; else data++; } int main() { mypwm.period_us(10); flipper.attach_us(&flip, 50); //printf("pwm set to %.2f %%\n", mypwm.read() * 100); while(1) { mypwm.write( (float)data / 1000 ); //myled = !myled; //wait(1); } }