Browse Source

配合开启串口2

master
Lizongdi 1 week ago
parent
commit
cc4933e0b1
  1. 16
      .mxproject
  2. 57
      32g431.ioc
  3. 3
      Core/Inc/usart.h
  4. 1
      Core/Src/main.c
  5. 97
      Core/Src/usart.c
  6. 2
      robot

16
.mxproject

File diff suppressed because one or more lines are too long

57
32g431.ioc

@ -39,34 +39,37 @@ Mcu.IP5=RCC
Mcu.IP6=SYS Mcu.IP6=SYS
Mcu.IP7=TIM6 Mcu.IP7=TIM6
Mcu.IP8=USART1 Mcu.IP8=USART1
Mcu.IPNb=9 Mcu.IP9=USART2
Mcu.IPNb=10
Mcu.Name=STM32G431C(6-8-B)Ux Mcu.Name=STM32G431C(6-8-B)Ux
Mcu.Package=UFQFPN48 Mcu.Package=UFQFPN48
Mcu.Pin0=PF0-OSC_IN Mcu.Pin0=PF0-OSC_IN
Mcu.Pin1=PF1-OSC_OUT Mcu.Pin1=PF1-OSC_OUT
Mcu.Pin10=PA8 Mcu.Pin10=PB11
Mcu.Pin11=PA9 Mcu.Pin11=PB12
Mcu.Pin12=PA10 Mcu.Pin12=PA8
Mcu.Pin13=PA11 Mcu.Pin13=PA9
Mcu.Pin14=PA12 Mcu.Pin14=PA10
Mcu.Pin15=PA13 Mcu.Pin15=PA11
Mcu.Pin16=PA14 Mcu.Pin16=PA12
Mcu.Pin17=PB3 Mcu.Pin17=PA13
Mcu.Pin18=PB4 Mcu.Pin18=PA14
Mcu.Pin19=PB5 Mcu.Pin19=PB3
Mcu.Pin2=PA4 Mcu.Pin2=PA2
Mcu.Pin20=VP_IWDG_VS_IWDG Mcu.Pin20=PB4
Mcu.Pin21=VP_SYS_VS_Systick Mcu.Pin21=PB5
Mcu.Pin22=VP_SYS_VS_DBSignals Mcu.Pin22=VP_IWDG_VS_IWDG
Mcu.Pin23=VP_TIM6_VS_ClockSourceINT Mcu.Pin23=VP_SYS_VS_Systick
Mcu.Pin3=PA5 Mcu.Pin24=VP_SYS_VS_DBSignals
Mcu.Pin4=PA6 Mcu.Pin25=VP_TIM6_VS_ClockSourceINT
Mcu.Pin5=PA7 Mcu.Pin3=PA3
Mcu.Pin6=PC4 Mcu.Pin4=PA4
Mcu.Pin7=PB10 Mcu.Pin5=PA5
Mcu.Pin8=PB11 Mcu.Pin6=PA6
Mcu.Pin9=PB12 Mcu.Pin7=PA7
Mcu.PinsNb=24 Mcu.Pin8=PC4
Mcu.Pin9=PB10
Mcu.PinsNb=26
Mcu.ThirdPartyNb=0 Mcu.ThirdPartyNb=0
Mcu.UserConstants= Mcu.UserConstants=
Mcu.UserName=STM32G431CBUx Mcu.UserName=STM32G431CBUx
@ -96,6 +99,10 @@ PA13.Mode=Serial_Wire
PA13.Signal=SYS_JTMS-SWDIO PA13.Signal=SYS_JTMS-SWDIO
PA14.Mode=Serial_Wire PA14.Mode=Serial_Wire
PA14.Signal=SYS_JTCK-SWCLK PA14.Signal=SYS_JTCK-SWCLK
PA2.Mode=Asynchronous
PA2.Signal=USART2_TX
PA3.Mode=Asynchronous
PA3.Signal=USART2_RX
PA4.GPIOParameters=GPIO_Label PA4.GPIOParameters=GPIO_Label
PA4.GPIO_Label=K4 PA4.GPIO_Label=K4
PA4.Locked=true PA4.Locked=true
@ -235,6 +242,8 @@ TIM6.Prescaler=9
USART1.BaudRate=115200 USART1.BaudRate=115200
USART1.IPParameters=VirtualMode-Asynchronous,BaudRate USART1.IPParameters=VirtualMode-Asynchronous,BaudRate
USART1.VirtualMode-Asynchronous=VM_ASYNC USART1.VirtualMode-Asynchronous=VM_ASYNC
USART2.IPParameters=VirtualMode-Asynchronous
USART2.VirtualMode-Asynchronous=VM_ASYNC
VP_IWDG_VS_IWDG.Mode=IWDG_Activate VP_IWDG_VS_IWDG.Mode=IWDG_Activate
VP_IWDG_VS_IWDG.Signal=IWDG_VS_IWDG VP_IWDG_VS_IWDG.Signal=IWDG_VS_IWDG
VP_SYS_VS_DBSignals.Mode=DisableDeadBatterySignals VP_SYS_VS_DBSignals.Mode=DisableDeadBatterySignals

3
Core/Inc/usart.h

