bsp.h 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  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数值 左摇杆 左推282 1002 右推1722
  22. uint16_t CH2;//通道2数值 左摇杆 上推282 1002 下推1722
  23. uint16_t CH3;//通道3数值
  24. uint16_t CH4;//通道4数值
  25. uint16_t CH5;//通道5数值 E按键3档 左 282 中间1002 右1722
  26. uint16_t CH6;//通道6数值 F按键3档 左 282 中间1002 右1722
  27. uint16_t CH7;//通道7数值 A 2档 关 282 开1722
  28. uint16_t CH8;//通道8数值 B 2档 关 282 开1722
  29. uint16_t CH9;//通道9数值 C 2档 关 282 开1722
  30. uint16_t CH10;//通道10数值 D 2档 关 282 开1722
  31. uint16_t CH11;//通道11数值 G 自复 左 282 中间1002 右1722
  32. uint16_t CH12;//通道12数值 H 自复 左 282 中间1002 右1722
  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. typedef union Data_Move2_u
  60. {
  61. int8_t data_Byte[2] ;
  62. int16_t data_int16 ;
  63. }_uint2B; //共同体计算
  64. extern LOOPRXTYPE U_RX_BUFFER[Usart_Num];
  65. extern SBUS_CH_Struct SBUS_CH;
  66. extern _NOM Re_Bool;
  67. extern _NOM Flag_Bool;
  68. extern uint8_t RTK_Send_Flag;
  69. #define SBUS_KEY_MAX 0x6BA //1722
  70. #define SBUS_KEY_MIN 0x11A //282
  71. #define SBUS_KEY_MIDDLE 0x3EA //1002
  72. //static void update_sbus(uint8_t *buf);
  73. void Recive_Handle_Usart1 (void);
  74. void Recive_Handle_Usart3 (void);
  75. void Recive_Handle_Usart4 (void);
  76. void Recive_Handle_Usart6 (void);
  77. void sbus_loopdead (void);
  78. int16_t JDZ_4_20(int16_t In_Put,int32_t AIMAX,int32_t AIMIN,int32_t SDMAX,int32_t SDMIN );
  79. void Sbus_Can_Handle(void);
  80. void DP_Path_compression(void);
  81. void Time_Slicing(void);
  82. void Auto_Model(double time);
  83. void Path_records (void);
  84. void cs (void);
  85. void PWM_send(void);
  86. void PWM_Send_Tim(void);
  87. #endif