This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

ADS1198与单片机的SPI通信

Other Parts Discussed in Thread: ADS1198, ADS1298

请问ADS1198与单片机的SPI通信中有段代码ADS1198_Send_CMD_One(0);

是什么意思啊?不应该发送的是command ,怎么是0的啊?

  • 请提供源代码及其出处。

  • -------------------------------------------------------------------------

    //              接收ADS1198多字节命令

    //-------------------------------------------------------------------------

    uchar ADS1198_Recive_Data(uchar cmd,uchar len,uchar dat[])

    {

        uchar i;

        ADS1198_Send_CMD_One(cmd);                            // 发送接收命令第一字节+地址

        ADS1198_Send_CMD_One(len-1);                          // 发送接收第二字节命令,接收数据长度

        for(i=0;i<len;i++)

        {

            ADS1198_Send_CMD_One(0);                          // 发送SPI时钟,DOUT=0

            SomeNOP();SomeNOP();SomeNOP();SomeNOP();          // 延时

            SomeNOP();SomeNOP();SomeNOP();SomeNOP();

            if(UCB0IFG&UCRXIFG)                               // 判断接收标志

            {

                dat[i] = UCB0RXBUF;                           // 接收数据字节

            }

            else

            {

                return FALSE;

            }

        }

        return TRUE;

    }  

    //-------------------------------------------------------------------------

    这个是

    ADS1198/ADS1298开发设计心得与遗留问题总结的代码,颜色标注的那句不是太懂

  • 发送这句是为了 产生SCLK信号,方便控制器读取ads1298输出的数据,发送0,同时也保证了ads1298的DIN端口保持为0