2024-12-09 09:53:43 +00:00
|
|
|
|
|
|
|
|
|
#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(void);
|
|
|
|
|
void Init_GW485_uart(void);
|
2024-12-12 10:00:30 +00:00
|
|
|
|
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);
|
2024-12-09 09:53:43 +00:00
|
|
|
|
|
|
|
|
|
void start_gw485Rx_It(void);
|
|
|
|
|
void start_bat485Rx_It(void);
|
|
|
|
|
|
|
|
|
|
extern void gw485_RxIt(void);
|
|
|
|
|
extern void bat485_RxIt(void);
|
|
|
|
|
|
|
|
|
|
#endif
|