求助!!!新手研究生spi单线发送模式,驱动一款芯片。采用逻辑分析仪采集到的数据正确,却出现连续传输三次的现象,写入芯片...

2019-07-20 02:55发布

本帖最后由 Wenmin 于 2019-3-27 20:26 编辑

这是时序图片,以下是程序(写入芯片)
void ADN8810write(u16 num)
{
                RESET=1;
          delay_us(20);//¾àÕyêy¾Y′íλ

          CS=0;
          SPI1_ReadWriteByte(11);
          SPI1_ReadWriteByte(num);
//  SPI1_ReadWriteByte((u8)(num));
//           delay_us(1);
           while (SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_BSY)==SET){}//μè′yspi¿ÕÏD
//         delay_us(2);
//         delay_us(20);
                 delay_us(1);
           CS=1;        

           RESET=0;
                 

//         RESET=1;

        
        
}

u8 SPI1_ReadWriteByte(u8 TxData)
{                 
        
                SPI_I2S_SendData(SPI1, TxData); //í¨1yíaéèSPIx·¢Ëíò»¸öbyte  êy¾Y
                         delay_us(3);
  while (SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_TXE)== RESET){}//μè′yspi¿ÕÏD

                     
}

主函数功能是写入两个8位数据,逻辑分析仪的数据值正确,但为什么重复发了三次,而且CS片选线自己跳变。??????

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。