66 lines
1.6 KiB
C
66 lines
1.6 KiB
C
|
#ifndef _USART_H
|
|||
|
#define _USART_H
|
|||
|
|
|||
|
#include "gd32f4xx.h"
|
|||
|
#include "ring_queue.h"
|
|||
|
#include "includes.h"
|
|||
|
#include "comm_types.h"
|
|||
|
#include "agent_hyt.h"
|
|||
|
|
|||
|
typedef u_int32_t device_handle;
|
|||
|
|
|||
|
#define TEST USART0
|
|||
|
#define UART_485 USART1
|
|||
|
#define UART_422 USART2
|
|||
|
|
|||
|
|
|||
|
#define PTZ_UART_485_BUFF_SIZE 100
|
|||
|
#define PTZ_UART_422_BUFF_SIZE 100
|
|||
|
|
|||
|
#define PTZ_UART_485_INDEX 1 //485ʹ<35>ô<EFBFBD><C3B4><EFBFBD>1
|
|||
|
#define PTZ_UART_422_INDEX 2 //422ʹ<32>ô<EFBFBD><C3B4><EFBFBD>2
|
|||
|
|
|||
|
#define PTZ_UART_485_TX gpio_bit_set(GPIOD, GPIO_PIN_7)//485<38><35><EFBFBD><EFBFBD>
|
|||
|
#define PTZ_UART_485_RX gpio_bit_reset(GPIOD, GPIO_PIN_7)//485<38><35><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
extern device_handle uart_485_handle ;
|
|||
|
extern device_handle uart_422_handle ;
|
|||
|
|
|||
|
extern BSP_OS_SEM ser_mutex;
|
|||
|
//<2F><><EFBFBD><EFBFBD>
|
|||
|
//RS422
|
|||
|
extern u_int8_t ptz_uart_422_buff[PTZ_UART_422_BUFF_SIZE];
|
|||
|
extern char uart_422_state ;
|
|||
|
//RS485
|
|||
|
extern u_int8_t ptz_uart_485_buff[PTZ_UART_485_BUFF_SIZE];
|
|||
|
extern char uart_485_state ;
|
|||
|
|
|||
|
|
|||
|
|
|||
|
typedef struct _uart_device_info{
|
|||
|
u_int8_t init; //<2F><><EFBFBD>豸<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><D7BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݱ<EFBFBD>־
|
|||
|
u_int8_t index; //uart<72>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><30>1<EFBFBD><31>2...
|
|||
|
RingQueue uart_ring_queue; //<2F><><EFBFBD><EFBFBD>ά<EFBFBD><CEAC><EFBFBD>豸<EFBFBD>Ľ<EFBFBD><C4BD>ջ<EFBFBD><D5BB><EFBFBD><EFBFBD><EFBFBD>ѭ<EFBFBD><D1AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
BSP_OS_SEM ser_mutex;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>÷<EFBFBD><C3B7><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ֽں<D6BD><DABA><EFBFBD>
|
|||
|
BSP_OS_SEM port_mutex;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ֽ<EFBFBD>
|
|||
|
BSP_OS_SEM read_mutex;//<2F><><EFBFBD>ڶ<EFBFBD><DAB6><EFBFBD><EFBFBD><EFBFBD>buffer
|
|||
|
BSP_OS_SEM sem_recv_data;//<2F><><EFBFBD><EFBFBD>֪ͨ<CDA8><D6AA><EFBFBD>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
}uart_device_info;
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
void Usart_init_module();
|
|||
|
void IRQHandler_485_process(u_int8_t data);
|
|||
|
void IRQHandler_422_process(u_int8_t data);
|
|||
|
void ptz_uart_dev_send(device_handle device, void *data, int len);
|
|||
|
char ptz_uart_dev_in_char(device_handle device);
|
|||
|
int ptz_uart_dev_char_present(device_handle device);
|
|||
|
void init_term_uart();
|
|||
|
|
|||
|
#endif
|