/
demo_ad53x4.c
52 lines (44 loc) · 1.03 KB
/
demo_ad53x4.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
/**
* Example program demonstrating
* how to control an Analog Devices AD5324 ADC
* from a nRF51822 microcontroller
*
* Author: Matthias Bock <mail@matthiasbock.net>
* License: GNU GPLv3
*/
#include "ad53x4.h"
#include "spi_master.h"
#include "delay.h"
int main()
{
adc_struct ADC;
adc_struct *HwMon = &ADC;
adc_setup(
HwMon,
AD5324,
SPI0,
7, // nCS
5, // SCK
6 // MOSI
);
// Sawtooth function
while (1)
{
uint16_t i;
for (i=0; i<4095; i++)
{
adc_write(HwMon, ADC_OUT_A, i);
adc_write(HwMon, ADC_OUT_B, i);
adc_write(HwMon, ADC_OUT_C, i);
adc_write(HwMon, ADC_OUT_D, i);
}
for (i=4095; i>0; i--)
{
adc_write(HwMon, ADC_OUT_A, i);
adc_write(HwMon, ADC_OUT_B, i);
adc_write(HwMon, ADC_OUT_C, i);
adc_write(HwMon, ADC_OUT_D, i);
}
}
return 0;
}