TI中文支持网
TI专业的中文技术问题搜集分享网站

TLV5625问题

大神好,帮帮我吧。

问题:我在使用TLV5625时出现如下问题,在主函数里面的FOR循环中对两通道赋值,2通道DA可以正常更新输出,但是同样的语句放到定时器中断中,只有一个通道正常,另一个通道不能更新数据,请指教,谢谢。程序如下:

CS=0;   if(Spi_TxReady()==1) //发送准备已就绪
  {
     SpiaRegs.SPITXBUF=0x1A00; //OUTB发送数据
  }
  while(Spi_TxReady()==0);   CS=1;
   delay(10);
   CS=0;
 if(Spi_TxReady()==1)
        {
      SpiaRegs.SPITXBUF=0x8A00; //OUTA发送数据
  }
     while(Spi_TxReady()==0);  CS=1;

user151383853:

看程序没有什么问题.

会不会是定时中断的速率太高了, 导致来不及响应?

其它地方影响了时序, 比如干扰了 CS 信号?

wentao jiang:

回复 user151383853:

您好,谢谢。定时器的中断是10K,SPI是1M的,而且我把定时器中断变慢过,也不行。而且程序很简单,只有一个定时器中断,其他什么都没有,在进入定时器中断时,我屏蔽了所有中断。

赞(0)
未经允许不得转载:TI中文支持网 » TLV5625问题
分享到: 更多 (0)