bsp.h 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. #ifndef _BSP_H
  2. #define _BSP_H
  3. #include <stdio.h>
  4. #include <string.h>
  5. #include <stdlib.h>
  6. #include <stdarg.h>
  7. #include <math.h>
  8. #include "stdbool.h"
  9. #include "cmsis_os.h"
  10. #include "can.h"
  11. #include "usart.h"
  12. #include "Motion_model.h"
  13. #include "CAT_LOG.h"
  14. /*------------SBUS 宏定义----------*/
  15. #define SBUS_SINGLE_BUFSIZE 25 //福斯
  16. //#define BUFFER_SIZE 2048 //大环形队列长度
  17. //#define buffer_size 256 //小环形队列长度
  18. #define STARTUP_DELAY_MS 3000 // PWM启动延迟时间
  19. typedef struct
  20. {
  21. uint16_t CH1;//通道1数值 左摇杆 左推240 1024 右推1807
  22. uint16_t CH2;//通道2数值 左摇杆 上推1807 1017 下推240
  23. uint16_t CH3;//通道3数值
  24. uint16_t CH4;//通道4数值
  25. uint16_t CH5;//通道5数值 一按键两档 关 240 开1807
  26. uint16_t CH6;//通道6数值 二 三挡 关 240 中1024 开1807
  27. uint16_t CH7;//通道7数值 三 三挡 关 240 中1024 开1807
  28. uint16_t CH8;//通道8数值 四 两档 关 240 开1807
  29. uint16_t CH9;//通道9数值 后左 自复位 关 240 开1807
  30. uint16_t CH10;//通道10数值 后右 自复位 关 240 开1807
  31. uint16_t CH11;//通道11数值
  32. uint16_t CH12;//通道12数值
  33. uint16_t CH13;//通道13数值
  34. uint16_t CH14;//通道14数值
  35. uint16_t CH15;//通道15数值
  36. uint16_t CH16;//通道16数值
  37. uint8_t ConnectState;//遥控器与接收器连接状态 0=未连接,1=正常连接
  38. }SBUS_CH_Struct;
  39. typedef union bits
  40. {
  41. uint8_t data;
  42. struct
  43. {
  44. uint8_t bool_0 : 1;//第0位
  45. uint8_t bool_1 : 1;//第1位
  46. uint8_t bool_2 : 1;//第2位
  47. uint8_t bool_3 : 1;//第3位
  48. uint8_t bool_4 : 1;//第4位
  49. uint8_t bool_5 : 1;//第5位
  50. uint8_t bool_6 : 1;//第6位
  51. uint8_t bool_7 : 1;//第7位
  52. }Bit;
  53. }_NOM;
  54. typedef enum {
  55. PWM_STATE_DISABLED = 0, // 失能状态
  56. PWM_STATE_STARTUP, // 启动阶段(先执行最低档抛洒)
  57. PWM_STATE_NORMAL // 正常响应档位状态
  58. } PWM_StateTypeDef;
  59. extern LOOPRXTYPE U_RX_BUFFER[Usart_Num];
  60. extern SBUS_CH_Struct SBUS_CH;
  61. extern _NOM Re_Bool;
  62. extern _NOM Flag_Bool;
  63. extern uint8_t RTK_Send_Flag;
  64. #define SBUS_KEY_MAX 0x70F
  65. #define SBUS_KEY_MIN 0x0F0
  66. #define SBUS_KEY_MIDDLE 0x400
  67. //static void update_sbus(uint8_t *buf);
  68. void Recive_Handle_Usart1 (void);
  69. void Recive_Handle_Usart3 (void);
  70. void Recive_Handle_Usart4 (void);
  71. void Recive_Handle_Usart6 (void);
  72. void sbus_loopdead (void);
  73. int16_t JDZ_4_20(int16_t In_Put,int32_t AIMAX,int32_t AIMIN,int32_t SDMAX,int32_t SDMIN );
  74. void Sbus_Can_Handle(void);
  75. void DP_Path_compression(void);
  76. void Time_Slicing(void);
  77. void Auto_Model(double time);
  78. void Path_records (void);
  79. void cs (void);
  80. void PWM_send(void);
  81. void PWM_Send_Tim(void);
  82. #endif