找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 3836|回復(fù): 0
收起左側(cè)

STM8外部中斷配置詳解

[復(fù)制鏈接]
ID:90014 發(fā)表于 2015-9-14 12:56 | 顯示全部樓層 |閱讀模式
1:引用STM8 的中斷庫(kù)
  #include "stm8s_exti.h"
2:配置外部中斷的觸發(fā)管腳
GPIO_Init(LEDS_PORT,MB,GPIO_MODE_IN_FL_IT );
或者
GPIO_Init(LEDS_PORT,MB,GPIO_MODE_IN_PU_IT );
3:初始化中斷
EXTI_DeInit();
EXTI_SetTLISensitivity(EXTI_TLISENSITIVITY_RISE_ONLY);//下降沿觸發(fā)中斷
EXTI_SetExtIntSensitivity((EXTI_PORT_GPIOD),EXTI_SENSITIVITY_RISE_ONLY);

4:中斷服務(wù)子程序的配置
(1)外部定義中斷服務(wù)子程序
@far @interrupt void EXTI3 (void)
{
  disableInterrupts();
  counter ();
  enableInterrupts();
}
(2)聲明外部中斷子程序
extern void EXTI3 ();
(3)配置外部中斷子程序向量表
struct interrupt_vector const _vectab[] = {
{0x82, (interrupt_handler_t)_stext},
{0x82, NonHandledInterrupt},
{0x82, NonHandledInterrupt},
{0x82, NonHandledInterrupt},
{0x82, NonHandledInterrupt},
{0x82, NonHandledInterrupt},
{0x82, NonHandledInterrupt},
{0x82, NonHandledInterrupt},
{0x82, EXTI3              },
{0x82, NonHandledInterrupt},
{0x82, NonHandledInterrupt},
{0x82, NonHandledInterrupt},
{0x82, NonHandledInterrupt},
{0x82, NonHandledInterrupt},
{0x82, NonHandledInterrupt},
{0x82, TIM2_UPD_OVF_TRG_IRQHandler },
{0x82, NonHandledInterrupt},
{0x82, NonHandledInterrupt},
{0x82, NonHandledInterrupt},
{0x82, NonHandledInterrupt},
{0x82, UART_RI            },
{0x82, NonHandledInterrupt},
{0x82, NonHandledInterrupt},
{0x82, NonHandledInterrupt},
{0x82, NonHandledInterrupt},
{0x82, NonHandledInterrupt},
{0x82, NonHandledInterrupt},
{0x82, NonHandledInterrupt},
{0x82, NonHandledInterrupt},
{0x82, NonHandledInterrupt},
{0x82, NonHandledInterrupt},
{0x82, NonHandledInterrupt},
};
注:在配置中斷實(shí)以上三部缺一不可



回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表