ARM系列中GPIO引脚功能选择

文章详细介绍了如何配置微控制器的外部中断功能,包括设置P0.8和P0.9为TxD1和RxD1,通过PINSEL0寄存器进行配置;外部中断控制寄存器EXTPOLAR和EXTMODE用于设置中断极性和触发方式;EXTWAKE寄存器用于唤醒功能;EXTINT寄存器记录中断状态;以及中断使能、中断选择和向量控制寄存器在中断处理中的作用。通过一个EINT0下降沿触发中断的实例进行了具体操作演示。
摘要由CSDN通过智能技术生成

如将P0.8、P0.9设置为TxD1、RxD1功能(P0.8、P0.9均对应2位,故其应为17:16、19:18)

PINSEL0 = ( PINSEL0 & 0xFFF0FFFF ) | ( 0x05 << 16 ); //一次性设置完2个引脚,对应值

                    这里0对应的16-19 位        //需要参照寄存器功能表
 

外部中断相关寄存器

1.外部中断控制寄存器(EXTPOLAR)

        控制中断的有效信号,

        设置为1时,EINTx引脚输入高电平或者上升沿有效

        设置为0时,EINTx引脚输入低电平或者下降沿有效

7-4

3210
功能EXPOLAR3EXPOLAR2EXPOLAR1EXPOLAR0

2.外部中断方式控制寄存器(EXTMODE)

控制中断的方式(电平触发or边沿触发)

当EXTMODEx设置为0时,输入信号为电平触发

当EXTMODEx设置为1时,输入电平为边沿触发

7-4

3210
功能EXTMODE3EXTMODE2EXTMODE1EXTMODE0

3.外部中断唤醒寄存器(EXTWAKE)

当EXTWAKEx设置为1时,对应的外部中断将处理器从掉电模式唤醒

4.外部中断标志寄存器(EXTINT)

若引脚上出现符合要求的信号,EXTINT寄存器中对应的中断标志位被置为,向寄存器的EINT0-EINT3位置1,可清除对应的中断。

7-4

3210
功能EINT3EINT2EINT1EINT0

外部中断应用实例:设置EINT0为下降沿触发中断。

1.设置引脚功能,p0.16设置为外部中断功能。

2.设置中断方式寄存器,设置中断极性寄存器。

//将引脚P0.16对应的位数置0,与0x01或运算,得到01,选择外部中断功能
PINSEL1 = (PINSEL1 & 0xFFFFFFFC) | 0x01;
//0x01二进制表示为 00000001,设置为边沿触发
EXTMODE = EXTMODE | 0x01;  
//0x0E二进制表示为0000 1110,设置为下降沿触发
EXTPOLAR = EXTPOLAR & 0x0E

中断使能寄存器(VICIntEnable)

31...1817...210
功能保留A/D外部中断3ARM内核-----WDT(看门狗)

向某位写入1时,允许对应的中断源产生中断。

中断使能清零寄存器(VICIntEnClr)

31...1817...210
功能保留A/D外部中断3ARM内核-----WDT(看门狗)

与中断使能寄存器相反,向某位写入1时,禁止对应的中断源产生中断。

中断选择寄存器(VICIntSelect)

31...1817...210
功能保留A/D外部中断3ARM内核-----WDT(看门狗)

对应位写入1时,该位对应的中断源为FIQ中断,否则为IRQ中断。

向量控制寄存器(VICVectCnt10~15)

7654-0
功能————EN 中断源序号

低四位:分配给此优先级向量IRQ中断的中断源序号

第五位:EN = 1,使能当前优先级的向量IRQ中断,否则禁止。

向量控制寄存器它的作用是存储中断处理程序的入口地址,在中断发生时,CPU会通过该寄存器找到对应的中断处理程序并跳转执行。

向量地址寄存器(VICVectAddr0~15)

31-0
功能中断服务程序入口地址

该寄存器中存放对应优先级向量IRQ中断服务程序的入口地址。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值