L VD
/
LTC2601_test
A test program for LTC2601 / Mikroe DAC 2 Click peripheral.
main.cpp@2:1942514cee94, 2020-08-25 (annotated)
- Committer:
- elelthvd
- Date:
- Tue Aug 25 14:34:54 2020 +0800
- Revision:
- 2:1942514cee94
- Parent:
- 1:5e314f1c924c
Add LTC2601 library
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
elelthvd | 0:56f33267019d | 1 | #include "mbed.h" |
elelthvd |
1:5e314f1c924c | 2 | #include "LTC2601.h" |
elelthvd | 0:56f33267019d | 3 | |
elelthvd | 0:56f33267019d | 4 | // SPI for DISCO_F746NG board w/Mikro Arduino Click Shield |
elelthvd | 0:56f33267019d | 5 | SPI spi(SPI_MOSI, SPI_MISO, SPI_SCK); |
elelthvd | 0:56f33267019d | 6 | #define D_CS D9 // PWM_OUT // MikroBUS 2 |
elelthvd | 0:56f33267019d | 7 | #define D_INTR D3 // PB_4 // MikroBUS 2 |
elelthvd | 0:56f33267019d | 8 | #define D_RST A2 // PF_9 // MikroBUS 2 |
elelthvd | 0:56f33267019d | 9 | // #define D_CS D10 // SPI_CS // MikroBUS 1 |
elelthvd | 0:56f33267019d | 10 | // #define D_INTR D2 // PG_6 // MikroBUS 1 |
elelthvd | 0:56f33267019d | 11 | // #define D_RST A3 // PF_8 // MikroBUS 1 |
elelthvd | 0:56f33267019d | 12 | |
elelthvd | 0:56f33267019d | 13 | // Instance |
elelthvd | 0:56f33267019d | 14 | LTC2601 mikroe_dac2_click(&spi, D_CS, D_RST); |
elelthvd | 0:56f33267019d | 15 | |
elelthvd | 0:56f33267019d | 16 | int main() { |
elelthvd | 0:56f33267019d | 17 | |
elelthvd | 0:56f33267019d | 18 | printf("LTC2601 Testing\n"); |
elelthvd | 0:56f33267019d | 19 | |
elelthvd | 0:56f33267019d | 20 | while (1) { |
elelthvd | 0:56f33267019d | 21 | |
elelthvd | 0:56f33267019d | 22 | mikroe_dac2_click.hwReset(); |
elelthvd | 0:56f33267019d | 23 | printf("Hardware Reset\n"); |
elelthvd | 0:56f33267019d | 24 | |
elelthvd | 0:56f33267019d | 25 | for (int v=0; v<6; v++) { |
elelthvd | 0:56f33267019d | 26 | mikroe_dac2_click.updateVoltage((float)v); |
elelthvd | 0:56f33267019d | 27 | printf("Set Voltage: %fV\n", (float)v); |
elelthvd | 0:56f33267019d | 28 | ThisThread::sleep_for(2000ms); |
elelthvd | 0:56f33267019d | 29 | } |
elelthvd | 0:56f33267019d | 30 | |
elelthvd | 0:56f33267019d | 31 | for (int i=0; i<4; i++) { |
elelthvd | 0:56f33267019d | 32 | printf("Ramping 0...0xFFFF 10us step...\n"); |
elelthvd | 0:56f33267019d | 33 | for (uint16_t v=0; v<0xFFFF; v++) { |
elelthvd | 0:56f33267019d | 34 | mikroe_dac2_click.updateVoltage(v); |
elelthvd | 0:56f33267019d | 35 | wait_us(10); // Settling time typ. 7us |
elelthvd | 0:56f33267019d | 36 | } |
elelthvd | 0:56f33267019d | 37 | } |
elelthvd | 0:56f33267019d | 38 | printf("Ramping Done.\n"); |
elelthvd | 0:56f33267019d | 39 | |
elelthvd | 0:56f33267019d | 40 | mikroe_dac2_click.powerDown(); |
elelthvd | 0:56f33267019d | 41 | printf("Power Down.\n"); |
elelthvd | 0:56f33267019d | 42 | |
elelthvd | 0:56f33267019d | 43 | ThisThread::sleep_for(2000ms); |
elelthvd | 0:56f33267019d | 44 | |
elelthvd | 0:56f33267019d | 45 | } |
elelthvd | 0:56f33267019d | 46 | } |