新聞中心

        EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > STM8-利用外部中斷編寫(xiě)一個(gè)按鍵控制燈的亮滅

        STM8-利用外部中斷編寫(xiě)一個(gè)按鍵控制燈的亮滅

        作者: 時(shí)間:2016-11-24 來(lái)源:網(wǎng)絡(luò) 收藏
        目的:熟悉外部中斷的使用。(一個(gè)按鍵控制燈的亮滅)
        #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);//延時(shí)消抖動(dòng)
        if((GPIO_ReadInputData(GPIOB)&GPIO_PIN_0)==0)
        {
        while((GPIO_ReadInputData(GPIOB)&GPIO_PIN_0)==0);//釋放檢測(cè)
        GPIO_WriteReverse(GPIOD, GPIO_PIN_0);
        }
        }

        }



        關(guān)鍵詞: STM8外部中斷按鍵控制

        評(píng)論


        技術(shù)專(zhuān)區(qū)

        關(guān)閉
        主站蜘蛛池模板: 当阳市| 即墨市| 化州市| 绥江县| 汾西县| 辽宁省| 新余市| 武宣县| 祁阳县| 岳池县| 古丈县| 晋中市| 静安区| 安徽省| 麟游县| 都江堰市| 林周县| 甘泉县| 蒲江县| 鲁山县| 文成县| 寿阳县| 昌吉市| 轮台县| 德昌县| 赣榆县| 昌江| 凤凰县| 平陆县| 德保县| 故城县| 阿克苏市| 资兴市| 景东| 会同县| 澄迈县| 斗六市| 庆城县| 深州市| 井冈山市| 望城县|