新聞中心

        STM32 TIMx 配置

        作者: 時(shí)間:2016-12-03 來(lái)源:網(wǎng)絡(luò) 收藏
        固件庫(kù) V3.5 IAR

        本文引用地址:http://www.104case.com/article/201612/325201.htm

        void NVIC_Configuration(void)
        {
        /***********************定時(shí)器2中斷**********************************/
        NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQn;//使能或者失能指定的 IRQ通道
        NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 3;//設(shè)置了成員 NVIC_IRQChannel中的先占優(yōu)先級(jí)
        NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;//設(shè)置了成員 NVIC_IRQChannel中的從優(yōu)先級(jí)
        NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;//使能初始化命令
        NVIC_Init(&NVIC_InitStructure);//初始化
        /***********************定時(shí)器4中斷**********************************/
        NVIC_InitStructure.NVIC_IRQChannel = TIM4_IRQn;//使能或者失能指定的 IRQ通道
        NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2;//設(shè)置了成員 NVIC_IRQChannel中的先占優(yōu)先級(jí)
        NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;//設(shè)置了成員 NVIC_IRQChannel中的從優(yōu)先級(jí)
        NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;//使能初始化命令
        NVIC_Init(&NVIC_InitStructure);//初始化

        /*******************************************************************************
        * 函數(shù)名稱(chēng): Time2_Configuration(void)
        * 函數(shù)功能: Time2 設(shè)置 計(jì)數(shù)器
        * 參數(shù)變量: NONE
        * 全局變量: NONE
        * 調(diào)用函數(shù):
        * 修改時(shí)間:
        * 版 本:V1.0
        * 狀 態(tài):調(diào)試完成
        *******************************************************************************/
        void Time2_Configuration(void)
        {
        /************************* 基本定時(shí)器模式設(shè)置**************************/
        RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2|RCC_APB1Periph_TIM4, ENABLE); //使能 TIM3 時(shí)鐘
        TIM_DeInit(TIM2);//初始化定時(shí)器2
        TIM_DeInit(TIM4);//初始化定時(shí)器4

        TIM_TimeBaseStructure.TIM_Period = 65535; //初值
        TIM_TimeBaseStructure.TIM_Prescaler = 2; //設(shè)置了用來(lái)作為 TIMx 時(shí)鐘頻率除數(shù)的預(yù)分頻值
        TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1 ; //設(shè)置了時(shí)鐘分割1:1
        TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; //計(jì)數(shù)方式 向上計(jì)數(shù)
        TIM_TimeBaseInit(TIM2, & TIM_TimeBaseStructure); //根據(jù) TIM_TimeBaseInitStruct 中指定的參數(shù)初始化 TIMx 的時(shí)間基數(shù)單位
        TIM_TimeBaseInit(TIM4, & TIM_TimeBaseStructure); //根據(jù) TIM_TimeBaseInitStruct 中指定的參數(shù)初始化 TIMx 的時(shí)間基數(shù)單位

        GPIO_PinRemapConfig(GPIO_FullRemap_TIM2 ,DISABLE);//不重映射
        TIM_ITConfig(TIM2, TIM_IT_Update ,ENABLE); //使能中斷
        TIM_ITConfig(TIM4, TIM_IT_Update ,ENABLE); //使能中斷
        TIM_Cmd(TIM2, ENABLE);//使能外設(shè) TIME2
        TIM_Cmd(TIM4, ENABLE);//使能外設(shè) TIME4
        }

        /*******************************************************************************
        * 函數(shù)名稱(chēng): TIM3_IRQHandler(void)
        * 函數(shù)功能: TIM3 中斷函數(shù)
        * 參數(shù)變量: NONE
        * 全局變量: NONE
        * 調(diào)用函數(shù):
        * 修改時(shí)間:
        * 版 本: V1.0
        * 狀 態(tài):
        *******************************************************************************/
        void TIM3_IRQHandler(void)
        {
        if(TIM_GetITStatus(TIM3, TIM_IT_Update ) != RESET)
        {
        TIM_ClearITPendingBit(TIM3, TIM_IT_Update);//清除標(biāo)志
        //

        }

        }
        /*******************************************************************************
        * 函數(shù)名稱(chēng): TIM4_IRQHandler(void)
        * 函數(shù)功能: TIM4 中斷函數(shù)
        * 參數(shù)變量: NONE
        * 全局變量: NONE
        * 調(diào)用函數(shù):
        * 修改時(shí)間:
        * 版 本: V1.0
        * 狀 態(tài):
        *******************************************************************************/
        void TIM4_IRQHandler(void)
        {
        if(TIM_GetITStatus(TIM4, TIM_IT_Update ) != RESET)
        {
        TIM_ClearITPendingBit(TIM4, TIM_IT_Update);//清除標(biāo)志
        //
        countx++;
        if(countx<120){
        GPIO_SetBits(GPIOF,GPIO_Pin_7);

        }//保存數(shù)據(jù)//關(guān)閉所有的LED指示燈
        else {
        GPIO_ResetBits(GPIOF,GPIO_Pin_7);

        }
        }

        }



        關(guān)鍵詞: STM32TIMx配

        評(píng)論


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

        關(guān)閉
        主站蜘蛛池模板: 平乐县| 碌曲县| 股票| 濮阳县| 东海县| 久治县| 武宁县| 新宾| 石楼县| 阳信县| 扎赉特旗| 胶南市| 增城市| 三穗县| 平昌县| 桃源县| 金堂县| 饶平县| 武穴市| 通州市| 依安县| 涿州市| 合川市| 金寨县| 阿拉尔市| 彭山县| 桐乡市| 克拉玛依市| 上杭县| 阿勒泰市| 东山县| 都兰县| 辽宁省| 平果县| 秦皇岛市| 绥滨县| 红安县| 米易县| 罗江县| 聂荣县| 蒲城县|