diff --git a/prosjekt.X/main.c b/prosjekt.X/main.c index 6058f74..d9ed9e8 100644 --- a/prosjekt.X/main.c +++ b/prosjekt.X/main.c @@ -4,6 +4,15 @@ * * Created on March 6, 2024, 12:34 PM */ +#include "voltage.h" +#include "uart.h" +#define RTC_PERIOD (511) +#define DELAY_TIME 1000 +#include +#include +#include +#include +#include #define F_CPU 4E6 @@ -15,11 +24,13 @@ #include "themistor-temp.h" int main() { + sensor_init(); + ADC0_init(); init_uart((uint16_t)9600); stdout = &USART_stream; while (1) { - printf("Hello, world!\n"); - _delay_ms(500); + uint16_t adcVal = voltage_values(); + printf("The values: \n%u , %u\n",VREF_REFSEL_VDD_gc , adcVal); } } \ No newline at end of file diff --git a/prosjekt.X/nbproject/configurations.xml b/prosjekt.X/nbproject/configurations.xml index ccf6ebe..765c75e 100644 --- a/prosjekt.X/nbproject/configurations.xml +++ b/prosjekt.X/nbproject/configurations.xml @@ -1,179 +1,179 @@ - - - - - themistor-temp.h - fan speeeed.h - - - Makefile - - - - - main.c - thermistor-temp.c - - - Makefile - - - - localhost - AVR128DB48 - - - nEdbgTool - XC8 - 2.46 - 3 - - - - - - - - - - - - - - - false - false - - - - - - - false - false - - false - - false - false - false - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + themistor-temp.h + fan speeeed.h + + + Makefile + + + + + main.c + thermistor-temp.c + + + Makefile + + + + localhost + AVR128DB48 + + + nEdbgTool + XC8 + 2.46 + 3 + + + + + + + + + + + + + + + false + false + + + + + + + false + false + + false + + false + false + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/prosjekt.X/voltage.c b/prosjekt.X/voltage.c new file mode 100644 index 0000000..2983dfb --- /dev/null +++ b/prosjekt.X/voltage.c @@ -0,0 +1,40 @@ +#include "voltage.h" +#include "uart.h" + +void sensor_init(void) { + /* Disable digital input buffer */ + +} + +void ADC0_init(void) { + /* Initializing ADC0 pin*/ + PORTD.PIN6CTRL &= ~PORT_ISC_gm; + PORTD.PIN6CTRL |= PORT_ISC_INPUT_DISABLE_gc; /* Disable */ + PORTD.PIN6CTRL &= PORT_PULLUPEN_bm; + + ADC0.CTRLC = ADC_PRESC_DIV4_gc; + VREF.ADC0REF = VREF_REFSEL_VDD_gc; /* Internal reference */ + ADC0.CTRLA = ADC_ENABLE_bm /* ADC Enable: enabled */ + | ADC_RESSEL_10BIT_gc; /* 10-bit mode */ + /* Select ADC channel */ + ADC0.MUXPOS = ADC_MUXPOS_AIN6_gc; +} + +uint16_t ADC0_read(void) { + /* Start ADC conversion */ + ADC0.COMMAND = ADC_STCONV_bm; + /* Wait until ADC conversion done */ + while (!(ADC0.INTFLAGS & ADC_RESRDY_bm)) { + ; + } + // Clear the interrupt flag by writing 1: + ADC0.INTFLAGS = ADC_RESRDY_bm; + return ADC0.RES; +} + +uint16_t voltage_values(void) { + /* Gets values */ + uint16_t adcVal = ADC0_read(); + VREF.ADC0REF = VREF_REFSEL_VDD_gc; + return adcVal; +} \ No newline at end of file diff --git a/prosjekt.X/voltage.h b/prosjekt.X/voltage.h new file mode 100644 index 0000000..221b741 --- /dev/null +++ b/prosjekt.X/voltage.h @@ -0,0 +1,64 @@ +/* Microchip Technology Inc. and its subsidiaries. You may use this software + * and any derivatives exclusively with Microchip products. + * + * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER + * EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY IMPLIED + * WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS FOR A + * PARTICULAR PURPOSE, OR ITS INTERACTION WITH MICROCHIP PRODUCTS, COMBINATION + * WITH ANY OTHER PRODUCTS, OR USE IN ANY APPLICATION. + * + * IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, + * INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND + * WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS + * BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE + * FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS + * IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF + * ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. + * + * MICROCHIP PROVIDES THIS SOFTWARE CONDITIONALLY UPON YOUR ACCEPTANCE OF THESE + * TERMS. + */ + +/* + * File: + * Author: + * Comments: + * Revision history: + */ + +#include +#include +#include +#include +#include +#include + +// This is a guard condition so that contents of this file are not included +// more than once. +#ifndef XC_HEADER_TEMPLATE_H +#define XC_HEADER_TEMPLATE_H + +#include // include processor files - each processor file is guarded. + + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ +// Initializing of the sensor pins +void sensor_init(void); +// Initializing of the ADC0 pins +void ADC0_init(void); +// +//void ADC0_start(void); +//Start ADC conversion +uint16_t ADC0_read(void); +// Gets the value from sensor and internal voltage +uint16_t voltage_values(void); +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif /* XC_HEADER_TEMPLATE_H */ + + +