打印
[AT32F421]

samplecode: usart1不进【接收中断】

[复制链接]
3734|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把串口接收脚劫持了

劫持

使用特权

评论回复
5
hoop| | 2020-12-23 11:19 | 只看该作者
为啥你的接收中断里面都没有读收到的数据呀

使用特权

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

本版积分规则

个人签名:不正常人类

270

主题

885

帖子

3

粉丝