ads1115寄存器操作

ADS1115的操作是IIC,主要分为三部分:
第一部分:write config register
1   0x90   最后一位是R/W位,高为读,低为写
2   0x01    指向配置寄存器
3   开始设置配置寄存器的参数,根据自己的需要
第二部分:write to pointer register
1  0x90  同上
2  0x00  指向转换寄存器
第三部分:read conversion register
1 0x91  同上
2 应答转换寄存器的MSB
3 应答转换寄存器的LSB
 
具体程序如下:
//配置ads1115
void Confige1115 ()
{
    unsigned char  i;
    table[0] = 0x90;    //CMD_Write;
    table[1] = 0x01;    //指向配置寄存器
    table[2] = 0xc2;    //设置配置寄存器的高八位1100 0101,即AINp=AIN0,AINn=GND;满量程FS=+-4.096;连续转换模式
    table[3] = 0xe3;    //设置配置寄存器的低八位1100 0101,即
    start();                   //发送起始信号
    for(i=0;i<4;i++)
    {  
      shout(table[i]);   //将table里面的数写入ads1115
      delay(15);
    }
    stop();                   //发送停止信号
}
//指向ADS1115指针寄存器用于准备读取数据
void PointRegister (void)
{
    unsigned char i;
    table[0] = 0x90;//写指令
    table[1] = 0x00;//指针指向转换寄存器
    start();//发送起始信号
    for(i=0;i<2;i++)
    {
      shout(table[i]);//将table里面的数写入ads1115
      delay(15);
    }
    stop();//发送停止信号
}
//读转换寄存器里面的值
uint read()

    uint result,resulth,resultl;
    start();
    delay(10);
    shout(0x91); //读指令
    resulth = shin();  //高八位赋给resulth              
    resultl = shin(); //底八位赋给resultl
    stop();
    result=(resulth)<<8|resultl;//高八位右移8与上底八位组成16位result
    return result;   
}
//获取最终模数转换之后的结果
uint getad()
{
    uint value;
    Confige1115(); 
    delay(20);
    PointRegister();
    delay(20);
    value=read();
    return value;
}
最后通过getad()读取转换的值即可
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值