SAADC differential input setup. With EPD display.
Dependencies: GDEP015OC1 acn_nrf52_saadc adc52832_common
main.cpp@0:04520242cfef, 2017-09-28 (annotated)
- 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?
User | Revision | Line number | New 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 | } |