微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 硬件电路设计 > TI模拟硬件电路设计 > TLV5625问题

TLV5625问题

时间:10-02 整理:3721RD 点击:

大神好,帮帮我吧。

问题:我在使用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;

看程序没有什么问题.

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

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

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

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top