| | |
| | | TIM_HandleTypeDef htim3; |
| | | TIM_HandleTypeDef htim4; |
| | | |
| | | UART_HandleTypeDef huart4; |
| | | UART_HandleTypeDef huart1; |
| | | UART_HandleTypeDef huart2; |
| | | UART_HandleTypeDef huart3; |
| | | UART_HandleTypeDef huart6; |
| | | DMA_HandleTypeDef hdma_uart4_rx; |
| | | DMA_HandleTypeDef hdma_usart1_rx; |
| | | DMA_HandleTypeDef hdma_usart1_tx; |
| | | DMA_HandleTypeDef hdma_usart2_rx; |
| | |
| | | static void MX_TIM3_Init(void); |
| | | static void MX_USART6_UART_Init(void); |
| | | static void MX_TIM4_Init(void); |
| | | static void MX_UART4_Init(void); |
| | | void StartDefaultTask(void *argument); |
| | | |
| | | /* USER CODE BEGIN PFP */ |
| | |
| | | MX_TIM3_Init(); |
| | | MX_USART6_UART_Init(); |
| | | MX_TIM4_Init(); |
| | | MX_UART4_Init(); |
| | | /* USER CODE BEGIN 2 */ |
| | | UART6_StartReceive(); |
| | | Uart_Register(UART_ID_DBG, &huart1); |
| | | Uart_Register(UART_ID_GPS, &huart2); |
| | | Uart_Register(UART_ID_4G, &huart3); |
| | | Uart_Register(UART_ID_SBUS, &huart4); |
| | | Uart_Register(UART_ID_BT, &huart6); |
| | | |
| | | HAL_TIM_PWM_Start(&htim3, TIM_CHANNEL_1); // MOTOR_TIM |
| | |
| | | htim1.Init.Period = 13513; |
| | | htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; |
| | | htim1.Init.RepetitionCounter = 0; |
| | | htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_ENABLE; |
| | | htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; |
| | | if (HAL_TIM_Base_Init(&htim1) != HAL_OK) |
| | | { |
| | | Error_Handler(); |
| | |
| | | htim3.Init.CounterMode = TIM_COUNTERMODE_UP; |
| | | htim3.Init.Period = 13513; |
| | | htim3.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; |
| | | htim3.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_ENABLE; |
| | | htim3.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; |
| | | if (HAL_TIM_Base_Init(&htim3) != HAL_OK) |
| | | { |
| | | Error_Handler(); |
| | |
| | | htim4.Init.CounterMode = TIM_COUNTERMODE_UP; |
| | | htim4.Init.Period = 65535; |
| | | htim4.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; |
| | | htim4.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_ENABLE; |
| | | htim4.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; |
| | | if (HAL_TIM_Base_Init(&htim4) != HAL_OK) |
| | | { |
| | | Error_Handler(); |
| | |
| | | { |
| | | Error_Handler(); |
| | | } |
| | | sConfigIC.ICPolarity = TIM_INPUTCHANNELPOLARITY_BOTHEDGE; |
| | | sConfigIC.ICPolarity = TIM_INPUTCHANNELPOLARITY_RISING; |
| | | sConfigIC.ICSelection = TIM_ICSELECTION_DIRECTTI; |
| | | sConfigIC.ICPrescaler = TIM_ICPSC_DIV1; |
| | | sConfigIC.ICFilter = 0xF; |
| | |
| | | /* USER CODE BEGIN TIM4_Init 2 */ |
| | | HAL_TIM_Base_Start_IT(&htim4); // ������ʱ����ʹ���ж� |
| | | /* USER CODE END TIM4_Init 2 */ |
| | | |
| | | } |
| | | |
| | | /** |
| | | * @brief UART4 Initialization Function |
| | | * @param None |
| | | * @retval None |
| | | */ |
| | | static void MX_UART4_Init(void) |
| | | { |
| | | |
| | | /* USER CODE BEGIN UART4_Init 0 */ |
| | | |
| | | /* USER CODE END UART4_Init 0 */ |
| | | |
| | | /* USER CODE BEGIN UART4_Init 1 */ |
| | | |
| | | /* USER CODE END UART4_Init 1 */ |
| | | huart4.Instance = UART4; |
| | | huart4.Init.BaudRate = 100000; |
| | | huart4.Init.WordLength = UART_WORDLENGTH_9B; |
| | | huart4.Init.StopBits = UART_STOPBITS_2; |
| | | huart4.Init.Parity = UART_PARITY_EVEN; |
| | | huart4.Init.Mode = UART_MODE_TX_RX; |
| | | huart4.Init.HwFlowCtl = UART_HWCONTROL_NONE; |
| | | huart4.Init.OverSampling = UART_OVERSAMPLING_16; |
| | | huart4.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE; |
| | | huart4.Init.ClockPrescaler = UART_PRESCALER_DIV1; |
| | | huart4.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_RXINVERT_INIT; |
| | | huart4.AdvancedInit.RxPinLevelInvert = UART_ADVFEATURE_RXINV_ENABLE; |
| | | if (HAL_UART_Init(&huart4) != HAL_OK) |
| | | { |
| | | Error_Handler(); |
| | | } |
| | | if (HAL_UARTEx_SetTxFifoThreshold(&huart4, UART_TXFIFO_THRESHOLD_1_8) != HAL_OK) |
| | | { |
| | | Error_Handler(); |
| | | } |
| | | if (HAL_UARTEx_SetRxFifoThreshold(&huart4, UART_RXFIFO_THRESHOLD_1_8) != HAL_OK) |
| | | { |
| | | Error_Handler(); |
| | | } |
| | | if (HAL_UARTEx_DisableFifoMode(&huart4) != HAL_OK) |
| | | { |
| | | Error_Handler(); |
| | | } |
| | | /* USER CODE BEGIN UART4_Init 2 */ |
| | | |
| | | /* USER CODE END UART4_Init 2 */ |
| | | |
| | | } |
| | | |
| | |
| | | |
| | | /* DMA controller clock enable */ |
| | | __HAL_RCC_DMA1_CLK_ENABLE(); |
| | | __HAL_RCC_DMA2_CLK_ENABLE(); |
| | | |
| | | /* DMA interrupt init */ |
| | | /* DMA1_Stream0_IRQn interrupt configuration */ |
| | |
| | | /* DMA1_Stream7_IRQn interrupt configuration */ |
| | | HAL_NVIC_SetPriority(DMA1_Stream7_IRQn, 5, 0); |
| | | HAL_NVIC_EnableIRQ(DMA1_Stream7_IRQn); |
| | | /* DMA2_Stream0_IRQn interrupt configuration */ |
| | | HAL_NVIC_SetPriority(DMA2_Stream0_IRQn, 5, 0); |
| | | HAL_NVIC_EnableIRQ(DMA2_Stream0_IRQn); |
| | | |
| | | } |
| | | |