[应用相关] 基于HAL库函数的mlx90614驱动

[复制链接]
9914|130
 楼主| gaoyang9992006 发表于 2020-9-24 21:48 | 显示全部楼层 |阅读模式
游客,如果您要查看本帖隐藏内容请回复


  1. /*
  2. * mlx90614.h
  3. *
  4. *  Created on: 29 mag 2019
  5. *      Author: Michele Gazzarri
  6. */

  7. #ifndef MLX90614_H_
  8. #define MLX90614_H_



  9. #endif /* MLX90614_H_ */

  10. // C Standard Libraries


  11. /* Private defines -----------------------------------------------------------*/
  12. /* DEFAULT SLAVE ADDRESS */
  13. #define MLX90614_DEFAULT_SA 0x5A
  14. /* OPCODE DEFINES */
  15. #define MLX90614_OP_RAM                0x00
  16. #define MLX90614_OP_EEPROM        0x20
  17. #define MLX90614_OP_SLEEP        0xFF

  18. /* RAM offsets with 16-bit data, MSB first */
  19. #define MLX90614_RAW1                (MLX90614_OP_RAM | 0x04) /* raw data IR channel 1 */
  20. #define MLX90614_RAW2                (MLX90614_OP_RAM | 0x05) /* raw data IR channel 2 */
  21. #define MLX90614_TAMB                 (MLX90614_OP_RAM | 0x06) /* ambient temperature */
  22. #define MLX90614_TOBJ1                 (MLX90614_OP_RAM | 0x07) /* object 1 temperature */
  23. #define MLX90614_TOBJ2                 (MLX90614_OP_RAM | 0x08) /* object 2 temperature */
  24. /* EEPROM offsets with 16-bit data, MSB first */
  25. #define MLX90614_TOMIN                 (MLX90614_OP_EEPROM | 0x00) /* object temperature min register */
  26. #define MLX90614_TOMAX                 (MLX90614_OP_EEPROM | 0x01) /* object temperature max register */
  27. #define MLX90614_PWMCTRL         (MLX90614_OP_EEPROM | 0x02) /* pwm configuration register */
  28. #define MLX90614_TARANGE         (MLX90614_OP_EEPROM | 0x03) /* ambient temperature register */
  29. #define MLX90614_EMISSIVITY (MLX90614_OP_EEPROM | 0x04) /* emissivity correction register */
  30. #define MLX90614_CFG1                 (MLX90614_OP_EEPROM | 0x05) /* configuration register */
  31. #define MLX90614_SA                 (MLX90614_OP_EEPROM | 0x0E) /* slave address register */
  32. #define MLX90614_ID1                 (MLX90614_OP_EEPROM | 0x1C) /*[read-only] 1 ID register */
  33. #define MLX90614_ID2                 (MLX90614_OP_EEPROM | 0x1D) /*[read-only] 2 ID register */
  34. #define MLX90614_ID3                 (MLX90614_OP_EEPROM | 0x1E) /*[read-only] 3 ID register */
  35. #define MLX90614_ID4                 (MLX90614_OP_EEPROM | 0x1F) /*[read-only] 4 ID register */

  36. #define MLX90614_DBG_OFF 0
  37. #define MLX90614_DBG_ON 1
  38. #define MLX90614_DBG_MSG_W 0
  39. #define MLX90614_DBG_MSG_R 1

  40. /* Exported functions prototypes ---------------------------------------------*/
  41. uint8_t CRC8_Calc(uint8_t*, const uint8_t);
  42. void MLX90614_WriteReg(uint8_t, uint8_t, uint16_t);
  43. uint16_t MLX90614_ReadReg(uint8_t, uint8_t, uint8_t);
  44. float MLX90614_ReadTemp(uint8_t, uint8_t);
  45. void MLX90614_ScanDevices (void);
  46. void MLX90614_SendDebugMsg(uint8_t, uint8_t, uint8_t, uint16_t, uint8_t, uint8_t);



 楼主| gaoyang9992006 发表于 2020-9-24 21:48 | 显示全部楼层
完整代码,回复可见,顺便还有提供Arduino的驱动代码。
倔强的小轩 发表于 2020-9-24 21:54 | 显示全部楼层
感谢大佬
倔强的小轩 发表于 2020-9-24 21:55 | 显示全部楼层
益力多 发表于 2020-9-24 21:57 | 显示全部楼层
刚好有个模块,马上下载试试
caoenq 发表于 2020-9-25 08:42 | 显示全部楼层
大佬就是大佬。
WENHX 发表于 2020-9-25 08:59 | 显示全部楼层
Arduino的驱动代码
LM莫 发表于 2020-9-25 10:46 | 显示全部楼层
支持下,谢谢分享。正好用到这个了,看看对我有没有帮助。
wakayi 发表于 2020-10-10 12:53 | 显示全部楼层
感谢楼主的分享
wowu 发表于 2020-10-10 12:55 | 显示全部楼层
非常不错的资料
xiaoqizi 发表于 2020-10-10 12:57 | 显示全部楼层
我想要看隐藏内容
木木guainv 发表于 2020-10-10 12:58 | 显示全部楼层
正好可以参照一下
aoyi 发表于 2020-10-10 12:58 | 显示全部楼层
看看有没有帮助
 楼主| gaoyang9992006 发表于 2020-10-10 15:35 | 显示全部楼层
aoyi 发表于 2020-10-10 12:58
看看有没有帮助

有帮助的话反馈反馈,都下了不说话跑了。
antusheng 发表于 2020-10-10 15:41 | 显示全部楼层
我下载备用。
xinxianshi 发表于 2020-10-10 15:41 | 显示全部楼层
下载学一下。
wahahaheihei 发表于 2020-10-10 15:41 | 显示全部楼层
应该没问题。
gejigeji521 发表于 2020-10-10 15:43 | 显示全部楼层
LL库的怎么移植
捉虫天师 发表于 2020-10-10 19:11 | 显示全部楼层
我也看看。。
huangcunxiake 发表于 2020-10-10 19:12 | 显示全部楼层
想下载看看资料。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:如果你觉得我的分享或者答复还可以,请给我点赞,谢谢。

2052

主题

16402

帖子

222

粉丝
快速回复 在线客服 返回列表 返回顶部