STM32F030C8型号的单片机,使用HAL库的串口接收中断函数
STM32F030C8型号的单片机,使用HAL库的串口接收中断函数,HAL_UART_Receive_IT,终端不能够正常接收到PC端串口助手,发送过来的数据,但是,终端发送给PC的命令,PC能够接收到,串口配置如下:为什么我配置的WordLength为8;最后,出现错误的地方,还会进入到判断中?
本帖最后由 wenyangzeng 于 2018-8-20 15:01 编辑
stm32f0xx_it.c里:
void USARTx_IRQHandler(void)
{
HAL_UART_IRQHandler(&UartHandle);
}
USART中断返回函数应该是这样写的:
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *UartHandle)
{
/* Set transmission flag: trasfer complete*/
UartReady = SET;
}
同时,主函数里要添加一句:__HAL_UART_ENABLE_IT(&huart1,UART_IT_RXNE);
ST官方有很多例程可参考
wenyangzeng 发表于 2018-8-20 14:53
stm32f0xx_it.c里:
void USARTx_IRQHandler(void)
{
多谢,你的例程
参考下中断函数,函数详解就不重复了,给个实例参考下
feixiang20 发表于 2018-8-21 00:08
参考下中断函数,函数详解就不重复了,给个实例参考下
我现在的情况是,串口发送和接收第一次能够正常处理,然后,我第二次接收,串口的接收状态一直处于HAL_UART_STATE_BUSY_RX状态,请问是什么原因呀?
页:
[1]