Nucleo F401REでFM音源を実装するやつ の実装途中で32ポリ音源にしたやつ 外部DACとオペアンプを利用 現在はMCP4922とNJM2737
Dependencies: AOTTrigon I2CEEPROM MCP4922 mbed
Main.cpp@3:e98f2da2d3c5, 2014-12-23 (annotated)
- Committer:
- kb10uy
- Date:
- Tue Dec 23 05:32:48 2014 +0000
- Revision:
- 3:e98f2da2d3c5
- Parent:
- 2:658699249a81
- Child:
- 4:e300f6fd7f96
change mcp4922 lib;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
kb10uy | 1:cde592d8076e | 1 | #include "Main.h" |
kb10uy | 1:cde592d8076e | 2 | |
kb10uy | 3:e98f2da2d3c5 | 3 | Ticker sampler; |
kb10uy | 3:e98f2da2d3c5 | 4 | MCP4922 output(SPI_MOSI,SPI_SCK,SPI_CS); |
kb10uy | 3:e98f2da2d3c5 | 5 | AOTTrigon t(1024); |
kb10uy | 3:e98f2da2d3c5 | 6 | |
kb10uy | 3:e98f2da2d3c5 | 7 | const double smpps = 40000.0; |
kb10uy | 3:e98f2da2d3c5 | 8 | const double smptime = 1.0 / smpps; |
kb10uy | 3:e98f2da2d3c5 | 9 | const double smpus = 1000000.0 / smpps; |
kb10uy | 3:e98f2da2d3c5 | 10 | |
kb10uy | 3:e98f2da2d3c5 | 11 | double ntime = 0.0; |
kb10uy | 3:e98f2da2d3c5 | 12 | double freq = 1.0; |
kb10uy | 2:658699249a81 | 13 | |
kb10uy | 3:e98f2da2d3c5 | 14 | void tick_sampling(); |
kb10uy | 3:e98f2da2d3c5 | 15 | |
kb10uy | 3:e98f2da2d3c5 | 16 | int main(){ |
kb10uy | 3:e98f2da2d3c5 | 17 | output.referenceMode(MCP4922::DAC_A, MCP4922::REF_UNBUFFERED); |
kb10uy | 3:e98f2da2d3c5 | 18 | output.gainMode(MCP4922::DAC_A, MCP4922::GAIN_1X); |
kb10uy | 3:e98f2da2d3c5 | 19 | output.powerMode(MCP4922::DAC_A, MCP4922::POWER_NORMAL); |
kb10uy | 3:e98f2da2d3c5 | 20 | sampler.attach_us(&tick_sampling, smpus); |
kb10uy | 3:e98f2da2d3c5 | 21 | } |
kb10uy | 3:e98f2da2d3c5 | 22 | |
kb10uy | 3:e98f2da2d3c5 | 23 | void tick_sampling() { |
kb10uy | 3:e98f2da2d3c5 | 24 | output.write(MCP4922::DAC_A, 0.5f/*t.sine(M_PI*2.0*freq*ntime)/2.0+0.5*/); |
kb10uy | 3:e98f2da2d3c5 | 25 | ntime+=smptime; |
kb10uy | 1:cde592d8076e | 26 | } |