Курсовая работа: Разработка специализированного процессора для исполнения элементарных функций
//=====================================================
void GlobalInitialize(void)
{
#asm ("cli");
DDRB = DDR_SPI;
PORTB = 0xD0;
DDRD = 0x00; //PortD as input
PORTD = 0x0C; //подключение резисторов подтяжки к выводам PD2, PD3
GICR=GICRMask;
MCUCR=nMCUCRMask;
#asm ("sei");
}
//=====================================================
void Init_SPI_SLAVE(void)
{
//настройка интерфейса в режим подчиненный
DDR_SPI=(1<<MOSI); //формируем маску для порта В: передача битов по MOSI
//прием по MISO, тактовый сигнал и сигнал выбора МС на ввод
SPCR |= (1 << SPIE); //разрешение прерывания по SPI
SPCR |= (1 << SPE); //включение интерфейса
}
//== функция приема сообщений ============================
void SPI_SlaveReceive(void)
{
unsigned char i;
for(i=0; i<1; i++)
{
while(!(SPSR & (1<<SPIF))); //ждем завершения передачи 1-го байта
com = SPDR;