[AT32F421] samplecode: usart1不进【接收中断】

[复制链接]
 楼主| 457878 发表于 2020-12-23 09:24 | 显示全部楼层 |阅读模式
帮忙看看  (AT-START-F421 V1.1):
Artery AT32 MCU Pack_20201130\BSP\AT32F4xx_StdPeriph_Lib_V1.2.8\Project\AT_START_F421\Examples\USART\Interrupt\

问题:
1.PC发送数据,it.c中,检测不到接收标志
2.USART_ClearITPendingBit() 函数不起作用,操作寄存器才行


  1. uint32_t status_uart1;
  2. void USART1_IRQHandler(void)
  3. {
  4. //  if(USART_GetITStatus(USART1, USART_INT_RDNE) != RESET)
  5. //  { USART_ClearITPendingBit(USART1,USART_INT_RDNE);
  6. //  }
  7. //
  8. //  if(USART_GetITStatus(USART1, USART_INT_TDE) != RESET)
  9. //  { USART_ClearITPendingBit(USART1,USART_INT_TRAC);
  10. //  }
  11.     status_uart1 = USART1->STS;
  12.     if(status_uart1 & 0x00000060)      //TRAC
  13.     {
  14.        USART_ClearITPendingBit(USART1,USART_INT_TRAC);
  15.        status_uart1 = USART1->STS;
  16.        USART1->STS &= ~0x00000060;
  17.        status_uart1 = USART1->STS;
  18.     }
  19.     else if(status_uart1 & 0x00000020) //RDNE
  20.     {
  21.        USART_ClearITPendingBit(USART1,USART_INT_RDNE);
  22.        status_uart1 = USART1->STS;
  23.        USART1->STS &= ~0x00000020;
  24.        status_uart1 = USART1->STS;
  25.     }
  26.     status_uart1 = USART1->STS;
  27.     USART_ClearITPendingBit(USART1,USART_INT_RDNE);
  28.     status_uart1 = USART1->STS;
  29.     USART_ClearITPendingBit(USART1,USART_INT_TRAC);
  30.     status_uart1 = USART1->STS;


  31. }


 楼主| 457878 发表于 2020-12-23 09:47 | 显示全部楼层
已解决,评估板上的at-link把串口接收脚劫持了
z200919 发表于 2020-12-23 09:51 | 显示全部楼层
457878 发表于 2020-12-23 09:47
已解决,评估板上的at-link把串口接收脚劫持了

干的漂亮
hoop 发表于 2020-12-23 11:16 | 显示全部楼层
457878 发表于 2020-12-23 09:47
已解决,评估板上的at-link把串口接收脚劫持了

劫持
hoop 发表于 2020-12-23 11:19 | 显示全部楼层
为啥你的接收中断里面都没有读收到的数据呀
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:不正常人类

270

主题

885

帖子

3

粉丝
快速回复 返回顶部 返回列表