| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 | #ifndef __USARTBRIDGETERMINAL_H#define __USARTBRIDGETERMINAL_H#include "at32f403a_407.h"#include "terminal.h"#define USART_BRIDGE_USART            USART1#define USART_BRIDGE_SPEED            115200 #define USART_BRIDGE_IRQn             USART1_IRQn#define USART_BRIDGE_IRQHandler       USART1_IRQHandler#define USART_BRIDGE_TX_PIN           GPIO_PINS_9#define USART_BRIDGE_RX_PIN           GPIO_PINS_10#define USART_BRIDGE_TX_PORT          GPIOA#define USART_BRIDGE_RX_PORT          GPIOA#define USART_BRIDGE_CLK_ENABLE       crm_periph_clock_enable(CRM_USART1_PERIPH_CLOCK, TRUE);#define USART_BRIDGE_TX_PORT_CLK_ENABLE  crm_periph_clock_enable(CRM_GPIOA_PERIPH_CLOCK, TRUE);#define USART_BRIDGE_RX_PORT_CLK_ENABLE  crm_periph_clock_enable(CRM_GPIOA_PERIPH_CLOCK, TRUE);//-----------------------------------------------------------------------------// Connect usartBridge objectt with ANSI C Interfaces//-----------------------------------------------------------------------------//Task for freertos functionvoid task_usartbridge(void *pvParameters);//Ansi C interface for usartBridge objectvoid configure_usartbridge();void processing_usartbridge();void print_usartbridge(const char * str);void vTaskUsartBridge(void *params);void HAL_UART_RxCpltCallbackTerminal(void);void HAL_UART_TxCpltCallbackTerminal(void);//-----------------------------------------------------------------------------// Usart bridge class for terminal//-----------------------------------------------------------------------------class UsartBridgeTerminal{public:    UsartBridgeTerminal();    ~UsartBridgeTerminal();    void configure();    void print(const char *str);public:    void recvByte();    void sendByte(uint8_t byte);private:    void InitUsart();public:        char               m_uartByte;    bool               m_state;    private:    uint32_t m_sizeCache;    uint32_t m_readIndex;};extern UsartBridgeTerminal terminalUsartBridge;#endif // USARTBRIDGETERMINAL_H
 |