1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- #ifndef __USARTBRIDGETERMINAL_H
- #define __USARTBRIDGETERMINAL_H
- #include "stm32g4xx_hal.h"
- #include "terminal.h"
- //Usart configuration
- #define USART_BRIDGE_USART USART3
- #define USART_BRIDGE_SPEED 115200
- #define USART_BRIDGE_IRQn USART3_IRQn
- #define USART_BRIDGE_IRQHandler USART3_IRQHandler
- #define USART_BRIDGE_AF GPIO_AF7_USART3
- #define USART_BRIDGE_TX_PIN GPIO_PIN_10
- #define USART_BRIDGE_RX_PIN GPIO_PIN_11
- #define USART_BRIDGE_TX_PORT GPIOB
- #define USART_BRIDGE_RX_PORT GPIOB
- #define USART_BRIDGE_CLK_ENABLE __USART3_CLK_ENABLE();
- #define USART_BRIDGE_TX_PORT_CLK_ENABLE __HAL_RCC_GPIOB_CLK_ENABLE();
- #define USART_BRIDGE_RX_PORT_CLK_ENABLE __HAL_RCC_GPIOB_CLK_ENABLE();
- //-----------------------------------------------------------------------------
- // Connect usartBridge objectt with ANSI C Interfaces
- //-----------------------------------------------------------------------------
- //Task for freertos function
- void task_usartbridge(void *pvParameters);
- //Ansi C interface for usartBridge object
- void 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);
- void clearTxNoEmpty();
- private:
- void InitUsart();
- public:
-
- UART_HandleTypeDef uart;
- char m_uartByte;
- bool m_state;
-
- private:
- uint32_t m_sizeCache;
- uint32_t m_readIndex;
- bool m_isTxNoEmpty;
- };
- extern UsartBridgeTerminal terminalUsartBridge;
- #endif // USARTBRIDGETERMINAL_H
|