E52.h 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. //
  2. // Created by EDZ on 25-9-11.
  3. //
  4. #ifndef E52_H
  5. #define E52_H
  6. #include "main.h"
  7. #include <stdio.h>
  8. #include <sys/types.h>
  9. #include "string.h"
  10. // 设备信息结构体
  11. typedef struct __attribute__((packed)){
  12. uint8_t broadcast_type; // 广播类型 01:单波 02:广播 03:多播
  13. uint8_t loraDeviceAddress_H; //设备地址高位 默认0
  14. uint8_t loraDeviceAddress_L; //设备地址低位 默认0
  15. uint8_t target_addr_H; // 目标地址高字节 默认FF
  16. uint8_t target_addr_L; // 目标地址低字节 默认FF
  17. uint8_t powerValue; //电量 默认0
  18. uint8_t workMode; //工作模式 大概区分,发送模式,接受模式。
  19. // uint8_t receivingNewDataFlag; //接收lora新数据
  20. uint8_t sendBlDataFlag; //发送蓝牙数据
  21. } Device_structure;
  22. // 只声明变量,不定义变量,使用extern关键字
  23. extern Device_structure deviceInfo;
  24. // 心跳数据结构体
  25. typedef struct __attribute__((packed)){
  26. uint8_t frame_header_H; // 帧头高字节
  27. uint8_t frame_header_L; // 帧头低字节
  28. uint8_t function_code; // 功能码
  29. uint8_t badge_addr_high; //胸牌地址高字节
  30. uint8_t badge_addr_low; //胸牌地址低字节
  31. uint8_t broadcast_type; // 广播类型
  32. uint8_t target_addr_H; // 目标地址高字节
  33. uint8_t target_addr_L; // 目标地址低字节
  34. uint8_t frame_tail_H; // 帧尾高字节
  35. uint8_t frame_tail_L; // 帧尾低字节
  36. } Heartbeat_structure;
  37. void E52_Heartbeat_Fun(void);
  38. // 发送蓝牙结构体
  39. typedef struct __attribute__((packed)){
  40. uint8_t frame_header_H; // 帧头高字节
  41. uint8_t frame_header_L; // 帧头低字节
  42. uint8_t function_code; // 功能码
  43. uint8_t badge_addr_high; //胸牌地址高字节
  44. uint8_t badge_addr_low; //胸牌地址低字节
  45. uint8_t bl_data[8]; //蓝牙数据
  46. uint8_t finish_send; // 是否完成发送
  47. // uint8_t target_addr_H; // 目标地址高字节
  48. // uint8_t target_addr_L; // 目标地址低字节
  49. uint8_t frame_tail_H; // 帧尾高字节
  50. uint8_t frame_tail_L; // 帧尾低字节
  51. } SendBlData_structure;
  52. void E52_Send_Bl_Data_Fun(void);
  53. void E52_Analyze_Data(void);
  54. #endif //E52_H