From 7ef22b79236899b57e1f3c2e9510e28d40638963 Mon Sep 17 00:00:00 2001 From: Miducc Date: Fri, 23 Jun 2023 09:36:20 +0700 Subject: [PATCH] Transmit ADC value through UART --- inc/ad_converter.h | 9 +++++++++ src/ad_converter.c | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 inc/ad_converter.h create mode 100644 src/ad_converter.c diff --git a/inc/ad_converter.h b/inc/ad_converter.h new file mode 100644 index 0000000..d923f45 --- /dev/null +++ b/inc/ad_converter.h @@ -0,0 +1,9 @@ +#ifndef _AD_CONVERTER_ +#define _AD_CONVERTER_ + +#include "stdint.h" + +void adc_config(); +uint8_t read_adc(); + +#endif \ No newline at end of file diff --git a/src/ad_converter.c b/src/ad_converter.c new file mode 100644 index 0000000..7c38d34 --- /dev/null +++ b/src/ad_converter.c @@ -0,0 +1,32 @@ +#include "BA45F5250.h" +#include "stdint.h" +#include "build-in.h" +#include "ad_converter.h" +#include "eeprom_rw.h" +#include "uart_configuration.h" + +void adc_config() +{ + _sadc0 = 0b00000000; + _sadc1 = 0b01101011; + _ade = 0; +} + +uint8_t read_adc() +{ + uint8_t temp; + _adcen = 1; + GCC_DELAY(12); + _start = 0; + _start = 1; + _start = 0; + while(_adbz); + _adcen = 0; + temp = _sadoh; + if(_adrfs != 0) + { + temp = (temp << 8) | _sadol; + } + uart_transmit(temp); + return temp; +} \ No newline at end of file