一、中斷的過(guò)程就不再贅言,功能,一般用于
本文引用地址:http://m.butianyuan.cn/article/201611/320646.htm實(shí)時(shí)處理程序 :快速執(zhí)行 -中斷鍵盤(pán)
分時(shí)操作 :進(jìn)行另外的功能模塊 -uart spi
故障處理 :也算實(shí)時(shí)處理的一部分 -掉電處理
待機(jī)喚醒 :可工作在低功耗下
使用的名詞 : 中斷源 中斷標(biāo)志 中斷響應(yīng) 請(qǐng)求信號(hào) 服務(wù)程序
中斷使用的過(guò)程:全局中斷運(yùn)行 本模塊中斷的允許 本中斷標(biāo)志出現(xiàn)了
AVR中斷向量(地址)需要占用空間的,一般占用1-2個(gè)字
ATMEGA128有35個(gè)中斷源
二、
中斷響應(yīng)過(guò)程
需要將全局中斷清零 本模塊的中斷清零 保護(hù)現(xiàn)場(chǎng) 進(jìn)入對(duì)應(yīng)的服務(wù)程序
一般經(jīng)過(guò)6-8的時(shí)鐘周期 是由硬件完成
三、外部中斷
四種觸發(fā)方式
上升沿觸發(fā) 下降沿觸發(fā) 任意電平變化觸發(fā) 低電平觸發(fā)
void Init_Int0(void)
{
CLI(); //disable all interrupts
EICRA |= (1<<1); //設(shè)定外部中斷0下降沿觸發(fā) 需要設(shè)定為00000010
EICRA &= ~(1<<0); //這里分了兩次是為了不影響其它中斷,最多為2次即可賦值
SEI_INT0(); //允許INT0;
SEI(); //re-enable interrupts
}
評(píng)論