stm8s外部中断

stm8s外部中断相关的寄存器除了io的几个寄存器之外,还有就是EXTI_CR1,EXTI_CR2寄存器。这里要注意,io的CR2寄存器的作用是开关中断。另外,stm8s系列外部中断没有标志位。

以PC1下降沿触发为例,配置如下:

asm("sim");//关总中断

EXTI_CR1_PCIS = 2;//仅下降沿触发

PC_DDR_DDR1 = 0;//io方向:输入

PC_CR1_C11=0;//因为DDR为0,所以CR1为0表示浮空输入模式

PC_CR2_C21 = 1;//1:使能外部中断,0:关闭外部中断

asm("rim");//开总中断

说明:EXTI_CR1_PCIS可以选择0——3,含义如下图所示:


iar中断函数写法如下:

/* Defines an interrupt handler for EXTI2 vector. */
#pragma vector=7
__interrupt void EXTI2_IRQHandler(void)
{           

}

中断函数我并没有写内容,说明一点:iar的中断向量号比stm8s参考手册的中断向量号大2,所以手册里PC的终端向量号为5,此处为7

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值