key中断

1 中断,很短的时间过去,然后回来。
2 信号,软中断,而中断属于硬中断。
3 实时内核,和分时内核。
4 同步,预先知道发生,异步,预先不知道要发生,中断属于异步。
5 arm一次执行一个中断。
6 irq中断,2现在内核支持这个,fiq,快速中断请求。
7 问题:两个中断同时发生?
更具优先级,一个一个执行,一个执行完后,看PND里边还有中断没有。可以设置的优先级有32个,级联中断的发生顺序是固定的。
8 puts和gets不能同时,因为有两个while循环。
9 SRCPND,SUBSRCPDN,EINTPEND,这3个都是只要有中断发生就自动至1;INTPND里边只能有一个为 1.
10 INTMOD判IRQ,还是fiq
11 60个中断源,0~31号中断。
12 屏蔽0中断,有一种方式,INTMASK
屏蔽8中断,也是只有一种方式,EINTMASK;
13 s3c2440中的ADC和UART中属于片内级联,TIMER LCD属于一级中断,而2410中则不是,正好相反。
14 问题对于寄存器打的清0
void clear_srcpnd(int eintnum)
{
INTERRUPT.SRCPND |= (0x1<<eintnum);
}

void clear_intpnd(void)
{
INTERRUPT.INTPND = INTERRUPT.INTPND;
}

INTPND
INTPND Bit Description Initial State(默认状态)
INT_ADC [31] 0 = Not requested, 1 = Requested 0
INT_RTC [30] 0 = Not requested, 1 = Requested 0
INT_SPI1 [29] 0 = Not requested, 1 = Requested 0
INT_UART0[28] 0 = Not requested, 1 = Requested 0
INT_IIC [27] 0 = Not requested, 1 = Requested 0
INT_USBH [26] 0 = Not requested, 1 = Requested 0
这个寄存器的默认状态时0,没有命令,当有中断发生时,对应的位变1,而当你给他1时,他就行一个命令,这个命令就是清0.(相当于自动,置1,然后你在给他赋一次1,他就变0了,只能这样理解了) 15 只有 INTPND只可能出去一个位的变化,其他不行;所以清0的时候只有他可以自己给就行了。

16 INTMOD选择irq,fiq.
17 INTOFFSET属于方便型的寄存器,为了INTPND的方便,所以他是直接变化的不需要判断。
18 外部中断EXTINT1和EXTMASK放到9章的IO里边。
19 EXTINT0设置出发的方式,中断触发的方式一共有5中,低电平高电平,上升沿,下降沿,双边沿
EXTINT1,EXTINT2,因为3位控制一个触发方式,不够用,需要3个。
20 问题如果外部中断8设置为irq,那么9呢?
一定也是irq, 21 CPU有7张脸,就是异常向量表。
22 按键中断的执行流程。
GPGCON
EXTINT1 选择触发方式。这里有个过滤的寄存器,(就是为了防止外部中断的颤抖,如果有过滤的电容,那么设置的时候多设置 上面的那一位)
EXTMASK 外部中断使能。
INTMSK 中断使能
INTMOD 选择中断的方式irq,fiq(其实默认也行,害怕其他人改了)
23 start.s中
复位后到系统模式。
彼sp非彼SP,sp债地址。
irqhandle 头两行保护现场,最后一行恢复。
24 如果串口不初始化的情况下,用puts函数,的话,会出现一系列不能定位的编译不过去的库错误。 25 注意 SRCPND;INTMOD;INTMSK;INTPND;INTOFFSET;SUBSRCPND;INTSUBMSK;
EINTMASK;EINTPEND;EXTINT1;(外部中断的MASK,有A,PEND有E)。
26 大部分的设备都支持中端和轮询,时间特别的短的时候轮询比中端要好。
27 中端特性,异步和实时。
28 问题中端能进入死循环么? 不能;
29 寄存器内部,SUBSRCPND,
INTSUBMSK

时间: 2024-08-09 00:44:59

key中断的相关文章

TI CC2541的狗日的Key

被突如其来的一个bug困扰了, 起因是, 按键接的红外接收器, 结果发现, 一旦按下之后, IEN1, P0IE的标识位bit5, 被不知道特么的谁归0了, 也就是说, 按键只能被按下一次, 再按就不进中断了. 后来研究了甜总的自定义按键. http://blog.csdn.net/feilusia/article/details/50535963 发现按键根本不进中断. 接着, 又参考另一个文章: http://www.cnblogs.com/chenzhao207/articles/4483

Haproxy Configure File

