E52.h 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  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. #include "stdlib.h"
  11. // 设备信息结构体
  12. typedef struct __attribute__((packed)){
  13. uint8_t broadcast_type; // 广播类型 01:单波 02:广播 03:多播
  14. uint8_t loraDeviceAddress_H; //设备地址高位 默认0
  15. uint8_t loraDeviceAddress_L; //设备地址低位 默认0
  16. uint8_t target_addr_H; // 目标地址高字节 默认FF
  17. uint8_t target_addr_L; // 目标地址低字节 默认FF
  18. uint8_t powerValue; //电量 默认0
  19. uint8_t workMode; //工作模式 大概区分,发送模式,接受模式。
  20. // uint8_t receivingNewDataFlag; //接收lora新数据
  21. uint8_t sendBlDataFlag; //发送蓝牙数据
  22. uint8_t newLoraDataFlag; //接收lora数据成功标志位。1:有新数据来。0.表示等待接收数据。后续可以改成队列类型。
  23. uint16_t timeCount; //定时器计数
  24. uint16_t forwardBLAndLoraDataDuration; //转发蓝牙数据持续时间高位ms
  25. } Device_structure;
  26. // 只声明变量,不定义变量,使用extern关键字
  27. extern Device_structure deviceInfo;
  28. // 心跳数据结构体
  29. typedef struct __attribute__((packed)){
  30. uint8_t frame_header_H; // 帧头高字节
  31. uint8_t frame_header_L; // 帧头低字节
  32. uint8_t function_code; // 功能码
  33. uint8_t badge_addr_high; //胸牌地址高字节
  34. uint8_t badge_addr_low; //胸牌地址低字节
  35. uint8_t broadcast_type; // 广播类型
  36. uint8_t target_addr_H; // 目标地址高字节
  37. uint8_t target_addr_L; // 目标地址低字节
  38. uint8_t frame_tail_H; // 帧尾高字节
  39. uint8_t frame_tail_L; // 帧尾低字节
  40. } Heartbeat_structure;
  41. void E52_Heartbeat_Fun(void);
  42. // 发送蓝牙结构体
  43. typedef struct __attribute__((packed)){
  44. uint8_t frame_header_H; // 帧头高字节
  45. uint8_t frame_header_L; // 帧头低字节
  46. uint8_t function_code; // 功能码
  47. uint8_t badge_addr_high; //胸牌地址高字节
  48. uint8_t badge_addr_low; //胸牌地址低字节
  49. uint8_t bl_data[8]; //蓝牙数据
  50. uint8_t finish_send; // 是否完成发送
  51. // uint8_t target_addr_H; // 目标地址高字节
  52. // uint8_t target_addr_L; // 目标地址低字节
  53. uint8_t frame_tail_H; // 帧尾高字节
  54. uint8_t frame_tail_L; // 帧尾低字节
  55. } SendBlData_structure;
  56. void E52_Send_Bl_Data_Fun(void);
  57. void E52_Analyze_Data(void);
  58. #endif //E52_H