| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- #ifndef _UART_H_
- #define _UART_H_
- #include "gd32f10x.h"
- #include <stdio.h>
- #include <string.h>
- #include "timeout.h"
- extern uint8_t g_bPrintDebug;
- extern void usart0_config(void);
- extern void data_dump(const char *name, uint8_t *data, uint16_t length);
- #define U1_RX_SIZE 2048
- #define U1_RX_MAX 600
- #define NUM 10
- #define USART1_TX_SIZE 640
- typedef struct {
- uint8_t *start;
- uint8_t *end;
- }UCB_URxBuffptr;
- typedef struct {
- uint16_t URxCounter; //统计接收数据量
- UCB_URxBuffptr URxDataPtr[NUM];
- UCB_URxBuffptr *URxDataIN;
- UCB_URxBuffptr *URxDataOUT;
- UCB_URxBuffptr *URxDataEND;
- }UCB_CB;
- typedef struct _uart_info_{
- uint8_t txfifo[640];
- uint8_t waitMsg[16]; // 等待接收的字符串
- uint8_t cmd;
- uint8_t bSdFinish; // 发送完成
- }uartInfo_t;
- extern uartInfo_t g_uart1Info;
- extern uint8_t U1_RxBuff[U1_RX_SIZE];
- extern UCB_CB U1CB;
- extern void dma_init_uart_4G(void);
- extern void usart_4G_dma_init(void);
- extern void dma_config_rx_mode_update(void);
- #define USART3_TX_SIZE 256
- #define USART3_RX_SIZE 256
- extern uint8_t usart485TX_Buffer[USART3_TX_SIZE];
- extern uint8_t usart485RX_Buffer[USART3_RX_SIZE];
- typedef struct _uart_485_info_{
- uint8_t bSdFinish; //
- uint8_t bRcv;
- timeout_t time; // 发送的时候启动 收到数据时结束
- }__attribute__((packed))uart485Info_t;
- extern uart485Info_t g_uart485;
- extern void dam_init_uart_485(void);
- extern void usart_485_dma_init(void);
- extern void usart_tx_dma_send(uint32_t usart_periph,uint8_t* data_buffer,uint16_t length);
- #endif
|