×
嵌入式 > 技术百科 > 详情

STM8-利用外部中断编写一个按键控制灯的亮灭

发布时间:2020-06-03 发布时间:
|
目的:熟悉外部中断的使用。(一个按键控制灯的亮灭)
#include"stm8s.h"
#include "stm8s_exti.h"
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
void delay(uint i)
{
  while(i--);
}
void main()
{
 
  GPIO_DeInit(GPIOD);
  GPIO_Init(GPIOD, GPIO_PIN_0, GPIO_MODE_OUT_PP_LOW_FAST);//输出
  GPIO_DeInit(GPIOB);
  GPIO_Init(GPIOB, GPIO_PIN_0, GPIO_MODE_IN_FL_IT);//输入
 
 
  EXTI_DeInit();
  EXTI_SetExtIntSensitivity(EXTI_PORT_GPIOB,  EXTI_SENSITIVITY_FALL_ONLY);
 
  
  enableInterrupts();
  while (1)
  {
  }
}
 
#pragma vector=6
__interrupt void EXIT_PORTB_IRQHander(void)
{
  if((GPIO_ReadInputData(GPIOB)&GPIO_PIN_0)==0)
  {
    delay(250);//延时消抖动
    if((GPIO_ReadInputData(GPIOB)&GPIO_PIN_0)==0)
    {
      while((GPIO_ReadInputData(GPIOB)&GPIO_PIN_0)==0);//释放检测
      GPIO_WriteReverse(GPIOD, GPIO_PIN_0);
    }
  }

}
 
 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
FPGA及CPLD应用领域不断拓展