#ifndef __SOFT_UART_H #define __SOFT_UART_H #include "stdbool.h" #include "stdio.h" #include "stm32f3xx_hal.h" #define MAX_UART_BUF 256 enum vk_update_device { // Update_buf 元素地址 HEAD = 0, LEN = 1, SYSTEM_ID = 3, TOTAL_PACK_NUM = 2, GROUP_ID = 4, MSGID_ID = 5, PAYLOAD = 6, //更新步骤 UPDATE_START = 200, UPDATE_ING = 201, UPDATE_END = 202, }; typedef struct { uint8_t data[MAX_UART_BUF]; bool usebuf_flag; } Update; extern Update update; extern bool update_complete; extern uint8_t FMU_uart_buf[MAX_UART_BUF]; void uart2_send_msg(uint8_t *data, uint8_t size); void Update_ack_fmu(uint8_t msg_id, uint8_t *ackbuf); void update_function(void); void USER_UART_IRQHandler(UART_HandleTypeDef *huart); bool check_usart_is_ok(void); void init_usart(void); void send_pmu_version(void); #endif