Evan_ZGYF丶 2016-08-03 07:11 采纳率: 100%
浏览 2263
已结题

ARM 串口中断问题 一直进串口中断出不来

想写一个串口中断,在输入一些值的时候能跳入中断响应,
中断标志位,子中断标志位,中断屏蔽位,子中断屏蔽位都有定义,
在串口输入一些值后,能显示进入了中断并且能读到,
但是会一直循环进入串口中断,
SRCPND1 = SRCPND1;INTPND1 = INTPND1;
清过标志位了,但还是不行
可能是什么原因?

    void key_init(void)
    {
        GPFCON = 0xaa;          
        EXTINT0 = (0X7 <<12) | (0X7 << 8) | (0X7 << 4) | (0X7 << 0);            
        SRCPND1 = SRCPND1;          
        INTPND1 = INTPND1;          
        INTMSK1 &= ~(0X0F);         
        INTMSK1 &= ~(1 << 28);  
        INTSUBMSK &= ~(1 << 0); 
    }

    if(SRCPND1 & (1 << 28))
        {
            if(SUBSRCPND & (1 << 0))
            {

            c = URXH0&0xff;


            my_printf("´®¿ÚÖжÏ\r\n%c\r\n",c);
                }
            SRCPND1 = SRCPND1;          
        INTPND1 = INTPND1;

        }   
  • 写回答

1条回答 默认 最新

  • devmiao 2016-08-03 13:51
    关注
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