新聞中心

        STM8_TIM4 溢出中斷

        作者: 時(shí)間:2016-12-03 來源:網(wǎng)絡(luò) 收藏
        C語言:Codee#11307
        /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
        + 實(shí)驗(yàn)平臺(tái): ST 官方三合一套件
        + 硬件 : STM8S105S6T6C
        + 開發(fā)平臺(tái): IAR For STM8 1.10
        + 仿真器 : ST-Link
        ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/

        #include "stm8s.h"
        unsignedintCOUNTER;
        /*******************************************************************************
        * ==時(shí)鐘初始化函數(shù)==
        * CLK_DeInit(); --> 復(fù)位時(shí)鐘寄存器
        * CLK_HSICmd(ENABLE); --> 使能內(nèi)部高速時(shí)鐘
        * CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV2); --> 配置內(nèi)部高速時(shí)鐘(時(shí)鐘分頻器:2分頻)
        * CLK_ClockSecuritySystemEnable(); --> 開啟時(shí)鐘安全系統(tǒng)
        *******************************************************************************/
        voidCLK_INIT(void)
        {
        CLK_DeInit();
        CLK_HSICmd(ENABLE);
        CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV2);
        CLK_ClockSecuritySystemEnable();
        }
        /*******************************************************************************
        * ==I/O口初始化函數(shù)==
        * GPIO_DeInit(); --> 復(fù)位I/O端口 D
        * GPIO_Init(GPIOD , GPIO_PIN_0 , GPIO_MODE_OUT_PP_LOW_SLOW);
        --> 使能PORTD_0 設(shè)置為 輸出,推挽式 ,低電平 ,低速率
        *******************************************************************************/
        voidGPIO_INIT(void)
        {
        GPIO_DeInit(GPIOD);
        GPIO_Init(GPIOD,GPIO_PIN_0,GPIO_MODE_OUT_PP_LOW_SLOW);
        }
        /*******************************************************************************
        * ==定時(shí)器4初始化函數(shù)==
        * TIM4_DeInit(); --> 復(fù)位定時(shí)器4寄存器
        * TIM4_TimeBaseInit(TIM4_PRESCALER_64,0x02 ); --> 128分頻 , 賦計(jì)數(shù)器初值
        * TIM4_ITConfig(TIM4_IT_UPDATE, ENABLE); --> 中斷配置 ,更新中斷使能 即溢出中斷
        * TIM4_Cmd(ENABLE); --> 定時(shí)器4使能
        *******************************************************************************/
        voidTIMER4_INIT(void)
        {
        TIM4_DeInit();
        TIM4_TimeBaseInit(TIM4_PRESCALER_128,0x02);
        TIM4_ITConfig(TIM4_IT_UPDATE,ENABLE);
        TIM4_Cmd(ENABLE);

        }
        /*******************************************************************************
        * ==MAIN 函數(shù)==
        * 初始化 時(shí)鐘
        * 初始化 端口
        * 初始化 定時(shí)器4
        * 使能全局中斷
        *******************************************************************************/
        voidmain(void)
        {
        CLK_INIT();
        GPIO_INIT();
        TIMER4_INIT();
        COUNTER=0;
        enableInterrupts();
        while(1);
        }
        /*******************************************************************************
        * ==中斷服務(wù)函數(shù)==
        * 翻轉(zhuǎn)LED電平
        * 清除定時(shí)器更新標(biāo)志位
        *******************************************************************************/
        #pragma vector=0x19
        __interruptvoidTIM4_UPD_OVF_IRQHandler(void)
        {
        if(COUNTER<10000)
        {
        ++COUNTER;
        }
        else
        {
        GPIO_WriteReverse(GPIOD,GPIO_PIN_0);
        COUNTER=0;
        }

        TIM4_ClearITPendingBit(TIM4_IT_UPDATE);
        }


        關(guān)鍵詞: STM8TIM4溢出中

        評(píng)論


        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 剑川县| 西峡县| 惠来县| 尉犁县| 元谋县| 彰化县| 钟祥市| 宜君县| 唐海县| 嘉兴市| 临海市| 宁国市| 进贤县| 正阳县| 凤冈县| 重庆市| 溆浦县| 东港市| 紫阳县| 乐陵市| 乐亭县| 衡山县| 锡林郭勒盟| 巨鹿县| 龙山县| 青铜峡市| 东乡县| 贵德县| 肇东市| 浦县| 台北县| 霍山县| 孝昌县| 廉江市| 丰都县| 双桥区| 六盘水市| 纳雍县| 元阳县| 甘洛县| 太康县|