chargeController/APP/functionalModule/Inc/uart_dev.h

56 lines
1.6 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#ifndef FM_UART_DEV_H_
#define FM_UART_DEV_H_
#include "main.h"
#include "HD_COMM.h"
#include "comm_types.h"
#define ASCII_CHAR_BACKSPACE 0x08 /* '\b' */
#define ASCII_CHAR_CHARACTER_TABULATION 0x09 /* '\t' */
#define ASCII_CHAR_LINE_FEED 0x0A /* '\n' */
#define ASCII_CHAR_LINE_TABULATION 0x0B /* '\v' */
#define ASCII_CHAR_FORM_FEED 0x0C /* '\f' */
#define ASCII_CHAR_CARRIAGE_RETURN 0x0D /* '\r' */
typedef enum{
DEBUG_UART_INDEX = 4,
BAT485_UART_INDEX = 3,
GW485_UART_INDEX = 2,
}uartIndex_e;
/* UART 驱动数据结构对应一个uart设备 */
typedef struct _uart_device_info{
uint8_t init;
uartIndex_e uart_index;
uint32_t uart_baudrate;
RingQueue uart_ring_queue;
}uart_device_info;
typedef uint32_t device_handle;
extern device_handle g_gw485_uart2_handle;
extern device_handle g_bat485_uart3_handle;
extern device_handle g_debug_uart4_handle;
extern uint8_t rx_gw485_buf[1];
extern uint8_t rx_bat485_buf[1];
void uart_close(uartIndex_e uart_index);
void uart_sendstr(device_handle device, char *str);
void debug_printf(char *format, ...);
void Init_debug_uart(void);
void Init_BAT485_uart(uint32_t baud);
void Init_GW485_uart(uint32_t baud);
uint8_t uart_dev_in_char(device_handle device);
int uart_dev_char_present(device_handle device);
void uart_dev_write(device_handle device, void *data, int len);
void start_gw485Rx_It(void);
void start_bat485Rx_It(void);
extern void gw485_RxIt(void);
extern void bat485_RxIt(void);
#endif