---------------------- HAProxy Configuration Manual ---------------------- version 1.5.11 willy tarreau 2015/02/01 This document covers the configuration language as implemented in the versionspecified above. It does not provide any hint, example or

MySQL主从复制中断,报“Error on master: message (format)=&#39;Cannot delete or update a parent row: a foreign key constraint fails&#39; error code=1217” 错误

前几天,发现从库挂了,具体报错信息如下: 分析思路 1. 因为我采用的是选择性复制,只针对以下几个库进行复制: card,upay,deal,monitor,collect.所以,不太可能出现对于sas_basic的操作能复制到该从库上. 2. 整个架构是1主2从,且都是选择性复制,上面这个从库是直接复制card,upay,deal,monitor,collect这几个数据库的数据,而另外一个从库则是忽略上述库,如下所示: 怀疑是在上述schema下,执行了DROP TABLE IF EXIST

20150218【改进】IMX257实现GPIO-IRQ中断按键获取键值驱动程序

[改进]IMX257实现GPIO-IRQ中断按键获取键值驱动程序 2015-02-18 李海沿 一.使用struct pin_desc 管理按键的值 1.定义结构体 2.将前面我们申请中断时写的(void *)1修改为 &pins_desc[n] 在ioctl中,设置中断中修改 在key_release中释放中修改 3.在中断程序中利用我们定义的struc pins_desc判断并得到按键的值 4.得到按键键值后,唤醒程序,在read函数中返回键值 附上驱动源程序: 1 /***********

20150218【改进信号量】IMX257实现GPIO-IRQ中断按键获取键值驱动程序

[改进信号量]IMX257实现GPIO-IRQ中断按键获取键值驱动程序 2015-02-18 李海沿 前面我们使用POLL查询方式来实现GPIO-IRQ按键中断程序 这里我们来使用信号量,让我们的驱动同时只能有一个应用程序打开. 一.首先在前面代码的基础上来一个简单的信号 1.定义一个全局的整形变量 2.在打开函数中,每次进入打开函数canopen都自减1, 3.当我们不使用时,在realease 中canopen自加1 4.这样就实现了一个简单的信号量,我们编译,测试 当我们使用两个应用程序来

20150218【改进Poll定时查询】IMX257实现GPIO-IRQ中断按键获取键值驱动程序

[改进Poll定时查询]IMX257实现GPIO-IRQ中断按键获取键值驱动程序 2015-02-18 李海沿 按键驱动程序中,如果不使用read函数中使程序休眠的,而是还是使用查询方式的话,可以使用Poll函数,来控制一定时间内,如果有按键发生,则立即返回键值. 同时,poll也可以同时监控多个(比如说按键,鼠标,等)一旦发生事件则立即返回. 我们在linux查看帮助: 从帮助中的说明得知, poll, ppoll - wait for some event on a file descrip

Windows server 2016 key 序列号 密钥 破解 激活工具

Windows server 2016 key 序列号 密钥  破解 激活工具 Windows Server 2016 中的新增功能 点击获取Windows 2016 激活工具 计算 虚拟化区域包括适用于 IT 专业人员的虚拟化产品和功能,以设计.部署和维护 Windows Server. 常规 由于 Win32 Time 和 Hyper-V 时间同步服务的改进,物理和虚拟计算机从更高的时间准确性中受益. 现在,Windows Server 可以托管与即将推出的要求 UTC 准确性为 1 ms

《零死角玩转STM32》-17-EXTI外部中断/事件控制器

/* * 本文中的相关图片来自火哥的教程,只作为随笔记录,无侵权之意 * 21:25:46, 2017-04-08 */ EXTI:外部中断/事件控制器.STM32F429共有23根,其中EXTI0~EXTI15,分别对应GPIO中的PX0 ~ PX15,另外7根线有如下用途: (中间省略了EXTI1 ~ EXTI15) EXTI功能框图如下所示: 按照图中的序号标识,可以清晰的看出外部GPIO引脚上的电平变化是如何传递到内核,即GPIO -> EXTI -> NVIC,并触发相应的中断/事件

淘宝开源Key/Value结构数据存储系统Tair技术剖析

摘要: Tair的功能 Tair是一个Key/Value结构数据的解决方案,它默认支持基于内存和文件的两种存储方式,分别和我们通常所说的缓存和持久化存储对应. Tair除了普通Key/Value系统提供的功能,比如get.put.delete以及批量接口外,还有一些附加的实用功能,使得其有更广的适用场景,包括: Version支持> 原子计数器 Item支持 Tair是由淘宝网自主开发的Key/Value结构数据存储系统,在淘宝网有着大规模的应用.您在登录淘宝.查看商品详情页面或者在淘江湖和好友