dm642的中断

void fifoint_isr();           
extern far void vectors();  

void int_init()
{
 IRQ_resetAll();
 IRQ_setVecs(vectors);
 IRQ_nmiEnable();
 IRQ_globalEnable();
 
 //
 IRQ_reset(IRQ_EVT_EXTINT4);
 IRQ_enable(IRQ_EVT_EXTINT4);
 *(Uint32*)(0x019c0008) = 1;//中断条件 0上升,1下降
 *(unsigned short*)EPLE_TEST = 0X0;
 IRQ_clear(IRQ_EVT_EXTINT4); 
}

interrupt void fifoint_isr()
{

 
 IRQ_disable(IRQ_EVT_EXTINT4);
 //
  com_isr232();
 //
 IRQ_clear(IRQ_EVT_EXTINT4);
 IRQ_enable(IRQ_EVT_EXTINT4);
}

//修改vector.asm
   .global _vectors
   .global _c_int00
   .global _vector1
   .global _vector2
   .global _vector3
   .global _fifoint_isr
   .global _vector5
   .global _vector6
   .global _vector7
   .global _vector8 
   .global _vector9  
   .global _vector10
   .global _vector11
   .global _vector12  
   .global _vector13  
   .global _vector14  
   .global _vector15  

_vectors:
_vector0:   VEC_ENTRY _c_int00    ;RESET
_vector1:   VEC_ENTRY _vec_dummy  ;NMI
_vector2:   VEC_ENTRY _vec_dummy  ;RSVD
_vector3:   VEC_ENTRY _vec_dummy
_vector4:   VEC_ENTRY _fifoint_isr
_vector5:   VEC_ENTRY _vec_dummy
_vector6:   VEC_ENTRY _vec_dummy
_vector7:   VEC_ENTRY _vec_dummy
_vector8:   VEC_ENTRY _vec_dummy  
_vector9:   VEC_ENTRY _vec_dummy
_vector10:  VEC_ENTRY _vec_dummy
_vector11:  VEC_ENTRY _vec_dummy
_vector12:  VEC_ENTRY _vec_dummy   
_vector13:  VEC_ENTRY _vec_dummy
_vector14:  VEC_ENTRY _vec_dummy
_vector15:  VEC_ENTRY _vec_dummy

时间: 2024-10-09 04:50:00

dm642的中断的相关文章

dm642的中断定时器

TIMER_Handle TimerHandle0; void timer1() { ////////////定时器///////////////////////  TimerHandle0 = TIMER_open(TIMER_DEV0, TIMER_OPEN_RESET);   IRQ_setVecs(vectors);    IRQ_globalEnable();     IRQ_nmiEnable();   //Map TIMER events to physical interrupt

dsp-dm642的串口中断程序的配置问题

问题描述 dm642的串口中断程序的配置问题 我在用dm642的开发板,通过TL16C752B 实现485串口通信,现在需要一个串口中断程序. 自己也做了一些工作,比如asm的配置,用的是vector 5 , 程序中,用的是,irq_evt_extint5, 也配置好了,752的寄存器,比如ier=0x03,mcr=0x08;fcr=0x57;lcr=0x03; 但是,就是触发不了中断,不知道为什么?求帮助. 同时,对如何触发串口中断也存在疑问.大家帮我看一下吧,555,我实在是没辙了,不知道原

win7下载中断故障解决

  用电脑下载程序或者是软件.资料应该是咱们日常生活或者是工作中都经常用到的功能吧?但是大家有没有发现win7系统有这样的一个问题,若是下载的时间需要比较长的话,下载的任务便会出现自动停止或者是中断的情况,可能我们下载了很久之后才发现,任务已经不知道什么时候被中断了,那么这种问题如何解决呢? 其实经过win7之家的测试,发现这个问题原来是因为电源设置问题引起的,既然找到了病因,那么解决的方法也是呼之欲出了! 首先,我们打开win7系统的菜单,进入控制面板中,找到网络和共享中心点击进去. 接下来找

Bug:StampedLock的中断问题导致CPU爆满

StampedLock作为JAVA8中出现的新型锁,很可能在大多数场景都可以替代ReentrantReadWriteLock.它对于读/写都提供了四个接口(换成write为写锁): readLock() tryReadLock() tryReadLock(long time, TimeUnit unit) readLockInterruptibly() 这几个方法对应的语义为: 获取读锁(阻塞,不响应中断) 获取读锁(立即) 限时获取读锁(响应中断) 获取读锁(阻塞,响应中断) 然而在readL

中断中C函数调用C++

  之前,我们在单片机程序开发时都会面对中断函数.众所周知的,这个中断函数肯定是要用C函数来定义的.我在用C++进行程序开发的时候就发现了一个需要解决了问题:在断函数中怎么调用C++的成员函数?     我的中断函数定义在文件 IRQHander.c 文件中,我想在串口中断函数调用 gPrinter.Putchar(ch) 函数.用于向 gPrinter 发送字符打印消息.    尝试1:直接将 CDebug.h 文件包含进来. <strong>#include "CDebug.h&

java线程阻塞中断和LockSupport的常见问题

上周五和周末,工作忙里偷闲,在看java cocurrent中也顺便再温故了一下Thread.interrupt和java 5之后的LockSupport的实现.   在介绍之前,先抛几个问题.   Thread.interrupt()方法和InterruptedException异常的关系?是由interrupt触发产生了InterruptedException异常? Thread.interrupt()会中断线程什么状态的工作? RUNNING or BLOCKING? 一般Thread编程

中断子系统4_i8259a中断控制器

// 8259A 中的寄存器: // ICW: Initialization Command Word,初始化命令寄存器 // OCW: Operation Command Word,操作命令字,用于控制 8259A // IRR: Interrupt Request Register,中断请求寄存器,共 8bit,对应 IR0~IR7 八个中断管脚.当某个管脚的中断请求到来后, // 若该管脚没有被屏蔽,IRR 中对应的 bit 被置1.表示 PIC 已经收到设备的中断请求,但还未提交给 CP

Linux系统针对网卡中断的优化处理

中断: 当网卡接收到数据包后,会触发硬中断,通知CPU来收包.硬中断是一个CPU和网卡交互的过程.这其实会消耗CPU资源.特别是在使用速度极快的万兆网卡之后,大量的网络交互使得CPU很大一部分资源消耗在网卡中断处理上.此时,瓶颈并不在网卡,而是在CPU上.因此,现在的网卡都采用多队列的技术,用于充分利用多核心CPU. 中断的详细解释:<Linux的中断和异常扫盲笔记> SMP IRQ affinity 为了防止多个设置发送相同的中断, Linux设计了一套中断请求系统, 使得计算机系统中的每个

如何中断JAVA线程

如何中断JAVA线程 程序是很简易的.然而,在编程人员面前,多线程呈现出了一组新的难题,如果没有被恰当的解决,将导致意外的行为以及细微的.难以发现的错误.       在本篇文章中,我们针对这些难题之一:如何中断一个正在运行的线程.                                                                                      背景     中断(Interrupt)一个线程意味着在该线程完成任务之前停止其正在进行的一切,