stm32h7关串口中断怎么弄_STM32H7的HAL库串口中断服务程序里面的串口FIFO发送空中断处理估计是手抖多写出来的一个处理...

/**

* @brief Handle UART interrupt request.

* @param huart: UART handle.

* @retval None

*/

void HAL_UART_IRQHandler(UART_HandleTypeDef *huart)

{

uint32_t isrflags   = READ_REG(huart->Instance->ISR);

uint32_t cr1its     = READ_REG(huart->Instance->CR1);

uint32_t cr3its     = READ_REG(huart->Instance->CR3);

uint32_t errorflags;

/* If no error occurs */

errorflags = (isrflags & (uint32_t)(USART_ISR_PE | USART_ISR_FE | USART_ISR_ORE | USART_ISR_NE));

if (errorflags == RESET)

{

/* UART in mode Receiver ---------------------------------------------------*/

if(((isrflags & USART_ISR_RXNE) != RESET)

&& (   ((cr1its & USART_CR1_RXNEIE) != RESET)

|| ((cr3its & USART_CR3_RXFTIE) != RESET)) )

{

UART_Receive_IT(huart);

return;

}

}

/* If some errors occur */

if(   (errorflags != RESET)

&& (   ((cr3its & (USART_CR3_RXFTIE | USART_CR3_EIE)) != RESET)

|| ((cr1its & (USART_CR1_RXNEIE | USART_CR1_PEIE)) != RESET)))

{

/*

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值