基于STM32F103的MLX90614驱动

基于STM32F103的MLX90614驱动

ID:46583145

大小:303.94 KB

页数:11页

时间:2019-11-25

基于STM32F103的MLX90614驱动_第1页
基于STM32F103的MLX90614驱动_第2页
基于STM32F103的MLX90614驱动_第3页
基于STM32F103的MLX90614驱动_第4页
基于STM32F103的MLX90614驱动_第5页
资源描述:

《基于STM32F103的MLX90614驱动》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、$MLX90614.C/**********************************************************************************基于STM32F103的MLX90614红外温度传感器驱动程序********************************************************************************//*Includes------------------------------------------------------------------*/#include"stdlib

2、.h"#include"stm32f10x.h"//===============================================================================//#include"MLX90614.H"//--IOOperate--#defineSetBit_SDAGPIO_SetBits(GPIOB,GPIO_Pin_10)#defineClrBit_SDAGPIO_ResetBits(GPIOB,GPIO_Pin_10)#defineSetBit_SCKGPIO_SetBits(GPIOB,GPIO_Pin_11)#defineClrB

3、it_SCKGPIO_ResetBits(GPIOB,GPIO_Pin_11)#defineSTA_SDAGPIOB->IDR&GPIO_Pin_10#defineSTA_SCLGPIOB->IDR&GPIO_Pin_11//--MLX90614CommandMode--#defineRAM0x00//对RAM进行操作#defineEEPROM0x20//对EEPROM进行操作#defineMODE0x60//进入命令模式#defineEXITMODE0x61//退出命令模式#defineREADFLAG0xf0//读标志#defineSLEEP0xff//进入睡眠模式#defineRD0x

4、01//读操作#defineWR0x00//写操作//--MLX90614RAMAddress--#defineAMBITEMPADDR0x03//周围温度#defineIR1ADDR0x04//#defineIR2ADDR0x05//#defineENVITEMPADDR0x06//环境温度-40~125度#defineOBJ1TEMPADDR0x07//目标1温度,检测到的红外温度-70.01~382.19度#defineOBJ2TEMPADDR0x08//目标2温度,检测到的红外温度-70.01~382.19度//--MLX90614EEPROMAddress--#defineTOBJ

5、MAXADDR0x00//测量温度上限设定#defineTOBJMINADDR0x01//测量温度下限设定#definePWMCTRLADDR0x02//PWM设定#defineTARANGEADDR0x03//环境温度设定#defineKEADDR0x04//频率修正系数#defineCONFIGADDR0x05//配置寄存器#defineSMBUSADDR0x0e//器件地址设定#defineRES1ADDR0x0f//保留#defineRES2ADDR0x19//保留#defineID1ADDR0x1c//ID地址1#defineID2ADDR0x1d//ID地址2#defineID3

6、ADDR0x1e//ID地址3$MLX90614.C#defineID4ADDR0x1f//ID地址4//--SpecialDefine--#defineACK_SUCCESS0x01//成功接收到应答信号#defineACK_FAIL0x00//没有收到应答信号#defineN5//以上宏定义可以放在头文件里面//============================================================================/***@功能I2C通信状态改变后的延时*@说明无*@参数无*@返回值无*/voidI2C_Delay(void){Delay_

7、us(2);}/***@功能产生通讯开始信号*@说明MLX90614在SCK=1时,检测到SDA由1到0表示通信开始*@参数无*@返回值无*/voidI2C_Start(void){SetBit_SDA;SetBit_SCK;I2C_Delay();ClrBit_SDA;I2C_Delay();ClrBit_SCK;I2C_Delay();}/***@功能产生通讯停止信号*@说明MLX90614在SCK=1时

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。