久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4961|回復: 2
收起左側

哪位大佬有ads1220的程序給我發一下,跪求

[復制鏈接]
ID:230659 發表于 2018-7-13 19:28 | 顯示全部樓層 |閱讀模式
2黑幣
ads1220AD采集芯片,我有51驅動程序,但是我不知道最后的數據處理怎么做,最好能給我發一下源程序

回復

使用道具 舉報

ID:306259 發表于 2018-10-23 23:05 | 顯示全部樓層
同求STM32配套的ADS1220驅動程序,郵箱1300853721@qq.com,測試成功有紅包奉上
回復

使用道具 舉報

ID:429205 發表于 2024-10-24 14:53 | 顯示全部樓層
給你參考看看!!!
這是我測過 確定可以運行的程式 :
我採用1000sps的速度 讀取電壓與電流 溫度 , 但是因為速度太快, 抓到的資料要做平均喔!!!

void MODULE_ADS1220_INIT(void)
{
    // 復位ADS1220
    uint8_t resetCommand = 0x06;
    SPI_WriteBlock_ADS1220(&resetCommand, 1);
    delay_ms(5); // 等待復位完成

    uint8_t config[2];

    // 配置寄存器0:增益、MUX等
    config[0] = 0x40; // (寄存器0)
    config[1] = 0x00; // 增益置1,MUX置AINP = AIN0, AINN = AIN1
    SPI_CS_ClrVal_ADS1220;
    SPI_WriteBlock_ADS1220(config, 2);
    SPI_CS_SetVal_ADS1220;
    delay_ms(1); // 等待配置生效

    // 配置寄存器1:1000 SPS
    config[0] = 0x44; //(寄存器1)
    config[1] = 0xc4; // 據速率置1000 SPS  1/1000=1ms x4=4ms,每個通道1ms速度
    //config[1] = 0xa4; // 據速率置600 SPS  1/600=1.6ms x4=6.4ms
    //config[1] = 0x4c; // 據速率置20 SPS   1/200=50msx4=200ms穩定但慢,如果不追求速度可以使用
    SPI_CS_ClrVal_ADS1220;
    SPI_WriteBlock_ADS1220(config, 2);
    SPI_CS_SetVal_ADS1220;
    delay_ms(1); // 等待配置生效

    // 配置寄存器2:
    config[0] = 0x48; //寄存器2)
    config[1] = 0x50;
    SPI_CS_ClrVal_ADS1220;
    SPI_WriteBlock_ADS1220(config, 2);
    SPI_CS_SetVal_ADS1220;
    delay_ms(1); // 等待配置生效

    // 配置寄存器3:
    config[0] = 0x4C; //寄存器3)
    config[1] = 0x00;
    SPI_CS_ClrVal_ADS1220;
    SPI_WriteBlock_ADS1220(config, 2);
    SPI_CS_SetVal_ADS1220;
    delay_ms(1); // 等待配置生效

    uint8_t startConversionCommand = 0x08;
    SPI_CS_ClrVal_ADS1220;
    SPI_WriteBlock_ADS1220(&startConversionCommand, 1);
    SPI_CS_SetVal_ADS1220;
    delay_ms(1);
}
///////////////////////////////////////////////////////////////////////////////
//ad1220 have 4 channel ch1 ch2 ch3 ch4
我解釋一下,我在每個通道會先下設定,再用spi模塊讀取回來的資料
我的spi是自己用底層,參考正點原子早期的做法!!
///////////////////////////////////////////////////////////////////////////////
void MODULE_ADS1220_1_1(void)
{
                        SPI_CS_ClrVal_ADS1220;
                        SPI_WriteBlock_ADS1220(SPI_WriteData_ch1_a, 2);
                        SPI_CS_SetVal_ADS1220;
                        delay_us(4);
                        SPI_CS_ClrVal_ADS1220;
                        SPI_WriteBlock_ADS1220(SPI_WriteData_ch1_b, 1);
                        delay_us(4);
                        SPI_CS_SetVal_ADS1220;
}
void MODULE_ADS1220_1_2(void)
{
                        SPI_CS_ClrVal_ADS1220;
                        SPI_MOSI_SetVal_ADS1220;
                        SPI_ReadBlock_ADS1220(SPI_ReadData_ch1, 3);
                        bmu.MCU_ads1220_CH.ads1220_3VAL.ads1220_ch1_1 = SPI_ReadData_ch1[0];
                        bmu.MCU_ads1220_CH.ads1220_3VAL.ads1220_ch1_2 = SPI_ReadData_ch1[1];
                        bmu.MCU_ads1220_CH.ads1220_3VAL.ads1220_ch1_3 = SPI_ReadData_ch1[2];
                        SPI_CS_SetVal_ADS1220;
                        ADS1220_CH1_CALlCUATION();
}
void MODULE_ADS1220_2_1(void)
{
                        SPI_CS_ClrVal_ADS1220;
                        SPI_WriteBlock_ADS1220(SPI_WriteData_ch2_a, 2);
                        SPI_CS_SetVal_ADS1220;
                        delay_us(4);
                        SPI_CS_ClrVal_ADS1220;
                        SPI_WriteBlock_ADS1220(SPI_WriteData_ch2_b, 1);
                        delay_us(4);
                        SPI_CS_SetVal_ADS1220;
}
void MODULE_ADS1220_2_2(void)
{
                        SPI_CS_ClrVal_ADS1220;
                        SPI_MOSI_SetVal_ADS1220;
                        SPI_ReadBlock_ADS1220(SPI_ReadData_ch2, 3);
                        bmu.MCU_ads1220_CH.ads1220_3VAL.ads1220_ch2_1 = SPI_ReadData_ch2[0];
                        bmu.MCU_ads1220_CH.ads1220_3VAL.ads1220_ch2_2 = SPI_ReadData_ch2[1];
                        bmu.MCU_ads1220_CH.ads1220_3VAL.ads1220_ch2_3 = SPI_ReadData_ch2[2];
                        SPI_CS_SetVal_ADS1220;
                        ADS1220_CH2_CALlCUATION();
}
void MODULE_ADS1220_3_1(void)
{
                        SPI_CS_ClrVal_ADS1220;
                        SPI_WriteBlock_ADS1220(SPI_WriteData_ch3_a, 2);
                        SPI_CS_SetVal_ADS1220;
                        delay_us(4);
                        SPI_CS_ClrVal_ADS1220;
                        SPI_WriteBlock_ADS1220(SPI_WriteData_ch3_b, 1);
                        delay_us(4);
                        SPI_CS_SetVal_ADS1220;
}
void MODULE_ADS1220_3_2(void)
{
                        SPI_CS_ClrVal_ADS1220;
                        SPI_MOSI_SetVal_ADS1220;
                        SPI_ReadBlock_ADS1220(SPI_ReadData_ch3, 3);
                        bmu.MCU_ads1220_CH.ads1220_3VAL.ads1220_ch3_1 = SPI_ReadData_ch3[0];
                        bmu.MCU_ads1220_CH.ads1220_3VAL.ads1220_ch3_2 = SPI_ReadData_ch3[1];
                        bmu.MCU_ads1220_CH.ads1220_3VAL.ads1220_ch3_3 = SPI_ReadData_ch3[2];
                        SPI_CS_SetVal_ADS1220;
                        ADS1220_CH3_CALlCUATION();

}
void MODULE_ADS1220_4_1(void)
{
                        SPI_CS_ClrVal_ADS1220;
                        SPI_WriteBlock_ADS1220(SPI_WriteData_ch4_a, 2);
                        SPI_CS_SetVal_ADS1220;
                        delay_us(4);
                        SPI_CS_ClrVal_ADS1220;
                        SPI_WriteBlock_ADS1220(SPI_WriteData_ch4_b, 1);
                        delay_us(4);
                        SPI_CS_SetVal_ADS1220;

}
void MODULE_ADS1220_4_2(void)
{
                        SPI_CS_ClrVal_ADS1220;
                        SPI_MOSI_SetVal_ADS1220;
                        SPI_ReadBlock_ADS1220(SPI_ReadData_ch4, 3);
                        bmu.MCU_ads1220_CH.ads1220_3VAL.ads1220_ch4_1 = SPI_ReadData_ch4[0];
                        bmu.MCU_ads1220_CH.ads1220_3VAL.ads1220_ch4_2 = SPI_ReadData_ch4[1];
                        bmu.MCU_ads1220_CH.ads1220_3VAL.ads1220_ch4_3 = SPI_ReadData_ch4[2];
                        SPI_CS_SetVal_ADS1220;
                        ADS1220_CH4_CALlCUATION();
}

