move timer inits to files where it is used
This commit is contained in:
28
main.c
28
main.c
@@ -39,12 +39,9 @@ void get_mcusr(void)
|
|||||||
}
|
}
|
||||||
//***********Prologue for fast WDT disable & and save reason of reset/power-up: END
|
//***********Prologue for fast WDT disable & and save reason of reset/power-up: END
|
||||||
|
|
||||||
|
|
||||||
//FUNC headers
|
//FUNC headers
|
||||||
static void avr_init(void);
|
static void avr_init(void);
|
||||||
void modbus_master_init(void);
|
|
||||||
void timer0_init(void);
|
void timer0_init(void);
|
||||||
void timer2_init(void);
|
|
||||||
void timer3_init(void);
|
void timer3_init(void);
|
||||||
void print_network_information(void);
|
void print_network_information(void);
|
||||||
|
|
||||||
@@ -168,6 +165,8 @@ int main()
|
|||||||
modbus_master_init();
|
modbus_master_init();
|
||||||
|
|
||||||
printf("moin!\n\r");
|
printf("moin!\n\r");
|
||||||
|
timer3_init();
|
||||||
|
timer4_init();
|
||||||
|
|
||||||
ioHelperInitBuffer();
|
ioHelperInitBuffer();
|
||||||
ioHelperIoConf();
|
ioHelperIoConf();
|
||||||
@@ -270,25 +269,6 @@ int main()
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Timer0
|
|
||||||
// 1ms IRQ
|
|
||||||
// Used for millis() timing
|
|
||||||
void timer0_init()
|
|
||||||
{
|
|
||||||
TCCR0A = (1<<WGM01); //TIMER0 SET-UP: CTC MODE
|
|
||||||
TCCR0B = (1<<CS01)|(1<<CS00); // PS 1:64
|
|
||||||
OCR0A = 249; // 1ms reach for clear (16mz:64=>250kHz:250-=>1kHz)
|
|
||||||
TIMSK0 |= 1<<OCIE0A; //IRQ on TIMER0 output compareA
|
|
||||||
}
|
|
||||||
|
|
||||||
void timer2_init()
|
|
||||||
{
|
|
||||||
TCCR2A = (1<<WGM21); //TIMER0 SET-UP: CTC MODE
|
|
||||||
TCCR2B|=(1<<CS21); //prescaler 8
|
|
||||||
OCR2A = 200; // 1ms reach for clear (16mz/8/200=>10kHz)
|
|
||||||
TIMSK2|=(1<<OCIE2A);
|
|
||||||
}
|
|
||||||
|
|
||||||
void print_network_information()
|
void print_network_information()
|
||||||
{
|
{
|
||||||
|
|
||||||
@@ -311,6 +291,4 @@ void print_network_information()
|
|||||||
printf("DNS Server : %d.%d.%d.%d\n\r",gWIZNETINFO.dns[0],gWIZNETINFO.dns[1],gWIZNETINFO.dns[2],gWIZNETINFO.dns[3]);
|
printf("DNS Server : %d.%d.%d.%d\n\r",gWIZNETINFO.dns[0],gWIZNETINFO.dns[1],gWIZNETINFO.dns[2],gWIZNETINFO.dns[3]);
|
||||||
}
|
}
|
||||||
|
|
||||||
ISR(TIMER2_COMPA_vect) { //this ISR is called 9765.625 times per second
|
|
||||||
modbusTickTimer();
|
|
||||||
}
|
|
||||||
|
|||||||
11
millis.c
11
millis.c
@@ -4,6 +4,17 @@
|
|||||||
|
|
||||||
volatile unsigned long _millis; // for millis tick !! Overflow every ~49.7 days
|
volatile unsigned long _millis; // for millis tick !! Overflow every ~49.7 days
|
||||||
|
|
||||||
|
// Timer0
|
||||||
|
// 1ms IRQ
|
||||||
|
// Used for millis() timing
|
||||||
|
void timer0_init()
|
||||||
|
{
|
||||||
|
TCCR0A = (1<<WGM01); //TIMER0 SET-UP: CTC MODE
|
||||||
|
TCCR0B = (1<<CS01)|(1<<CS00); // PS 1:64
|
||||||
|
OCR0A = 249; // 1ms reach for clear (16mz:64=>250kHz:250-=>1kHz)
|
||||||
|
TIMSK0 |= 1<<OCIE0A; //IRQ on TIMER0 output compareA
|
||||||
|
}
|
||||||
|
|
||||||
ISR (TIMER0_COMPA_vect)
|
ISR (TIMER0_COMPA_vect)
|
||||||
{
|
{
|
||||||
_millis++; // INC millis tick
|
_millis++; // INC millis tick
|
||||||
|
|||||||
1
millis.h
1
millis.h
@@ -3,5 +3,6 @@
|
|||||||
|
|
||||||
#define TICK_PER_SEC 1000UL
|
#define TICK_PER_SEC 1000UL
|
||||||
unsigned long millis(void);
|
unsigned long millis(void);
|
||||||
|
void timer0_init(void);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -47,8 +47,12 @@ void timer4_init()
|
|||||||
DDRH |= 1 << 3;
|
DDRH |= 1 << 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
//ISR(TIMER4_OVF_vect) {
|
ISR(TIMER4_OVF_vect) {
|
||||||
//}
|
if(ioHelperReadBit(outStates, MOTOR_TAENZER_DIR))
|
||||||
|
taenzer_state.pos -= 1;
|
||||||
|
else
|
||||||
|
taenzer_state.pos += 1;
|
||||||
|
}
|
||||||
|
|
||||||
//ISR(TIMER4_OVF_vect) {
|
//ISR(TIMER4_OVF_vect) {
|
||||||
//}
|
//}
|
||||||
|
|||||||
Reference in New Issue
Block a user