First Shot at Sin wav from DAC

Dependencies:   MCP4822A mbed

Fork of MCP4822_demo by Steven Beard

Committer:
bjeffway
Date:
Fri Apr 01 19:16:40 2016 +0000
Revision:
2:e8d2b1992e9f
Parent:
1:77d25d0f67d6
Ver2

Who changed what in which revision?

UserRevisionLine numberNew 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 }