[an error occurred while processing this directive]
Ответ: Я короче в SPICTL1 вообще 0 пишу, SPI1 не активен. И разрешаю только два эти прерывания. И когда генерица SPI0 генерица и SPI1. Кстати прога работать могла и случайно, просто удачно совпадали моменты генерации прерываний. Пример внутри.
(«Телесистемы»: Конференция «Цифровые сигнальные процессоры (DSP) и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено telme 02 марта 2004 г. 14:55
В ответ на: Ответ: Быть ентого не может - у меня работают два SPI со своими прерываниями. Скорее всего вы указали один и тот-же приоритет для обоих SPI в регистре IRP1, вторая, третья тетрада соответсвенно. Но, даже несмотря на это, вы можите различить кто явился источником прерывания путем чтения регистра INTRD. Внимательно читайте мануал отправлено Чайник 02 марта 2004 г. 13:45

#include
#include
#include

void SetupSPI()
{
int tmp;
sysreg_write (sysreg_IOPG, SPI0_Controller_Page );// and SPI1
io_space_write(SPICTL0, 0x5921); //Trsmt on Read, Size, MSB first, CLK Active Low
// io_space_write(SPICTL1, 0x5920);
io_space_write(SPIBAUD0, 0x0047);
// io_space_write(SPIBAUD1, 0x0047);

sysreg_write(sysreg_IOPG, Clock_and_System_Control_Page);
asm("nop;nop;nop;");
tmp = io_space_read(SYSCR);
tmp = tmp | 0x0001;
io_space_write(SYSCR, tmp); //Ena SPI.
asm("nop;nop;nop;");

};

void SPI0_IRS(int sig)
{
sysreg_write(sysreg_IOPG, SPI0_Controller_Page); //Break Point
io_space_write(TDBR0, 0);
};

void SPI1_IRS(int sig)
{
sysreg_write(sysreg_IOPG, SPI1_Controller_Page); //Break Point this, Generite ????
// io_space_write(TDBR1, 0);
};

main()
{
int tmp;
SetupSPI();
sysreg_write(sysreg_IOPG, Interrupt_Controller_Page);
io_space_write(IPR0, 0xbbbb);//
io_space_write(IPR1, 0xb21b);//
io_space_write(IPR2, 0xbbbb);//
io_space_write(IPR3, 0xbbbb);//

interrupt(SIG_INT5, SPI0_IRS);
interrupt(SIG_INT6, SPI1_IRS);
enable_interrupts();

while (1)
{
sysreg_write(sysreg_IOPG, SPI0_Controller_Page);
io_space_write(TDBR0, 0xaa);
for ( tmp = 1000; tmp; tmp--) tmp = tmp;
}

}


Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru