tag 标签: irq

相关博文
  • 热度 23
    2012-8-13 21:30
    1750 次阅读|
    0 个评论
    2.非向量IRQ实例程序   作者:下家山(上海索漫培训教材 http://www.xiajiashan.com) #include "config.h" volatile uint8 FLAG=0; #define LED1 119 // P1/**************************************************************************** * 名 称:IRQ_Eint3() * 功 能:外部中断EINT3服务函数* 入口参数:无 * 出口参数:无 ****************************************************************************/ void __irq IRQ_Eint3(void) { FLAG=1; /* 等待外部中断信号恢复为高电平(若信号保持为低电平,中断标志会一直置位) */ while( (EXTINT(13))!=0 ); EXTINT = 13; // 清除EINT3中断标志,3 等价于0x08 VICVectAddr = 0; // 向量中断结束 } /**************************************************************************** 【By 下家山 Q群 75303301        上海松江文汇路928号258室    松江大学城 上海索漫科技  http://www.xiajiashan.com  专注嵌入式(ARM7,Cortex-M0,Cortex-M3,ARM9,linux)培训】 ****************************************************************************/ int main(void) { PINSEL1 = 38; // 设置管脚连接,P0.20设置为EINT3 IO1DIR = LED1; // EXTMODE = 0x00; // 设置EINT3中断为电平触发模式 /* 打开EINT3中断(使用非向量IRQ) */ VICIntSelect = 0x00000000; // 设置所有中断分配为IRQ中断 VICDefVectAddr = (int)IRQ_Eint3; // 设置中断服务程序地址 EXTINT = 13; // 清除EINT3中断标志 VICIntEnable = 117; // 使能EINT3中断,EINT3在Bit17上 while(1){// 等待定时器中断或定时器匹配    if(FLAG==1){        if( (IO1SETLED1) == 0 )           {             IO1SET = LED1;          }else{             IO1CLR = LED1;          }      FLAG=0;   } ] return(0); } 未完待续: IRQ中断实例分析(一):向量IRQ实例程序 IRQ中断实例分析(二):非向量IRQ实例程序 IRQ中断实例分析(三):向量非向量IRQ实例程序  
  • 热度 18
    2012-8-13 21:24
    2436 次阅读|
    1 个评论
    作者:下家山(上海索漫培训教材 http://www.xiajiashan.com)1. 向量IRQ实例程序 我们再来分析之前的定时器中断程序 #include "config.h" volatile uint8 FLAG=0; #define LED1 119 // P1.19引脚控LED1/**************************************************************************** * 名 称:IRQ_Time0() * 功 能:定时器中断服务程序****************************************************************************/ void __irq IRQ_Time0(void) { FLAG= 1; T0IR = 0x01; // 清除中断标志 VICVectAddr = 0x00; // 通知VIC中断处理结束 } /**************************************************************************** * 名 称:Time0Init() * 功 能:初始化定时器,定时时间为S,并使能中断。 * 入口参数:无 * 出口参数:无 ****************************************************************************/ void Time0Init(void) { T0PR = 99; // 设置定时器分频为分频,得Hz T0MCR = 0x03; // 匹配通道匹配中断并复位T0TC T0MR0 = 110592; // 比较值(1S定时值) T0TCR = 0x03; // 启动并复位T0TC T0TCR = 0x01; /* 设置定时器中断IRQ */ VICIntSelect = 0x00; // 所有中断通道设置为IRQ中断 VICVectCntl0 = 0x24; // 定时器中断通道分配最高优先级(向量控制器) VICVectAddr0 = (uint32)IRQ_Time0; // 设置中断服务程序地址向量 VICIntEnable = 0x00000010; // 使能定时器中断 } /**************************************************************************** 【By 下家山 Q群 75303301        上海松江文汇路928号258室    松江大学城 上海索漫科技  http://www.xiajiashan.com  专注嵌入式(ARM7,Cortex-M0,Cortex-M3,ARM9,linux)培训】 ****************************************************************************/ int main(void) { IO1DIR = LED1; // 设置I/O为输出 Time0Init(); // 初始化定时器及使能中断 while(1){// 等待定时器中断或定时器匹配    if(FLAG==1){        if( (IO1SETLED1) == 0 )           {             IO1SET = LED1;          }else{             IO1CLR = LED1;          }      FLAG=0;   } ] return(0); } 未完待续: IRQ中断实例分析(一):向量IRQ实例程序 IRQ中断实例分析(二):非向量IRQ实例程序 IRQ中断实例分析(三):向量非向量IRQ实例程序  
相关资源
  • 所需E币: 3
    时间: 2019-12-28 23:43
    大小: 57KB
    上传者: 978461154_qq
    Gammacorrectionisusedtocorrectforthenonlinearrelationshipbetweenluminanceandbrightness.ThisapplicationnotepresentsanassemblyprogramwrittenfortheMAXQ2000microcontroller(µC)thatusesgammacorrectionwithafixed-frequencyPWMsignaltolinearlyincreaseanddecreasethebrightnessofanLED.ThePWMdutycycles,storedinaLookupTable(LUT)locatedinUtilityROMmemory,aregammacorrectedtoproducelinearbrightnesschanges.ThesoftwarecompilesusingthefreeMAX-IDEdevelopmenttoolandrunsontheMAXQ2000evaluationkit.……
  • 所需E币: 5
    时间: 2019-12-25 16:02
    大小: 1.74MB
    上传者: 微风DS
    ADuC70xx的示例代码……
  • 所需E币: 3
    时间: 2019-12-25 10:35
    大小: 246.24KB
    上传者: 978461154_qq
    异常中断处理……
  • 所需E币: 4
    时间: 2019-12-25 09:36
    大小: 183.54KB
    上传者: givh79_163.com
    sourcecode……
  • 所需E币: 5
    时间: 2019-12-24 23:12
    大小: 163.56KB
    上传者: 978461154_qq
    本应用笔记介绍了如何在恩智浦LPC2000微控制器实现μC/OS-II的时间管理。作为一个快速入门指南包括一个简单的时间管理的代码示例。AN10413C/OS-IItimemanagementinLPC2000Rev.02―18July2007ApplicationnoteDocumentinformationInfoContentKeywordsuC/OS-II,MCU,ARM,LPC2000,Timer,IRQ,VICAbstractThisapplicationnotedemonstrateshowtoimplementC/OS-IItimemanagementintheLPC2000microcontrollerfamilyfromNXPSemiconductors.Thisapplicationnotealsoservesasaquick-startguideandincludesasimpletimemanagementcodeexample.NXPSemiconductorsAN10413C/OS-IItimem……
  • 所需E币: 5
    时间: 2019-12-24 23:11
    大小: 181.84KB
    上传者: 二不过三
    文档讲解了伪中断以及如何在ARM7的LPC2000系列有效地处理AN10414HandlingofspuriousinterruptsintheLPC2000Rev.01―4January2006ApplicationnoteDocumentinformationInfoContentKeywordsSpuriousinterrupts,LPC2000,IRQ,FIQ,InterruptAbstractDescribesspuriousinterruptsandhowtheycanbeeffectivelyhandledintheARM7LPC2000familyPhilipsSemiconductorsAN10414HandlingofspuriousinterruptsintheLPC2000RevisionhistoryRevDateDescription0120060104Initialversion.ContactinformationForadditionalinformation,ple……
  • 所需E币: 3
    时间: 2019-12-25 15:33
    大小: 240.82KB
    上传者: 238112554_qq
    基于以太网和控制器区域网总线通信系统的集成通信网关系统的开发.系统在以太网和控制器区域网总线间交换控制信息,以实现分布式控制和监测.基于以太网的控制器网络的嵌入式网关开发水黄强1,周东泳1,李拓1,J.S.Smith2(1.中国深圳大学信息工程学院,广东深圳518060;2.英国利物浦大学,英国利物浦)摘要:基于以太网和控制器区域网总线通信系统的集成通信网关系统的开发。系统在以太网和控制器区域网总线间交换控制信息,以实现分布式控制和监测。关键词:嵌入系统网关以太网控制器网。本地控制器网络(CAN)‘21由于低成本和高可靠性,已椭LJef打、a棘emck经在工业分布式控制系统中广泛使用。以太网的低成本n≯口fma§托lhfea《Iym峙setmj硝蟹小8糟m和易配置特性也使得其在计算机通信网络中广泛应用。……