亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

標題: STM32F107定時器實現1秒 PC9管腳狀態反轉 [打印本頁]

作者: lipsky    時間: 2018-11-24 12:25
標題: STM32F107定時器實現1秒 PC9管腳狀態反轉
#include "stm32f10x.h"
void delay(void);//調用延時函數
void GPIO_Config(void);//調用GPIO_Config函數
void TIM1_Config(void);
void NVIC_Config(void);//調用NVIC_Config函數

int main(void)
{
        /*配置PC9 為推挽輸出*/
        GPIO_Config();
        /*配置 TIM1 為 1 s中斷*/
        TIM1_Config();
        /*使能TIM1 中斷為向上溢出中斷*/
        NVIC_Config();


        /*等待 TIM1 */
        while(1)
               
        {}
               
}
void GPIO_Config(void)
{
        /*定義一個以GPIO_InitStructure為名的GPIO_InitTypeDef類型的結構體*/
        GPIO_InitTypeDef GPIO_InitStructure;

        /*使能GPIOC和GPIOD時鐘*/
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
        /*選擇管腳9*/                                                                                                                                                                                    
        GPIO_InitStructure.GPIO_Pin= GPIO_Pin_9;
        /*選擇管腳速度為50MHz*/
        GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
        /*配置PC9管腳為推挽輸出*/
        GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
        /*按照GPIO_InitStructure的配置進行初始化,并且選擇C端口*/
        GPIO_Init(GPIOC, &GPIO_InitStructure);
        
}

void TIM1_Config(void)
{
        /*initialize TIM_TimeBaseInitTypeDef Structure*/
        TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
        /*enable the rcc of TIM1*/
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1,ENABLE);

    /*預分頻系數為7200,因為0時不分頻,所以減1*/
        TIM_TimeBaseStructure.TIM_Prescaler=(7200-1);  
               
        /*自動裝載的計數值,因為計數從0 開始,所以減1*/
          TIM_TimeBaseStructure.TIM_Period=(10000-1);            

        /*采樣分頻之間的分頻比例,0代表不分頻*/
          TIM_TimeBaseStructure.TIM_ClockDivision=0;

        /*向上計數*/
          TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
        
        /*重復計數次數為0,即每次溢出都更新*/     
          TIM_TimeBaseStructure.TIM_RepetitionCounter=0;
        
        /* 根據TIM_TimeBaseStructure的設定設置TIM1*/        
        TIM_TimeBaseInit(TIM1,&TIM_TimeBaseStructure);

        /*清除TIM1溢出中斷標志*/
        TIM_ClearITPendingBit(TIM1,TIM_IT_Update);

        /*打開溢出中斷標志*/
        TIM_ITConfig(TIM1,TIM_IT_Update,ENABLE);

        /*使能TIM1計數器,開始工作*/
        TIM_Cmd(TIM1,ENABLE);
}

void NVIC_Config(void)
{
        /*定義一個以NVIC_InitStructure為名的NVIC_InitTypeDef類型的結構體,該結構體的原型在misc.h中*/
        NVIC_InitTypeDef NVIC_InitStructure;
        
        /*在NVIC中配置中斷通道為EXTI3,搶占優先級為7,從優先級為7,并使能該中斷*/
        NVIC_InitStructure.NVIC_IRQChannel=TIM1_UP_IRQn;
        NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0;  //沒有搶占優先級
        NVIC_InitStructure.NVIC_IRQChannelSubPriority=1;                   //從優先級為1,從優先級至少為1
        NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;                //在NVIC_InitStructure中使能該中斷
        NVIC_Init(&NVIC_InitStructure);                                                //initialize

}





歡迎光臨 (http://www.denmoz.com/bbs/) Powered by Discuz! X3.1