[AT32F421]

samplecode: usart1不进【接收中断】

[复制链接]
3321|4
手机看帖
扫描二维码
随时随地手机跟帖
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() 函数不起作用,操作寄存器才行


uint32_t status_uart1;
void USART1_IRQHandler(void)
{
//  if(USART_GetITStatus(USART1, USART_INT_RDNE) != RESET)
//  { USART_ClearITPendingBit(USART1,USART_INT_RDNE);
//  }
//
//  if(USART_GetITStatus(USART1, USART_INT_TDE) != RESET)
//  { USART_ClearITPendingBit(USART1,USART_INT_TRAC);
//  }
    status_uart1 = USART1->STS;
    if(status_uart1 & 0x00000060)      //TRAC
    {
       USART_ClearITPendingBit(USART1,USART_INT_TRAC);
       status_uart1 = USART1->STS;
       USART1->STS &= ~0x00000060;
       status_uart1 = USART1->STS;
    }
    else if(status_uart1 & 0x00000020) //RDNE
    {
       USART_ClearITPendingBit(USART1,USART_INT_RDNE);
       status_uart1 = USART1->STS;
       USART1->STS &= ~0x00000020;
       status_uart1 = USART1->STS;
    }
    status_uart1 = USART1->STS;
    USART_ClearITPendingBit(USART1,USART_INT_RDNE);
    status_uart1 = USART1->STS;
    USART_ClearITPendingBit(USART1,USART_INT_TRAC);
    status_uart1 = USART1->STS;


}


使用特权

评论回复
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 | 显示全部楼层
为啥你的接收中断里面都没有读收到的数据呀

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:不正常人类

268

主题

876

帖子

3

粉丝