|
Для AVR написал в IAR простую программку работающую с SPI.
Упрощенная версия внизу.
Проблема в том, что одна и таже процедура SPI_procedure(),
вызванная при одном прерывании, выходит по адресу выхода другого прерывания. Проверил в AVRstudio. Осциллографом смотрел устанавленные специално битики на свободном порте для проверки. Все как в AVRstudio. Что нужно сделать чтобы работало правильно?
__interrupt void int0 (void)
{
SPI_command = 3;
SPI_counter = 1;
SPI_procedure();
}
__interrupt void timer1 (void)
{
SPI_command = 0;
SPI_counter = 0;
TCNT1 = time0_5sec;
SPI_procedure();
}
__interrupt void spi (void)
{
SPI_procedure();
}
E-mail: info@telesys.ru