Nicholas Outram
/
Task531
Task 5.3.1
Diff: main.cpp
- Revision:
- 0:ee386c3c3a80
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Thu Sep 24 12:32:17 2015 +0000 @@ -0,0 +1,46 @@ +#include "mbed.h" +//#include "spi.h" + +PwmOut mypwm(PWM_OUT); + +//This GPIO is used for Chip Select +DigitalOut DAC_CS(D10); + +//SPI Object +SPI spi(D11, D12, D13); + +//Ticker for setting the output sampling rate +Ticker t; + +//Prototype for the ticker ISR +void writeSample(); + +int main() { + + //Set speed of the SPI interface + spi.frequency(20000); + + //16 bit words, mode 0 clock + spi.format(16,0); + + //Write at 1000Hz + t.attach(writeSample, 0.001); + + while(1) { + sleep(); + } +} + +//ISR for ticker +void writeSample() +{ + //Enable the selected slave device + DAC_CS = 0; + + //Write a header (top 4 bits) and value (bottom 12 bits) + unsigned int val = 2048; + spi.write(0x7000 | val); + + //Disable the selected slave device (and update the output) + DAC_CS = 1; +} \ No newline at end of file