soft_uart.h 857 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. #ifndef __SOFT_UART_H
  2. #define __SOFT_UART_H
  3. #include "stdbool.h"
  4. #include "stdio.h"
  5. #include "stm32f3xx_hal.h"
  6. #define MAX_UART_BUF 256
  7. enum vk_update_device
  8. {
  9. // Update_buf 元素地址
  10. HEAD = 0,
  11. LEN = 1,
  12. SYSTEM_ID = 3,
  13. TOTAL_PACK_NUM = 2,
  14. GROUP_ID = 4,
  15. MSGID_ID = 5,
  16. PAYLOAD = 6,
  17. //更新步骤
  18. UPDATE_START = 200,
  19. UPDATE_ING = 201,
  20. UPDATE_END = 202,
  21. };
  22. typedef struct {
  23. uint8_t data[MAX_UART_BUF];
  24. bool usebuf_flag;
  25. } Update;
  26. extern Update update;
  27. extern bool update_complete;
  28. extern uint8_t FMU_uart_buf[MAX_UART_BUF];
  29. void uart2_send_msg(uint8_t *data, uint8_t size);
  30. void Update_ack_fmu(uint8_t msg_id, uint8_t *ackbuf);
  31. void update_function(void);
  32. void USER_UART_IRQHandler(UART_HandleTypeDef *huart);
  33. bool check_usart_is_ok(void);
  34. void init_usart(void);
  35. void send_pmu_version(void);
  36. #endif