资源简介
I2C协议驱动ads1115,16高精度AD模块,测量范围±256mV到±6.128V,PGA调整,msp430f149单片机
代码片段和文件信息
#include “../inc/ads1115.h“
#include “math.h“
/*******************配置寄存器*********************/
unsigned char Confige_1115(void)
{
//int k=0;
unsigned char Initdata1[4]={0};
Initdata1[0] =0x90; // 启动配置命令
Initdata1[1] =0x01; // 指向配置寄存器
Initdata1[2] =0xD2; //配置字高字节 0001 0100选择0通道 参考电压2.048v
//若改为单端输入 则应配置为0x44 差分输入0.3时应配置0x14
Initdata1[3] =0x83; // 配置字低字节 1000 0011选择128sps
// SCL_H;
start();
Send1byte(Initdata1[0]);
if(judgeack()==0)
Send1byte(Initdata1[1]);
else
return 0;
if(judgeack()==0)
Send1byte(Initdata1[2]);
else
return 0;
if(judgeack()==0)
Send1byte(Initdata1[3]);
else
return 0;
if(judgeack()==0)
stop();
else
return 0;
delay_();
return 1;
}
/************指向转换寄存器***************/
unsigned char Point_reg(void)
{
//int m=0;
unsigned char Initdata2[2]={0};
Initdata2[0] =0x90; // 地址 + 写命令
Initdata2[1] =0x00; // 指向转换结果寄存器
start();
Send1byte(Initdata2[0]);
if(judgeack()==0)
Send1byte(Initdata2[1]);
else
return 0;
if(judgeack()==0)
stop();
else
return 0;
delay_();
return 1;
}
/**************读取转换结果***************/
unsigned int Read_1115(void)
{
unsigned int ResultLResultH;
unsigned int Result=0;
start();
Send1byte(0x91);
if(judgeack()==1)
{
return 1;
}
ResultH=Read1byte();
ack();
ResultL=Read1byte();
ack();
stop();
Result = (ResultH<<8) + ResultL;
printf(“Result = %u“Result);
return Result;
}
//
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1923 2018-05-06 14:02 ads1115\1115.c
文件 2907 2018-05-06 14:02 ads1115\1115.h
目录 0 2018-05-06 14:02 ads1115
----------- --------- ---------- ----- ----
4830 3
- 上一篇:kafka和storm整合
- 下一篇:安卓开发-计算器
评论
共有 条评论