找回密码
 注册
搜索
查看: 865|回复: 1

[讨论] 算是理解上的一种提升吧

[复制链接]
发表于 2010-6-21 10:37:23 | 显示全部楼层 |阅读模式
最近在学习LPC2378,刚刚看了下中断的设置源码,还不错。虽然比较简单,但读懂了,对其的理解算是有点上升吧。发出来,供大家拍砖。
/******************************************************************************
*   功能:  配置中断
*   输入:  IntNumber       中断标号
            pHandlerAddr    中断处理函数地址
            Priority        中断优先级
******************************************************************************/
DWORD install_irq( DWORD IntNumber, void *HandlerAddr, DWORD Priority )
{
    DWORD *vect_addr;
    DWORD *vect_cntl;
      
    if ( IntNumber >= VIC_SIZE )
        return ( FALSE );
   
    VICIntEnClr = 1 << IntNumber;           //禁能中断向量   
    vect_addr = (DWORD *)(VIC_BASE_ADDR + VECT_ADDR_INDEX + IntNumber*4);
    vect_cntl = (DWORD *)(VIC_BASE_ADDR + VECT_CNTL_INDEX + IntNumber*4);
    *vect_addr = (DWORD)HandlerAddr;    //设置中断向量
    *vect_cntl = Priority;
    VICIntEnable = 1 << IntNumber;      //使能中断
    return( TRUE );
}
发表于 2010-6-26 15:27:30 | 显示全部楼层
清晰明了
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-11-24 16:29 , Processed in 0.045783 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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