Hi All, I am writing programs in "ASM + c" for ADSP2184. All part of interrupt hadling i am writing in ASM. I am using defualt file 218x_int_tab.asm for interrupt hadling. I have to do following task. After specific time interval, i want to receive data from SPORT 1 port. For that at start i mask all interrupts except Timer interrupt. During timer function i will get SPORT1 interrups but i wantt to ingnore them. In timer interruipt routine i have unmasked SPORT1 interrupt. That means i will respond to SPORT1 interrupts only after getting Timer interrupt. But i am getting probelm because whenever , i get Timer interrupt before jumping to Timer routine it saves IMASK reg. & restores it after getting RTI commond. So when it gets Timer interrupt it unmasks SPORT1 interrupt & after getting RTI , it againg MAsks SPORT1 interrupt. What i should to do get over this. Thanking you Kiran __________________________________ |
|
INterrupt handling problems in VisualDSP++
Started by ●July 22, 2003
Reply by ●July 22, 20032003-07-22
On Mon, 21 Jul 2003, dalvi kiran wrote: > For that at start i mask all interrupts except Timer > interrupt. During timer function i will get SPORT1 > interrups but i wantt to ingnore them. In timer > interruipt routine i have unmasked SPORT1 interrupt. > That means i will respond to SPORT1 interrupts only > after getting Timer interrupt. > > But i am getting probelm because whenever , i get > Timer interrupt before jumping to Timer routine it > saves IMASK reg. & restores it after getting RTI > commond. > > So when it gets Timer interrupt it unmasks SPORT1 > interrupt & after getting RTI , it againg MAsks SPORT1 > interrupt. > > What i should to do get over this. Change your philosophy. Use flags to determine if an interrupt should be paid attention to, not just the imask. So when the sport1 interrupt fires, it will check a flag and do an immediate rti if it's to be ignored, or run normal if it's ok. Patience, persistence, truth, Dr. mike |