STM32 使用ADS1220 使用外部REF0 +-2.5V 0V时ADS1220采集值1.2V

STM32 使用ADS1220 使用外部REF0 +-2.5V    0V时ADS1220采集值1.2V   -2.5V电压时采集值为0.0003V 

请问如何让0V对应采集值0,

long ADS1220ReadData()
{
    long Data;
    /* assert CS to start transfer */

    ADS1220AssertCS(1);

    /* send the command byte */
//    ADS1220SendByte(ch,ADS1220_CMD_RDATA);
    /* get the conversion result */
#ifdef ADS1120
    Data = ADS1220ReceiveByte(ch);
    Data = (Data << 8) | ADS1220ReceiveByte(ch);
    /* sign extend data */
    if (Data & 0x8000)
        Data |= 0xffff0000;
#else
    Data = ADS1220ReceiveByte();
    Data = (Data << 8) | ADS1220ReceiveByte();
    Data = (Data << 8) | ADS1220ReceiveByte();
    /* sign extend data */
    if (Data & 0x800000)
        Data |= 0xff000000; 
#endif
    /* de-assert CS */

    ADS1220AssertCS(0);

    return Data;
}

 

        temp = ADS1220ReadData();
            printf("temp %ld\r\n",temp);
            Vin[0] = (temp)*2.5f/8388608;

参考一下https://zhuanlan.zhihu.com/p/131291602,不知道能否对你有帮助

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!

速戳参与调研>>>https://t.csdnimg.cn/Kf0y

问题已经解决  解决方法通过中断读取数据