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
key中断的更多相关文章
- TI CC2541的狗日的Key
被突如其来的一个bug困扰了好几天, 起因是, 按键接的红外接收器, 结果发现, 一旦按下之后, IEN1, P0IE的标识位bit5, 被不知道特么的谁归0了, 也就是说, 按键只能被按下一次, 再 ...
- LUA 利用#遍历表的问题
tb ={ } t = { "hello", , , 'w', , tb } --~ 1 hello --~ 2 1 --~ 3 2 --~ 4 w --~ 5 4 --~ 6 t ...
- 1.Linux电源管理-休眠与唤醒
1.休眠方式 在内核中,休眠方式有很多种,可以通过下面命令查看 # cat /sys/power/state //来得到内核支持哪几种休眠方式. 常用的休眠方式有freeze,standby, mem ...
- 1.Linux电源管理-休眠与唤醒【转】
转自:https://www.cnblogs.com/lifexy/p/9629699.html 1.休眠方式 在内核中,休眠方式有很多种,可以通过下面命令查看 # cat /sys/power/st ...
- MySQL主从复制中断,报“Error on master: message (format)='Cannot delete or update a parent row: a foreign key constraint fails' error code=1217” 错误
前几天,发现从库挂了,具体报错信息如下: 分析思路 1. 因为我采用的是选择性复制,只针对以下几个库进行复制: card,upay,deal,monitor,collect.所以,不太可能出现对于sa ...
- GPIOLED配置、key、中断NVIC配置
#include "stm32f10x.h" #include "stm32f10x_gpio.h" //内核,(NVIC) #include "mi ...
- myrocks复制中断问题排查
背景 mysql可以支持多种不同的存储引擎,innodb由于其高效的读写性能,并且支持事务特性,使得它成为mysql存储引擎的代名词,使用非常广泛.随着SSD逐渐普及,硬件存储成本越来越高,面向写优化 ...
- 记录一则ORACLE MOVE操作后重建索引过程被强制中断导致的ORA-8104案例
环境:SunOS + Oracle 11.2.0.3 对部分表进行Move操作之后,未重建对应的索引,会导致ORA-1502 索引不可用. 此时需要用下面的查询拼接出重建不可用索引的sql语句: ...
- STM32的USART中断死循环,形成死机。
作者:观海 QQ:531622 直接说重点:我用的是 STM32F103 芯片 USART2_IRQHandler 总是中断,程序死循环. 1.出现问题: 原程序的中断处理程序是: void USA ...
随机推荐
- python学习笔记(二)文件操作和集合
集合: 集合也是一种数据类型,一个类似列表东西,它的特点是无序的,不重复的,也就是说集合中是没有重复的数据 集合的作用: 1.它可以把一个列表中重复的数据去掉,而不需要你再写判断 2.可以做关系测试, ...
- rf调参小结
转自http://www.cnblogs.com/pinard/p/6160412.html 1. scikit-learn随机森林类库概述 在scikit-learn中,RF的分类类是RandomF ...
- LDA算法里面Dirichlet分布的两个参数alpha和beta怎样确定?
本文参考自:https://www.zhihu.com/question/21692336/answer/19387415 方法一: alpha 是 选择为 50/ k, 其中k是你选择的topi ...
- vim符号列表
Exuberant Ctags工具安装 • 软件简介 Ctags generates an index (or tag) file of language objects found in sourc ...
- 2017 Multi-University Training Contest - Team 4 hdu6071 Lazy Running
地址:http://acm.split.hdu.edu.cn/showproblem.php?pid=6071 题目: Lazy Running Time Limit: 2000/1000 MS (J ...
- 2017浙江省赛 A - Cooking Competition ZOJ - 3958
地址:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3958 题目: "Miss Kobayashi's Drag ...
- 【android】开发笔记---存储篇
SQLite批量插入数据 当我们执行 db.execSQL("sql语句")的时候,系统进行了一次IO操作,当批量插入成千上万条时,就会消耗掉许多资源. 解决之道是通过事务,统一提 ...
- Salesforce视图与控制器之间的交互
刚接触Salesforce,过程的确是比较艰难了,中文资料几乎没有,看英文资料学的效率却不高,不过看了一段时间的英文资料发现自己英语水平挺高不少啊,现在看都不用工具翻译,早知道就再次尝试报个6级,看下 ...
- TOSCA自动化测试工具ppt(正在整理)
1. 认识TOSCA 安装使用 2. TOSCA自动化测试工具的优点 1). 可扩展 Tosca Commander™ functionalities can be extended by us ...
- jxl.jar包,应该把它放在哪个文件下
①把鼠标放到自己的工程上右键 ②点击Properties or Build Path >> Configure Build Path, 然后弹出一个窗口,click AddExternal ...