void DMA1_Ch4_7_DMAMUX1_OVR_IRQHandler(void) { / USER CODE BEGIN DMA1_Ch4_7_DMAMUX1_OVR_IRQn 0 /
/ USER CODE END DMA1_Ch4_7_DMAMUX1_OVR_IRQn 0 / //HAL_DMA_IRQHandler(&hdma_dac1_ch1); HAL_DMA_IRQHandler(&hdma_usart1_tx); HAL_DMA_IRQHandler(&hdma_adc1); //HAL_DMA_IRQHandler(&hdma_usart1_tx);
/ USER CODE BEGIN DMA1_Ch4_7_DMAMUX1_OVR_IRQn 1 /
/ USER CODE END DMA1_Ch4_7_DMAMUX1_OVR_IRQn 1 / }
else if(uartHandle->Instance==USART1) //USART1-初始化20231211 { HAL_RCC_USART1_CLK_ENABLE(); HAL_RCC_GPIOA_CLK_ENABLE();
GPIO_InitStruct.Pin = Oxy_Tx_Pin; GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; GPIO_InitStruct.Alternate = GPIO_AF4_USART1; HAL_GPIO_Init(Oxy_Tx_GPIO_Port, &GPIO_InitStruct);
GPIO_InitStruct.Pin = Oxy_Rx_Pin; GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; GPIO_InitStruct.Alternate = GPIO_AF4_USART1; HAL_GPIO_Init(Oxy_Rx_GPIO_Port, &GPIO_InitStruct);
hdma_usart1_tx.Instance = DMA1_Channel4; //dma没有初始化-4-6空闲 hdma_usart1_tx.Init.Request = DMA_REQUEST_USART1_TX; hdma_usart1_tx.Init.Direction = DMA_MEMORY_TO_PERIPH; hdma_usart1_tx.Init.PeriphInc = DMA_PINC_DISABLE; hdma_usart1_tx.Init.MemInc = DMA_MINC_ENABLE; hdma_usart1_tx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE; hdma_usart1_tx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE; hdma_usart1_tx.Init.Mode = DMA_CIRCULAR; hdma_usart1_tx.Init.Priority = DMA_PRIORITY_LOW; if (HAL_DMA_Init(&hdma_usart1_tx) != HAL_OK) { Error_Handler(); }
__HAL_LINKDMA(uartHandle,hdmatx,hdma_usart1_tx);
HAL_NVIC_SetPriority(USART1_IRQn, 3, 0); HAL_NVIC_EnableIRQ(USART1_IRQn); }
void MX_USART1_UART_Init(void) //氧浓度20231208 {
huart1.Instance = USART1; huart1.Init.BaudRate = 115200; huart1.Init.WordLength = UART_WORDLENGTH_8B; huart1.Init.StopBits = UART_STOPBITS_1; huart1.Init.Parity = UART_PARITY_NONE; huart1.Init.Mode = UART_MODE_TX_RX; huart1.Init.HwFlowCtl = UART_HWCONTROL_NONE; huart1.Init.OverSampling = UART_OVERSAMPLING_16; huart1.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE; huart1.Init.ClockPrescaler = UART_PRESCALER_DIV1; huart1.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT;//20230605 //huart1.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_RXOVERRUNDISABLE_INIT;//20230601 //huart1.AdvancedInit.OverrunDisable = UART_ADVFEATURE_OVERRUN_DISABLE;//20230601 if (HAL_UART_Init(&huart1) != HAL_OK) { Error_Handler(); } if (HAL_UARTEx_SetTxFifoThreshold(&huart1, UART_TXFIFO_THRESHOLD_1_8) != HAL_OK) { Error_Handler(); } if (HAL_UARTEx_SetRxFifoThreshold(&huart1, UART_RXFIFO_THRESHOLD_1_8) != HAL_OK) { Error_Handler(); } if (HAL_UARTEx_DisableFifoMode(&huart1) != HAL_OK) { Error_Handler(); }
} |