diff --git a/prosjekt.X/fan_speeeed.c b/prosjekt.X/fan_speeeed.c index 21d1b05..59691ca 100644 --- a/prosjekt.X/fan_speeeed.c +++ b/prosjekt.X/fan_speeeed.c @@ -6,9 +6,9 @@ uint16_t fan_speed; volatile uint16_t falling_edge_counter = 0; void TCA0_init() { -TCA0.SINGLE.INTCTRL = TCA_SINGLE_OVF_bm ; -TCA0.SINGLE.CTRLA = TCA_SINGLE_ENABLE_bm | TCA_SINGLE_CLKSEL_DIV1024_gc ; /* Sysclk /1024 */ -TCA0_update_period_ms(); + TCA0.SINGLE.INTCTRL = TCA_SINGLE_OVF_bm ; + TCA0.SINGLE.CTRLA = TCA_SINGLE_ENABLE_bm | TCA_SINGLE_CLKSEL_DIV1024_gc ; /* Sysclk /1024 */ + TCA0_update_period_ms(); } void TCA0_update_period_ms() { @@ -60,12 +60,17 @@ void PORT_init(){ EVSYS.CHANNEL0 = 0x40; //EVSYS.SWEVENTA = 0x01; EVSYS.USERTCB3CAPT = 0x01; + /* Zero-cross detector 0 out linked to event channel 0 */ + EVSYS.CHANNEL0 = EVSYS_CHANNEL0_PORTA_PIN5_gc; + /* TCB uses event channel 0 */ + //EVSYS.USERTCB0CAPT = EVSYS_USER_CHANNEL0_gc; //RUNSTDBY disabled; CASCADE disabled; SYNCUPD disabled; CLKSEL DIV1; ENABLE enabled; TCB3.CTRLA = 0x01; + } -void TCB0_Init(void){ +void TCB0_Init(){ TCB3.CTRLB = TCB_CNTMODE_FRQPW_gc; /* Input Capture Frequency */ TCB3.EVCTRL = TCB_CAPTEI_bm; /* Event Input Enable: enabled */ TCB3.EVCTRL |= (1 << TCB_CAPTEI_bp | 1 << TCB_EDGE_bp | 1 << TCB_FILTER_bp); /* Event Input Enable: enabled */ @@ -74,15 +79,15 @@ void TCB0_Init(void){ | TCB_ENABLE_bm /* Enable: enabled */ | TCB_RUNSTDBY_bm; /* Run Standby: enabled */ } -void EVSYS_Init(void) +void EVSYS_Init() { /* Zero-cross detector 0 out linked to event channel 0 */ - EVSYS.CHANNEL0 = EVSYS_CHANNEL0_PORTA_PIN5_gc; + // EVSYS.CHANNEL0 = EVSYS_CHANNEL0_PORTA_PIN5_gc; /* TCB uses event channel 0 */ - EVSYS.USERTCB0CAPT = EVSYS_USER_CHANNEL0_gc; + //EVSYS.USERTCB0CAPT = EVSYS_USER_CHANNEL0_gc; } -void PORT_Init(void) +void PORT_Init1() { PORTB.OUTSET |= PIN5_bm; PORTB.DIRSET |= PIN5_bm; diff --git a/prosjekt.X/fan_speeeed.h b/prosjekt.X/fan_speeeed.h index 337e034..ecc4a0c 100644 --- a/prosjekt.X/fan_speeeed.h +++ b/prosjekt.X/fan_speeeed.h @@ -26,6 +26,10 @@ extern "C" { void TCA0_init (); void PORT_init(); + void TCB0_Init(); + void PORT_init1(); + void EVSYS_Init(); + void TCA0_update_period_ms (); uint16_t RPM_calculation(); diff --git a/prosjekt.X/main.c b/prosjekt.X/main.c index 06b2b72..ba98c2e 100644 --- a/prosjekt.X/main.c +++ b/prosjekt.X/main.c @@ -29,13 +29,19 @@ int main() { init_uart((uint16_t)9600); stdout = &USART_stream; - TCA0_init (); + //TCA0_init (); //PORT_init(); //test - TCB0_Init(); - EVSYS_Init(); - PORT_Init(); + //TCB0_Init(); + //EVSYS_Init(); + //PORT_Init1(); + TCA0_init (); + PORT_init(); + //TCB0_Init(); + PORT_init1(); + //EVSYS_Init(); + TCB3.INTCTRL = 0b00000001; // Bit 0 ? CAPT Capture Interrupt Enable sei(); diff --git a/prosjekt.X/nbproject/configurations.xml b/prosjekt.X/nbproject/configurations.xml index 07900d9..4bb6a69 100644 --- a/prosjekt.X/nbproject/configurations.xml +++ b/prosjekt.X/nbproject/configurations.xml @@ -4,10 +4,10 @@ - uart.h voltage.h fan_speeeed.h themistor-temp.h + uart.h main.c - uart.c voltage.c fan_speeeed.c thermistor-temp.c + uart.c Makefile