#ifndef USART_H #define USART_H #include "at32f403a_407.h" #include "FreeRTOS.h" #include "semphr.h" #include #include /*------индексы в массиве uarts --------------*/ #define DEBUG_USART 0 // USART1 #define MODEM_USART 1 // USART2 #define EXT_1_USART 2 // USART3 #define EXT_2_USART 3 // USART4 #define EXT_3_USART 4 // USART5 #define EXT_4_USART 5 // USART6 /** * @brief Скорость USART */ typedef enum { BRD_1200 = 0, BRD_2400, BRD_4800, BRD_9600, BRD_19200, BRD_38400, BRD_57600, BRD_115200, BRD_230400, BRD_460800, } rate_t; /** * @brief Длина данных USART */ typedef enum { DATABITS_7 = 0, DATABITS_8, } databits_t; /** * @brief Количество стоповых бит USART */ typedef enum { STOP_0_5 = 0, STOP_1, STOP_1_5, STOP_2, } stopbits_t; /** * @brief Четность прозрачного порта */ typedef enum { NO_PAR = 0, ODD_PAR, EVEN_PAR, MAX_PARITY_TYPES } parity_t; typedef struct{ rate_t baud; // Скорость порта parity_t parity; // Четность databits_t databits; // Число бит данных stopbits_t stopbits; // Число стоп-бит }uart_settings_t; #endif /* #ifndef USART_H */ /****************************** (C) LiteMesh ***************** end of file ****/