Bob Jeffway
/
MCP4822_Sinewave
First Shot at Sin wav from DAC
Fork of MCP4822_demo by
main.cpp@2:e8d2b1992e9f, 2016-04-01 (annotated)
- Committer:
- bjeffway
- Date:
- Fri Apr 01 19:16:40 2016 +0000
- Revision:
- 2:e8d2b1992e9f
- Parent:
- 1:77d25d0f67d6
Ver2
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
bjeffway | 2:e8d2b1992e9f | 1 | // 2.9Khz |
ukatcsmb | 0:723ec6d615c7 | 2 | |
ukatcsmb | 0:723ec6d615c7 | 3 | #include "mbed.h" |
ukatcsmb | 0:723ec6d615c7 | 4 | #include "MCP4822A.h" |
ukatcsmb | 0:723ec6d615c7 | 5 | |
ukatcsmb | 0:723ec6d615c7 | 6 | |
bjeffway | 1:77d25d0f67d6 | 7 | PinName cspins[] = {(D9)}; |
bjeffway | 2:e8d2b1992e9f | 8 | MCP4822A MCP(1, D11, D13, cspins, D10); // NDACs, MOSI, SCLK, nCS-list, nLdac |
ukatcsmb | 0:723ec6d615c7 | 9 | |
ukatcsmb | 0:723ec6d615c7 | 10 | int main() { |
bjeffway | 2:e8d2b1992e9f | 11 | int i; |
ukatcsmb | 0:723ec6d615c7 | 12 | |
bjeffway | 2:e8d2b1992e9f | 13 | // printf("\r\n\r\nSetting SPI clock frequency to 10 MHz.\r\n"); |
bjeffway | 2:e8d2b1992e9f | 14 | // MCP.frequency(10000000); |
bjeffway | 2:e8d2b1992e9f | 15 | printf("\r\n\r\nSetting SPI clock frequency to 20 MHz.\r\n"); |
bjeffway | 2:e8d2b1992e9f | 16 | MCP.frequency(20000000); |
ukatcsmb | 0:723ec6d615c7 | 17 | |
ukatcsmb | 0:723ec6d615c7 | 18 | // Begin by setting all the DACs to 1000 millivolts at gain 2. |
ukatcsmb | 0:723ec6d615c7 | 19 | printf("Loading all channels with 1000mV at gain 2...\r\n"); |
ukatcsmb | 0:723ec6d615c7 | 20 | MCP.latch_disable(); |
bjeffway | 2:e8d2b1992e9f | 21 | |
bjeffway | 2:e8d2b1992e9f | 22 | MCP.writeA2(0, 2520); |
bjeffway | 2:e8d2b1992e9f | 23 | MCP.writeB2(0, 2520); |
bjeffway | 2:e8d2b1992e9f | 24 | |
ukatcsmb | 0:723ec6d615c7 | 25 | wait(4); |
ukatcsmb | 0:723ec6d615c7 | 26 | printf("Latching now.\n"); |
ukatcsmb | 0:723ec6d615c7 | 27 | MCP.latch_enable(); |
ukatcsmb | 0:723ec6d615c7 | 28 | wait(4); |
ukatcsmb | 0:723ec6d615c7 | 29 | |
bjeffway | 1:77d25d0f67d6 | 30 | |
ukatcsmb | 0:723ec6d615c7 | 31 | |
ukatcsmb | 0:723ec6d615c7 | 32 | while (1) { |
bjeffway | 1:77d25d0f67d6 | 33 | for (float i = 0; i < 6.28; i=i+.1) { |
bjeffway | 1:77d25d0f67d6 | 34 | MCP.writeA2(0, 1500+sin(i)*1500); |
bjeffway | 1:77d25d0f67d6 | 35 | } |
ukatcsmb | 0:723ec6d615c7 | 36 | |
ukatcsmb | 0:723ec6d615c7 | 37 | } |
ukatcsmb | 0:723ec6d615c7 | 38 | } |