#include "TMP75.h"
#if 1
/*UINT8 SearchDev(UINT8 add)
{
UINT8 ret;
I2C_Start();
ret=I2C_SendByte(add|I2C_READ);
I2C_Stop();
Delay_ms(10);
return ret;
}
UINT8 SearchTMP75(void)
{
UINT8 dev=0;
if(SearchDev(DEV1ADD)==0)
dev|=0x01;
if(SearchDev(DEV2ADD)==0)
dev|=0x02;
if(SearchDev(DEV3ADD)==0)
dev|=0x04;
if(SearchDev(DEV4ADD)==0)
dev|=0x08;
return dev;
}*/
/***************************************************
温度值格式转换,考虑两位小数点
****************************************************/
INT8 TemConversion(UINT16 indata,INT16* outdata)
{
if((indata>0x7FF)&&(indata<0xC90))//不在温度范围
{
return 1;
}
if(indata<=0x7FF)
{
if(indata<0x190)
{
*outdata=(25000/0x190)*indata;
*outdata=*outdata/10;
}
else if(indata<0x320)
{
*outdata=(25000/(0x320-0x190))*(indata-0x190);
*outdata=*outdata/10+25*100;
}
else if(indata<0x4B0)
{
*outdata=(25000/(0x4B0-0x320))*(indata-0x320);
*outdata=*outdata/10+50*100;
}
else if(indata<0x500)
{
*outdata=(5000/(0x500-0x4B0))*(indata-0x4B0);
*outdata=*outdata/10+75*100;
}
else if(indata<0x640)
{
*outdata=(20000/(0x640-0x500))*(indata-0x500);
*outdata=*outdata/10+80*100;
}
else
{
*outdata=(28000/(0x7FF-0x640))*(indata-0x640);
*outdata=*outdata/10+100*100;
}
}
else
{
if(indata>0xE70)
{
*outdata=(25000/(0xFFF-0xE70))*(indata-0xE70);
*outdata=*outdata/10;
}
else
{
*outdata=(30000/(0xE70-0xC90))*(indata-0xC90);
*outdata=*outdata/10+25*100;
}
*outdata|=0x8000;
}
return 0;
}
INT8 TMP75_ReadTenperature(UINT8 add,INT16* temdata)
{
INT8 ret;
UINT8 rdata;
UINT16 readdata=0;
I2C_Start();
ret=I2C_SendByte(add|I2C_WRITE);
if(ret!=0)
{
I2C_Stop();
return 1;
}
ret=I2C_SendByte(TEMREGISTER);
if(ret!=0)
{
I2C_Stop();
return 2;
}
Delay_ms(30);
I2C_Start();
ret=I2C_SendByte(add|I2C_READ);
if(ret!=0)
{
I2C_Stop();
return 3;
}
rdata=I2C_RcvByte();
I2C_SendACk();
readdata=I2C_RcvByte();
I2C_SendACk();
I2C_Stop();
readdata=readdata>>4;
readdata|=rdata*0x10;
ret=TemConversion(readdata,temdata);
if(ret!=0)
{
return 4;
}
return 0;
}
#endif
使用模拟I2C读取TMP75温度源码
5星 · 超过95%的资源 需积分: 50 97 浏览量
2016-07-25
14:18:34
上传
评论 3
收藏 2KB RAR 举报
itolddd9720
- 粉丝: 8
- 资源: 17
最新资源
- 编译原理深⼊词法分析实践-实验报告
- Disk-Drill数据恢复软件MAC版,支持最新arm架构
- 上班摸鱼神器-纯透明小说阅读工具
- 音频视频转文字3.7.7每天都可以转3小时.apk
- rain-ripples.PNG
- Gitlab: Python项目CI/CD实践 > fastapi-t1 > Dockerfile
- Epic Toon FX 史诗卡通特效 Unity像素游戏素材特效美术资源unitypackage
- 概率论与潮流统计学在时尚产业的应用(文档加Matlab源码)
- springboot的校园失物招领系统源码.zip
- Skeleton-Low Poly 低多边形骨架模型Unity插件美术资源包unitypackage
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