資源簡介
stm32 驅(qū)動ads1115 初始化 配置 讀取 程序 已測試通過

代碼片段和文件信息
#include?“ads1115.h“
#include?“ap_i2c.h“
static?void?Confige1115?(unsigned?char?port);
static?void?PointRegister?(void);
static?void?ReadData?(unsigned?char?chn?unsigned?char?cnt);
unsigned?char?WriteIntBuf[4]?WritepointBuf[2]?count?=?6ReadBuffer[64];;
void?delay?(unsigned?int?delay)
{
???while(delay--);??
}
/*******************************************************************************
*?Function?Name??:?Confige1115
*?Description????:?延遲時間
*?Input??????????:?None
*?Output?????????:?None
*?Return?????????:?None
*?Attention ?:獲取ADS1115模擬轉(zhuǎn)換結(jié)果
*******************************************************************************/
void?Get_ATOD?(unsigned?char?channelunsigned?char?cnt)
{
????static?unsigned?char?chn;
????
????chn?=?channel;??
????
????Confige1115(channel);
?????delay(1000);
????PointRegister();
????delay(1000);
????ReadData(chncnt);
??????delay(1000);????
}
/*******************************************************************************
*?Function?Name??:?Confige1115
*?Description????:?延遲時間
*?Input??????????:?None
*?Output?????????:?None
*?Return?????????:?None
*?Attention ?:配置ADS1115
*******************************************************************************/
static?void?Confige1115?(unsigned?char?port)
{
????static?unsigned?char?chnel?i;
????switch?(port)
????{
??????case?0:???????????????//0通道
??????????chnel=0xC2;
??????break;
??????
??????case?1:???????????????//1通道??
??????????chnel=0xD2;
??????break;
??????????
??????case?2:???????????????//2通道??
??????????chnel=0xE2;
??????break;
??????????
??????case?3:???????????????//3通道
??????????chnel=0xF2;
??????break;
??????????
??????default:
??????break;
????}
????WriteIntBuf[0]?=?CMD_Write;
????WriteIntBuf[1]?=?CMD_CONF_REG;
????WriteIntBuf[2]?=?chnel;
????WriteIntBuf[3]?=?CONF_L;
????if(!(TWI_START()))
????{
????????for(i=0;i<4;i++)
????????{
????????????TWI_SendByte(WriteIntBuf[i]);
?????????delay(20);
????????}
????}
????TWI_STOP();
}
/*******************************************************************************
*?Function?Name??:?PointRegister
*?Description????:?延遲時間
*?Input??????????:?None
*?Output?????????:?None
*?Return?????????:?None
*?Attention ?:指向ADS1115指針寄存器用于準備讀取數(shù)據(jù)
*******************************************************************************/
static?void?PointRegister?(void)
{
????unsigned?char?i;
????WritepointBuf[0]?=?CMD_Write;
????WritepointBuf[1]?=?CMD_POINT_REG;
????if(!(TWI_START()))
????{
????????for(i=0;i<2;i++)
????????{
??????????TWI_SendByte(WritepointBuf[i]);
??????????delay(20);
????????}
????}
???TWI_STOP();
???
}
/*******************************************************************************
*?Function?Name??:?I2C_delay
*?Description????:?延遲時間
*?Input??????????:?None
*?Output?????????:?None
*?Return?????????:?None
*?Attention ?:??CH1?PA4??CH2?PA7?CH3?PA6?CH4?PA5
*********************************************************************
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????7244??2012-02-23?13:25??ads1115.c
?????文件????????307??2012-02-15?14:33??ads1115.h
-----------?---------??----------?-----??----
?????????????????7551????????????????????2
評論
共有 條評論