@ -36,12 +36,15 @@ extern UART_HandleTypeDef hlpuart1;
extern UART_HandleTypeDef huart1; extern UART_HandleTypeDef huart1;
extern UART_HandleTypeDef huart2;
/* USER CODE BEGIN Private defines */ /* USER CODE BEGIN Private defines */
/* USER CODE END Private defines */ /* USER CODE END Private defines */
void MX_LPUART1_UART_Init(void); void MX_LPUART1_UART_Init(void);
void MX_USART1_UART_Init(void); void MX_USART1_UART_Init(void);
void MX_USART2_UART_Init(void);
/* USER CODE BEGIN Prototypes */ /* USER CODE BEGIN Prototypes */

1
Core/Src/main.c

@ -97,6 +97,7 @@ int main(void)
MX_TIM6_Init(); MX_TIM6_Init();
MX_FDCAN1_Init(); MX_FDCAN1_Init();
MX_LPUART1_UART_Init(); MX_LPUART1_UART_Init();
MX_USART2_UART_Init();
/* USER CODE BEGIN 2 */ /* USER CODE BEGIN 2 */
/* USER CODE END 2 */ /* USER CODE END 2 */

97
Core/Src/usart.c

@ -26,6 +26,7 @@
UART_HandleTypeDef hlpuart1; UART_HandleTypeDef hlpuart1;
UART_HandleTypeDef huart1; UART_HandleTypeDef huart1;
UART_HandleTypeDef huart2;
DMA_HandleTypeDef hdma_usart1_tx; DMA_HandleTypeDef hdma_usart1_tx;
/* LPUART1 init function */ /* LPUART1 init function */
@ -114,6 +115,50 @@ void MX_USART1_UART_Init(void)
/* USER CODE END USART1_Init 2 */ /* USER CODE END USART1_Init 2 */
}
/* USART2 init function */
void MX_USART2_UART_Init(void)
{
/* USER CODE BEGIN USART2_Init 0 */
/* USER CODE END USART2_Init 0 */
/* USER CODE BEGIN USART2_Init 1 */
/* USER CODE END USART2_Init 1 */
huart2.Instance = USART2;
huart2.Init.BaudRate = 115200;
huart2.Init.WordLength = UART_WORDLENGTH_8B;
huart2.Init.StopBits = UART_STOPBITS_1;
huart2.Init.Parity = UART_PARITY_NONE;
huart2.Init.Mode = UART_MODE_TX_RX;
huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE;
huart2.Init.OverSampling = UART_OVERSAMPLING_16;
huart2.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE;
huart2.Init.ClockPrescaler = UART_PRESCALER_DIV1;
huart2.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT;
if (HAL_UART_Init(&huart2) != HAL_OK)
{
Error_Handler();
}
if (HAL_UARTEx_SetTxFifoThreshold(&huart2, UART_TXFIFO_THRESHOLD_1_8) != HAL_OK)
{
Error_Handler();
}
if (HAL_UARTEx_SetRxFifoThreshold(&huart2, UART_RXFIFO_THRESHOLD_1_8) != HAL_OK)
{
Error_Handler();
}
if (HAL_UARTEx_DisableFifoMode(&huart2) != HAL_OK)
{
Error_Handler();
}
/* USER CODE BEGIN USART2_Init 2 */
/* USER CODE END USART2_Init 2 */
} }
void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle) void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle)
@ -210,6 +255,40 @@ void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle)
/* USER CODE END USART1_MspInit 1 */ /* USER CODE END USART1_MspInit 1 */
} }
else if(uartHandle->Instance==USART2)
{
/* USER CODE BEGIN USART2_MspInit 0 */
/* USER CODE END USART2_MspInit 0 */
/** Initializes the peripherals clocks
*/
PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_USART2;
PeriphClkInit.Usart2ClockSelection = RCC_USART2CLKSOURCE_PCLK1;
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK)
{
Error_Handler();
}
/* USART2 clock enable */
__HAL_RCC_USART2_CLK_ENABLE();
__HAL_RCC_GPIOA_CLK_ENABLE();
/**USART2 GPIO Configuration
PA2 ------> USART2_TX
PA3 ------> USART2_RX
*/
GPIO_InitStruct.Pin = GPIO_PIN_2|GPIO_PIN_3;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
GPIO_InitStruct.Alternate = GPIO_AF7_USART2;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
/* USER CODE BEGIN USART2_MspInit 1 */
/* USER CODE END USART2_MspInit 1 */
}
} }
void HAL_UART_MspDeInit(UART_HandleTypeDef* uartHandle) void HAL_UART_MspDeInit(UART_HandleTypeDef* uartHandle)
@ -256,6 +335,24 @@ void HAL_UART_MspDeInit(UART_HandleTypeDef* uartHandle)
/* USER CODE END USART1_MspDeInit 1 */ /* USER CODE END USART1_MspDeInit 1 */
} }
else if(uartHandle->Instance==USART2)
{
/* USER CODE BEGIN USART2_MspDeInit 0 */
/* USER CODE END USART2_MspDeInit 0 */
/* Peripheral clock disable */
__HAL_RCC_USART2_CLK_DISABLE();
/**USART2 GPIO Configuration
PA2 ------> USART2_TX
PA3 ------> USART2_RX
*/
HAL_GPIO_DeInit(GPIOA, GPIO_PIN_2|GPIO_PIN_3);
/* USER CODE BEGIN USART2_MspDeInit 1 */
/* USER CODE END USART2_MspDeInit 1 */
}
} }
/* USER CODE BEGIN 1 */ /* USER CODE BEGIN 1 */

2
robot

@ -1 +1 @@
Subproject commit 07754e024e60b4b8766b89f34581dc0738639533 Subproject commit 0fc4bcb8ff16a6d09a47ef6b475875a724bc7e77
Loading…
Cancel
Save