在线时间207 小时
UID3131155
ST金币1284
蝴蝶豆2
注册时间2015-5-25
该用户从未签到
金牌会员
- 最后登录
- 2019-3-1
|
楼主 |
发表于 2017-6-16 16:17:06
|
显示全部楼层
解决了,方法如下
1.初始化的时候添加一个中断接收
/* USER CODE BEGIN USART2_MspInit 0 */
/* USER CODE END USART2_MspInit 0 */
/* Peripheral clock enable */
__HAL_RCC_USART2_CLK_ENABLE();
/**USART2 GPIO Configuration
PA2 ------> USART2_TX
PA3 ------> USART2_RX
*/
GPIO_InitStruct.Pin = GPIO_PIN_2;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
GPIO_InitStruct.Pin = GPIO_PIN_3;
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
GPIO_InitStruct.Pull = GPIO_NOPULL;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
/* USART2 interrupt Init */
HAL_NVIC_SetPriority(USART2_IRQn, 5, 0);
HAL_NVIC_EnableIRQ(USART2_IRQn);
/* USER CODE BEGIN USART2_MspInit 1 */
HAL_UART_Receive_IT(&huart2,(uint8_t *)&s_ucTemp,1);
2.main函数初始化串口后添加如下函数
__HAL_UART_ENABLE_IT(&huart2, UART_IT_PE);
__HAL_UART_ENABLE_IT(&huart2, UART_IT_ERR);
__HAL_UART_ENABLE_IT(&huart2, UART_IT_RXNE);
3.接收中断中
HAL_UART_IRQHandler(&huart2);
/* USER CODE BEGIN USART2_IRQn 1 */
__HAL_UART_ENABLE_IT(&huart2, UART_IT_PE);
__HAL_UART_ENABLE_IT(&huart2, UART_IT_ERR);
__HAL_UART_ENABLE_IT(&huart2, UART_IT_RXNE);
通过以上步骤串口成功进入中断 |
|