《tiny6410裸机程序》第八章:S3C6410外部中断控制寄存器

来源:互联网 发布:毕业证复印件制作软件 编辑:程序博客网 时间:2024/05/01 12:21

  S3C6410将外部GPIO/EINT中断源分成了10组、分别通过以下外部子中断控制寄存器来设置它们:

rEINT0CON0(rEINT0CON1)、rEINT0MASK、rEINT0PEND/控制第0组;

rEINT12CON、rEINT12MASK、rEINT12PEND/控制第1和第2组;

rEINT34CON、rEINT34MASK、rEINT34PEND/控制第3和第4组;

rEINT56CON、rEINT56MASK、rEINT56PEND/控制第5和第6组;

rEINT78CON、rEINT78MASK、rEINT78PEND/控制第7和第8组;

rEINT9CON、rEINT9MASK、rEINT9PEND/控制第9组,组成。

  下面讲比较常用的第0组外部中断控制器相关设置:

一、子中断源触发类型寄存器组

1.rEINT0CON0 = 0x7F00 8900

bit0~bit2:设置EINT0和EINT1的中断触发类型;bit3不用。 //GPN0和GPN1

bit4~bit6:设置EINT2和EINT3的中断触发类型;bit7不用。 //GPN2和GPN3

bit8~bit10:设置EINT4和EINT5的中断触发类型;bit11不用。 //GPN4和GPN5

bit12~bit14:设置EINT6和EINT7的中断触发类型;bit15不用。 //GPN6和GPN7

bit16~bit18:设置EINT8和EINT9的中断触发类型;bit19不用。  //GPN8和GPN9

bit20~bit22:设置EINT10和EINT11的中断触发类型;bit23不用。 //GPN10和GPN11

bit24~bit26:设置EINT12和EINT13的中断触发类型;bit27不用。  //GPN12和GPN13

bit28~bit30:设置EINT14和EINT15的中断触发类型;bit31不用。  //GPN14和GPN15

2.rEINT0CON1 = 0x7F00 8904

设置EINT16~EINT27的中断触发类型。

bit0~bit2:设置EINT16和EINT17的中断触发类型;bit3不用。 //GPL8和GPL9

bit4~bit6:设置EINT18和EINT19的中断触发类型;bit7不用。 //GPL10和GPL11

bit8~bit10:设置EINT20和EINT21的中断触发类型;bit11不用。 //GPL12和GPL13

bit12~bit14:设置EINT22和EINT23的中断触发类型;bit15不用。 //GPL14和GPM0

bit16~bit18:设置EINT24和EINT25的中断触发类型;bit19不用。  //GPM1和GPM2

bit20~bit22:设置EINT26和EINT27的中断触发类型;bit23不用。 //GPM3和GPM4

说明:000表示低电平触发,001表示高电平触发,01x表示下降沿触发,10x表示上升沿触发,11x表示上升和下降沿都触发。

二、子中断屏蔽寄存器rEINT0MASK = 0x7F00 8920

bit0:0,EINT0使能;1,EINT0屏蔽。

bit1:0,EINT1使能;1,EINT1屏蔽。

bit2:0,EINT2使能;1,EINT2屏蔽。以此类推

bit26:0,EINT26使能;1,EINT26屏蔽。

bit27:0,EINT27使能;1,EINT27屏蔽。

三、子中断源清除寄存器rEINT0PEND = 0x7f008924;该中断发生后要人工用软件把它置1

bit0:0,EINT0没有发生过;1,EINT0发生过。

bit1:0:EINT1没有发生过;1,EINT1发生过。

bit2:0,EINT2没有发生过;1,EINT2发生过。

bit26:0,EINT26没有发生过;1,EINT26发生过。

bit27:0,EINT27没有发生过;1,EINT27发生过。

注意:该寄存器还有一个实际的用途;不同的GPIO/EINT脚上多个设备产生同一个总中断(如GPN0~GPN3/EINT0~EINT3产生的都是总中断号为0的中断),软件可以通过该寄存器判断。


原创粉丝点击