///////////////////////////////////////////////////////////////////////////////////////
//MODULE_ADS1220_1TO4 is ch1 ch2 ch3 ch4 spi command
///////////////////////////////////////////////////////////////////////////////////////
void MODULE_ADS1220_1TO4(void)
{
if(ch1to4_setup==0x00)
{
//ch1//////////////////////////////////////////////////////////////////////////////
        SPI_WriteData_ch1_a[0]=0x40;SPI_WriteData_ch1_a[1]=0x80;SPI_WriteData_ch1_b[0]=0x08;
        if(ch1_setup1to4==0)
        {
                MODULE_ADS1220_1_1();
                ch1_setup1to4=1;
        }
        if(ch1_setup1to4==1)
        {
           if(DRDY_PIN_IS_LOW)
           {
                MODULE_ADS1220_1_2();
                ch1_setup1to4=0;
                ch1to4_setup=0x01;
          }
        }
  }

if(ch1to4_setup==0x01)
{
//ch2////////////////////////////////////////////////////////////////////////////
        SPI_WriteData_ch2_a[0]=0x40;SPI_WriteData_ch2_a[1]=0x90;SPI_WriteData_ch2_b[0]=0x08;
        if(ch2_setup1to4==0)
        {
                MODULE_ADS1220_2_1();
                ch2_setup1to4=1;
        }
        if(ch2_setup1to4==1)
        {
                if(DRDY_PIN_IS_LOW)
                {
                MODULE_ADS1220_2_2();
                ch2_setup1to4=0;
                ch1to4_setup=0x02;
                }
     }
  }

if(ch1to4_setup==0x02)
{
//ch3//////////////////////////////////////////////////////////////////////////////
        SPI_WriteData_ch3_a[0]=0x40;SPI_WriteData_ch3_a[1]=0xa0;SPI_WriteData_ch3_b[0]=0x08;
        if(ch3_setup1to4==0)
        {
                MODULE_ADS1220_3_1();
                ch3_setup1to4=1;
        }
        if(ch3_setup1to4==1)
        {
                if(DRDY_PIN_IS_LOW)
                {
                MODULE_ADS1220_3_2();
                ch3_setup1to4=0;
                ch1to4_setup=0x03;
                }
    }
}

if(ch1to4_setup==0x03)
{
//ch4//////////////////////////////////////////////////////////////////////////////
        SPI_WriteData_ch4_a[0]=0x40;SPI_WriteData_ch4_a[1]=0xb0;SPI_WriteData_ch4_b[0]=0x08;
        if(ch4_setup1to4==0)
        {
                MODULE_ADS1220_4_1();
                ch4_setup1to4=1;
        }
        if(ch4_setup1to4==1)
        {
                if(DRDY_PIN_IS_LOW)
                {
                MODULE_ADS1220_4_2();
                ch4_setup1to4=0;
                ch1to4_setup=0x00;
                }
      }
   }
}
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 中文在线一区二区 | 亚洲人成一区二区三区性色 | 可以免费观看的av片 | 91在线综合 | 99热精品在线观看 | 亚洲看片网站 | 欧美一级在线 | 在线视频国产一区 | 欧美中文在线 | 精品国产18久久久久久二百 | 日日夜夜精品视频 | 91精品国产91久久综合桃花 | 特黄小视频 | 亚洲激情网站 | 天天干天天爱天天操 | 久久99精品久久久久久 | 久久久久久久久久久高潮一区二区 | 一区二区三区亚洲 | 国产成人精品久久二区二区91 | 日韩成人免费中文字幕 | 亚洲欧美国产精品久久 | 精品久久久久久久久久久院品网 | 亚洲美女一区 | 视频一区二区在线观看 | 日韩精品一区二区三区在线观看 | 超碰伊人久久 | 亚洲黄色一区二区三区 | 在线视频91 | 日韩欧美在线视频 | 亚洲一区二区中文字幕 | 一级欧美 | 午夜精品在线 | 国产在线观看一区二区 | 春色av| 九色视频网站 | 国产一区 在线视频 | 久久狠狠 | 久久久综合| 成人欧美在线 | 欧美一区二区三区国产 | 免费一区 |