STM8常用中止指令
开总中止
_asm(“rim”);
制止中止
_asm(“sim”);
进入停机形式
_asm(“halt”);
中止回来
_asm(“iret”);
等候中止
_asm(“wfi”);
软件中止
_asm(“trap”);
STM8S常用中止映射
如运用中止函数时,能够经过在上图中查找相对应的中止向量号,而中止函数的姓名能够自定义
外部中止长按键辨认相关装备
??STM8S为外部中止事情专门分配了五个中止向量:
PortA 口的5个引脚:PA[6:2]
PortB 口的8个引脚:PB[7:0]
PortC 口的8个引脚:PC[7:0]
PortD 口的7个引脚:PD[6:0]
PortE口的8个引脚:PE[7:0]
PD7是最高优先级的中止源(TLI);
中止IO设置
这儿选用EXTI2(端口C外部中止)。那么需要将中止促发的IO(PC5)设置为上拉输入或中止上拉输入,悬浮输入的话很简单受搅扰。
/*PC5设置为上拉输入*/
void Init_EXTI2_GPIO(void)
{
PC_DDR &= 0XDF;
PC_CR1 &= 0XDF;
PC_CR2 |= 0x20;
}
外部中止寄存器装备
CPU CC寄存器中止位:
I0不能直接写,只能经过开中止或关中止来写,上电默许是11;当用指令开中止时( _asm(“rim\n”);),为00;当产生中止时,由当时中止(ITC_SPRx)载入I[1:0],首要用于做中止优先级;退出中止主动清0;因此在写EXTI_CR1,需将ITC_SPRx装备成11,或参加禁中止指令 。
EXTI_CR1:
??装备促发方法;
测验代码
另拜见不必外部中止长按键辨认:不必外部中止辨认长按键