MLX90632传感器调试 |
您所在的位置:网站首页 › mlx90615和mlx90614的区别 › MLX90632传感器调试 |
由于疫情的原因,红外测温枪大火,与之相应的传感器我目前了解的有MLX90632和MLX90614以及BM43THD80A,因为90632封装体积小,方便嵌入,所以采用这款传感器来采集温度。一下是调试过程。 废话不多说,官方的Demo源码直接去github就可以搜找到。拿到Demo例程过后,mlx90632_depends.h 文件中主要有3个函数需要我们完善。 附上我的代码 int32_t mlx90632_i2c_write(int16_t register_address, uint16_t value) { IIC_Start(); Write_IIC_Byte(MLX90632_DEVICE_ADDR_W); IIC_Wait_Ack(); Write_IIC_Byte(register_address >> 8); IIC_Wait_Ack(); Write_IIC_Byte(register_address & 0xff); IIC_Wait_Ack(); Write_IIC_Byte(value >> 8); IIC_Wait_Ack(); Write_IIC_Byte(value & 0xff); IIC_Wait_Ack(); IIC_Stop(); return 0; } int32_t mlx90632_i2c_read(int16_t register_address, uint16_t *value) { uint8 Val[2]; IIC_Start(); Write_IIC_Byte(MLX90632_DEVICE_ADDR_W); IIC_Wait_Ack(); Write_IIC_Byte(register_address >> 8); IIC_Wait_Ack(); Write_IIC_Byte(register_address & 0xff); IIC_Wait_Ack(); IIC_Start(); Write_IIC_Byte(MLX90632_DEVICE_ADDR_R); IIC_Wait_Ack(); Val[0] = Read_IIC_Byte(1); Val[1] = Read_IIC_Byte(0); IIC_Stop(); *value = (Val[0] |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |