阅读:1093回复:0
用过adsp21062的各位大虾看过来!
我的adsp21062(sharc)只使用了tx1 和 timer 中断
. . . r0=1000; TCOUNT=r0; /* load timer */ TPERIOD=r0; . . . bit set imask SPT1I; /* Enable sport 1 tx interrupt.*/ bit set mode2 TIMEN; /* ENABLE TIMER */ bit set IMASK TMZLI; /* ENABLE TIMER IRQ */ bit set mode1 IRPTEN; /* Global interrupt enable.*/ . . . dm(TX1)=r2; wait: idle; . . /*_________________SPORT 1 Transmit Interrupt Routine___________________*/. s1tx: r0=dm(i2,1); /* Get data from source buffer*/ dm(TX1)=r0; /* Write transmit register*/ rti; timirq: nop; r2=dm(xclcp); r3=r2+1; dm(xclcp)=r3; rti; 结果发现,如果我把tx1的发送线拔掉(没有clk无法发送tx1),timexp引脚有脉冲(表明timer在工作),可是xclcp没有变化(没有进入中断处理程序)。如果不拔掉发送线,xclcp就会变化。 datasheet中说idle时响应各种中断,可是现在的程序表现好像是只会响应tx1中断。我后来把timer的中断优先级改成TMZHI,结果现象还是一样,timer工作而中断程序不执行。难道是datasheet写错了? 请各位用过这个芯片的各位大虾不吝赐教!!!! |
|