larry_john
驱动牛犊
驱动牛犊
  • 注册日期2002-10-15
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望12点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
阅读:1048回复:0

用过adsp21062的各位大虾看过来!

楼主#
更多 发布于:2004-06-10 10:27
我的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写错了?
请各位用过这个芯片的各位大虾不吝赐教!!!!
游客

返回顶部