/** @brief: config uartDebug. here it uses uartPort3 ****************************************************************/ void UartDebugConfig0(void) { UART_HandleTypeDef * huart = calloc(1, sizeof(UART_HandleTypeDef)); REQUIRE(huart != 0); huartDebugPort = huart;//huartDebugPort must be defined as early as possible bf enable interrupt rxDebugDataRingBuffer = RingBufferConstructor(); REQUIRE(rxDebugDataRingBuffer != 0); RingBufferConfig(rxDebugDataRingBuffer, RX_BUFFER_SIZE, sizeof(int8_t)); txDebugDataRingBuffer = RingBufferConstructor(); REQUIRE(txDebugDataRingBuffer != 0); RingBufferConfig(txDebugDataRingBuffer, TX_BUFFER_SIZE, sizeof(int8_t)); txDebugLengthRingBuffer = RingBufferConstructor(); REQUIRE(txDebugLengthRingBuffer != 0); RingBufferConfig(txDebugLengthRingBuffer, TX_BUFFER_SIZE, sizeof(int8_t)); #if DEBUGUART_ID == 6 Uart6PortConfig(huart); #elif DEBUGUART_ID == 1 Uart1PortConfig(huart); #elif DEBUGUART_ID == 3 Uart3PortConfig(huart); #elif DEBUGUART_ID == 2 Uart2PortConfig(huart); #endif huart->pRxBuffPtr = (uint8_t *) rxMsgBuffer; huart->pTxBuffPtr = (uint8_t *) txMsgBuffer; HAL_UART_Receive_IT(huart, (uint8_t *) (huart->pRxBuffPtr), 1); }
void UartPort6StructConfig(UartPort ** me) { RingBuffer * rxRingBuff = malloc(sizeof(RingBuffer)); (*me)->rxRingBuff = rxRingBuff; RingBuffer *queuePtr = (*me)->rxRingBuff; (*me)->portID = 6; (*me)->baudrate = 115200; (*me)->thisUsart = USART6; (*me)->txDMAStream = DMA2_Stream6; (*me)->rxDMAStream = DMA2_Stream1; (*me)->txBufSize = UART_BUFSIZE; (*me)->rxBufSize = UART_BUFSIZE; RingBufferStructInit(queuePtr); RingBufferConfig(queuePtr, UART_BUFSIZE, sizeof(char)); }