SAADC differential input setup. With EPD display.

Dependencies:   GDEP015OC1 acn_nrf52_saadc adc52832_common

Committer:
jurica238814
Date:
Thu Sep 28 14:43:03 2017 +0000
Revision:
0:04520242cfef
Child:
1:41e296b93414
Differential ADC input example works. ADC lib todo (methods for diff input etc).

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jurica238814 0:04520242cfef 1 /*
jurica238814 0:04520242cfef 2 * Example to demonstrate usage of the nrf52's SAADC in differential working\
jurica238814 0:04520242cfef 3 * mode.
jurica238814 0:04520242cfef 4 *
jurica238814 0:04520242cfef 5 * Made by Jurica Resetar @ aconno
jurica238814 0:04520242cfef 6 * jurica_resetar@yahoo.com
jurica238814 0:04520242cfef 7 * More info @ aconno.de
jurica238814 0:04520242cfef 8 *
jurica238814 0:04520242cfef 9 * All rights reserved
jurica238814 0:04520242cfef 10 *
jurica238814 0:04520242cfef 11 */
jurica238814 0:04520242cfef 12
jurica238814 0:04520242cfef 13
jurica238814 0:04520242cfef 14
jurica238814 0:04520242cfef 15 #include "mbed.h"
jurica238814 0:04520242cfef 16 #include "acd_nrf52_saadc.h"
jurica238814 0:04520242cfef 17
jurica238814 0:04520242cfef 18 #define PRINT (1)
jurica238814 0:04520242cfef 19
jurica238814 0:04520242cfef 20 #if PRINT
jurica238814 0:04520242cfef 21 #include "nrf52_uart.h"
jurica238814 0:04520242cfef 22 NRF52_UART uart(p25, p26, Baud9600);
jurica238814 0:04520242cfef 23 char buffer[255];
jurica238814 0:04520242cfef 24 #define SEND(...) {uint8_t len = sprintf(buffer, __VA_ARGS__); uart.send(buffer, len);}
jurica238814 0:04520242cfef 25 #else
jurica238814 0:04520242cfef 26 #define SEND(...)
jurica238814 0:04520242cfef 27 #endif
jurica238814 0:04520242cfef 28
jurica238814 0:04520242cfef 29
jurica238814 0:04520242cfef 30 NRF52_SAADC analogIn;
jurica238814 0:04520242cfef 31
jurica238814 0:04520242cfef 32 int main(void){
jurica238814 0:04520242cfef 33 float voltageDiff;
jurica238814 0:04520242cfef 34 int16_t rawData;
jurica238814 0:04520242cfef 35 // Configure SAADC
jurica238814 0:04520242cfef 36 analogIn.addChannel(5); // Set VDD as source to SAADC
jurica238814 0:04520242cfef 37 analogIn.calibrate(); //
jurica238814 0:04520242cfef 38
jurica238814 0:04520242cfef 39 while(1){
jurica238814 0:04520242cfef 40 analogIn.updateData();
jurica238814 0:04520242cfef 41 rawData = analogIn.getData()[0];
jurica238814 0:04520242cfef 42 voltageDiff = (float)((3.6/512)*rawData);
jurica238814 0:04520242cfef 43 SEND("Voltage differance is: %fV\r\n", voltageDiff);
jurica238814 0:04520242cfef 44 //SEND("Raw data is: %d\n\r", rawData);
jurica238814 0:04520242cfef 45 }
jurica238814 0:04520242cfef 46 }