欢迎来到天天文库
浏览记录
ID:46583145
大小:303.94 KB
页数:11页
时间:2019-11-25
《基于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时
此文档下载收益归作者所有