搜索
bottom↓
回复: 3

ucos uart中断的怪异问题,请大家帮着看看

[复制链接]

出0入0汤圆

发表于 2009-7-16 20:17:05 | 显示全部楼层 |阅读模式
现在出现一个怪异的问题,运行后,UART1的中断没完没了,反复触发,UART0正常。但禁止UART1的中断后,UART0只要触发一次也是没完没了了,反复触发。

请各位帮着看看,哪里不合适,UCos还正在学习,是不是哪里概念理解上有错误,方法有问题

void TargetInit(void)
{
    OS_ENTER_CRITICAL();
    srand((uint32) TargetInit);
    VICInit();
    Timer0Init();
    InitialiseUART0(9600);
    InitialiseUART1(9600);
    OS_EXIT_CRITICAL();
}


void VICInit(void)
{
    extern void IRQ_Handler(void);
    extern void Timer0_Handler(void);
    extern void UART0R_Handler(void);
    extern void UART1R_Handler(void);

    VICIntEnClr = 0xffffffff;
    VICDefVectAddr = (uint32)IRQ_Handler;

       
    VICVectAddr0 = (uint32)Timer0_Handler;
    VICVectCntl0 = (0x20 | 0x04);
    VICIntEnable = 1 <<4;
   
    VICVectAddr1 = (uint32)UART0R_Handler;
    VICVectCntl1 = (0x20 | 0x06);
    VICIntEnable = 1 <<6;
   
    VICVectAddr2 = (uint32)UART1R_Handler;
    VICVectCntl2 = (0x20 | 0x07);
    VICIntEnable = 1 <<7;
}



void __irq UART1R(void)
{
   uint8  i;
   if( 0x04==(U1IIR&0x0F) )
     rcv_newB = 1;// 设置接收到新的数据标志
   for(i=0; i<8; i++)
   {
   rcv_bufB = U1RBR;               // 读取FIFO的数据,并清除中断标志
   }
   VICVectAddr = 0x00;               // 中断处理结束
}

void __irq UART0R(void)
{
   uint8  i;
   if( 0x04==(U0IIR&0x0F) )
     rcv_newA = 1;// 设置接收到新的数据标志
   for(i=0; i<8; i++)
   { rcv_bufA = U0RBR;               // 读取FIFO的数据,并清除中断标志
   }
   
   VICVectAddr = 0x00;               // 中断处理结束
}

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2009-7-25 23:22:52 | 显示全部楼层
芯片型号,编译器这些东西都没有
移植关键代码也没有,
你想别人怎么回答你的问题

出0入0汤圆

发表于 2010-5-25 17:24:03 | 显示全部楼层
怎么解决的啊?老大,

出0入0汤圆

发表于 2010-5-28 10:45:08 | 显示全部楼层
提问者太不负责
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-20 20:00

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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