首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

LPC21XX移植UCOS-II小结 07

LPC21XX移植UCOS-II小结 07

按照一下方法完成中断源的的挂接:
    1、增加汇编接口的支持。方法是修改IRQ.s文件,在末尾添加本句代码:
    UART0_Handler HANDLER UART0_Exception
    追加定义了通用串口0 中断句柄。
    2、初始化向量中断控制器。将target.c文件中的VICInit()修改如下:
    void VICInit(void)
    { extern void IRQ_Handler(void);
    extern void Timer0_Handler(void);
    extern void UART0_Handler(void);
    VICIntEnClr = 0xffffffff;
    VICDefVectAddr =(uint32)IRQ_Handler;
    VICVectAddr0 =(uint32)Timer0_Handler;
    VICVectCntl0 =(0x20 | 0x04);
    VICIntEnable = 1<<4;
    VICVectAddr14 =(uint32)UART0_Handler;
    VICVectCntl14 =(0x20 | 0x06);
    VICIntEnable = 1<<6;
    }
    此为初始化向量中断控制器。包括定时器0和串口0,特别要注意的是,一定不可以省略对定
    时器0的初始化
    中断里,不可以调用延时
    请注意,中断里面是不支持等待机制的。请用自己编的一个软件延时,问题就可以解决了。
    中断源挂接正确是没问题的。
    6.问
    void TargetInit(void)
    {
    OS_ENTER_CRITICAL();
    srand((uint32)TargetInit);
    VICInit();
    Timer0Init();
    OS_EXIT_CRITICAL();
    }
返回列表