AD5761无法输出电压,SPI回读数值也不正确

    CS0_L;  //cs拉低
        
    while(!LL_SPI_IsActiveFlag_TXE(SPI1));        //等待数据发送完成    
    LL_SPI_TransmitData8(SPI1,0x01);
    while(!LL_SPI_IsActiveFlag_RXNE(SPI1));
    data1[1] = LL_SPI_ReceiveData8(SPI1);
        
    while(!LL_SPI_IsActiveFlag_TXE(SPI1));        //等待数据发送完成    
    LL_SPI_TransmitData8(SPI1,0xFF);
    while(!LL_SPI_IsActiveFlag_RXNE(SPI1));
    data1[2] = LL_SPI_ReceiveData8(SPI1);
        
    while(!LL_SPI_IsActiveFlag_TXE(SPI1));        //等待数据发送完成    
    LL_SPI_TransmitData8(SPI1,0xFF);
    while(!LL_SPI_IsActiveFlag_RXNE(SPI1));
    data1[3] = LL_SPI_ReceiveData8(SPI1);
    
    CS0_H;
    LDAC_L;  //ldac拉低
    
    LL_mDelay(200);
    
    LDAC_H;  //ldac拉高

    LL_mDelay(200);
    CS0_L;  //cs拉低
    
    while(!LL_SPI_IsActiveFlag_TXE(SPI1));        //等待数据发送完成    
    LL_SPI_TransmitData8(SPI1,0x0B);
    while(!LL_SPI_IsActiveFlag_RXNE(SPI1));
    data1[3] = LL_SPI_ReceiveData8(SPI1);
        
    while(!LL_SPI_IsActiveFlag_TXE(SPI1));        //等待数据发送完成    
    LL_SPI_TransmitData8(SPI1,0x00);
    while(!LL_SPI_IsActiveFlag_RXNE(SPI1));
    data1[2] = LL_SPI_ReceiveData8(SPI1);
        
    while(!LL_SPI_IsActiveFlag_TXE(SPI1));        //等待数据发送完成    
    LL_SPI_TransmitData8(SPI1,0x00);
    while(!LL_SPI_IsActiveFlag_RXNE(SPI1));
    data1[1] = LL_SPI_ReceiveData8(SPI1);
    
    CS0_H;

    LL_mDelay(200);

    CS0_L;  //cs拉低
    
    while(!LL_SPI_IsActiveFlag_TXE(SPI1));        //等待数据发送完成    
    LL_SPI_TransmitData8(SPI1,0x00);
    while(!LL_SPI_IsActiveFlag_RXNE(SPI1));
    data1[3] = LL_SPI_ReceiveData8(SPI1);
        
    while(!LL_SPI_IsActiveFlag_TXE(SPI1));        //等待数据发送完成    
    LL_SPI_TransmitData8(SPI1,0x00);
    while(!LL_SPI_IsActiveFlag_RXNE(SPI1));
    data1[2] = LL_SPI_ReceiveData8(SPI1);
        
    while(!LL_SPI_IsActiveFlag_TXE(SPI1));        //等待数据发送完成    
    LL_SPI_TransmitData8(SPI1,0x00);
    while(!LL_SPI_IsActiveFlag_RXNE(SPI1));
    data1[1] = LL_SPI_ReceiveData8(SPI1);
    
    CS0_H;
    
    LL_USART_TransmitData8(USART1,data1[3]);
    while(!LL_USART_IsActiveFlag_TXE(USART1));
    
    LL_USART_TransmitData8(USART1,data1[2]);
    while(!LL_USART_IsActiveFlag_TXE(USART1));
    
    LL_USART_TransmitData8(USART1,data1[1]);
    while(!LL_USART_IsActiveFlag_TXE(USART1));

img

img

确认了芯片供电,确认了接线是否接对,实在不知道咋回事了

MD,替换了MCU,原来的MCUSPI电压5V,换成32之后变成3.3导致芯片认不到,程序没问题