/*****************************
*
Pääohjelman alustukset
*
*****************************/
void Main_Init(void)
{
Timer1_Init();
//
Timer
1
USART_Init(); //
Sarjaliikenne
sei(); //
Globaali
keskeytysbitti
DATA_DDR = 0x3F;
// dataväylän alustus
DATA_PORT = 0x20;
}
/*********************
*
Timer1 alustus
*
*********************/
void Timer1_Init(void)
{
TCCR1B |= 1<<CS11;
// clk/8 = 1MHz
TIMSK1 |= 1<<TOIE1;
// T/C1 overflow interrupt enable
TCNT1H = 0xFF;
// noin 47kHz
TCNT1L
=
0xEA;
}
/*************************
* Sarjaliikenne
alustus
*
*************************/
void USART_Init(void)
{
UBRR0H
=
0x00;
//
ylempi
jää
tyhjäksi
UBRR0L = ((XTAL/16)/BAUD)-1;
// lasketaan siirtonopeus
UCSR0B |= (1<<RXCIE0) | (1<<RXEN0) | (1<<TXEN0);
// Bit3; Tx Enable, Bit4; Rx Enable, Bit7; Rx interrupt enable
UCSR0C = (1<<UCSZ01) | (1<<UCSZ00); //1-0.Tavun koko, 8-bit
}