SPI output to MAX5741 DAC to wake up and generate a ramp on all outputs
Dependencies: mbed
main.cpp@0:1d5526c361e4, 2016-07-14 (annotated)
- Committer:
- DanArgust
- Date:
- Thu Jul 14 09:53:23 2016 +0000
- Revision:
- 0:1d5526c361e4
First commit; SPI output to wake up a MAX5741 DAC and generate a ramp on all outputs
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
DanArgust | 0:1d5526c361e4 | 1 | /*************************** |
DanArgust | 0:1d5526c361e4 | 2 | * Controller for 10bit DAC * |
DanArgust | 0:1d5526c361e4 | 3 | * MAX5741 Ramp Signal * |
DanArgust | 0:1d5526c361e4 | 4 | * 08/07/2016 * |
DanArgust | 0:1d5526c361e4 | 5 | * Dan Argust * |
DanArgust | 0:1d5526c361e4 | 6 | ***************************/ |
DanArgust | 0:1d5526c361e4 | 7 | |
DanArgust | 0:1d5526c361e4 | 8 | #include "mbed.h" |
DanArgust | 0:1d5526c361e4 | 9 | |
DanArgust | 0:1d5526c361e4 | 10 | //SPI(MOSI,MISO,SCLK) |
DanArgust | 0:1d5526c361e4 | 11 | SPI device(P0_9,P0_8,P1_29); |
DanArgust | 0:1d5526c361e4 | 12 | DigitalOut cs(P0_2); |
DanArgust | 0:1d5526c361e4 | 13 | |
DanArgust | 0:1d5526c361e4 | 14 | int response = 0; |
DanArgust | 0:1d5526c361e4 | 15 | unsigned int control = 0x0; |
DanArgust | 0:1d5526c361e4 | 16 | unsigned int data = 0x000; |
DanArgust | 0:1d5526c361e4 | 17 | |
DanArgust | 0:1d5526c361e4 | 18 | int main() { |
DanArgust | 0:1d5526c361e4 | 19 | device.format(16,1); |
DanArgust | 0:1d5526c361e4 | 20 | control = 0xf; |
DanArgust | 0:1d5526c361e4 | 21 | data = 0xf010; |
DanArgust | 0:1d5526c361e4 | 22 | cs = 0; |
DanArgust | 0:1d5526c361e4 | 23 | response = device.write((control<<12)|(data)); |
DanArgust | 0:1d5526c361e4 | 24 | cs = 1; |
DanArgust | 0:1d5526c361e4 | 25 | control = 0xc; |
DanArgust | 0:1d5526c361e4 | 26 | data = 0x000; |
DanArgust | 0:1d5526c361e4 | 27 | while(true){ |
DanArgust | 0:1d5526c361e4 | 28 | cs = 0; |
DanArgust | 0:1d5526c361e4 | 29 | response = device.write((control<<12)|(data)); |
DanArgust | 0:1d5526c361e4 | 30 | cs = 1; |
DanArgust | 0:1d5526c361e4 | 31 | (data>=0xffc) ? (data=0) : (data += 0x04); |
DanArgust | 0:1d5526c361e4 | 32 | wait_us(1); |
DanArgust | 0:1d5526c361e4 | 33 | } |
DanArgust | 0:1d5526c361e4 | 34 | } |