ro_omkaer 2021-10-09 13:58 采纳率: 0%
浏览 77
已结题

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

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

  • 写回答

1条回答 默认 最新

  • ro_omkaer 2021-10-13 14:40
    关注

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

    评论

报告相同问题?

问题事件

  • 系统已结题 10月17日
  • 创建了问题 10月9日

悬赏问题

  • ¥500 火焰左右视图、视差(基于双目相机)
  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本