久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: STM32通用定時器TIM2-5的基本用法 [打印本頁]

作者: 51hei社區    時間: 2016-1-16 05:07
標題: STM32通用定時器TIM2-5的基本用法
STM32的定時器是個強大的模塊,定時器使用的頻率也是很高的,定時器可以做一些基本的定時,還可以做PWM輸出或者輸入捕獲功能。從系統框架圖下看,名為TIMx的有八個,其中TIM1和TIM8掛在APB2總線上,而TIM2-TIM7則掛在APB1總線上。其中TIM1&TIM8稱為高級控制定時器(advanced control timer).他們所在的APB2總線也比APB1總線要好。APB2可以工作在72MHz下,而APB1最大是36MHz。

   由上圖可知,當APB1 的預分頻系數為1 時,這個倍頻器不起作用,定時器的時鐘頻率等于APB1 的頻率;當APB1的預分頻系數為其它數值(即預分頻系數為2、4、8 或16)時,這個倍頻器起作用,定時器的時鐘頻率等于APB1 的頻率兩倍。也就是,當APB1不分頻,TIM3的時鐘速度為36MHz,當2分頻是,APB1變成18MHz,但是TIM又會倍頻,即TIM時鐘等于18*2=36MHz。這里我們用向上計數的方式,即TIMx_CNT中的計數值達到TIMx_ARR中的值時,產生中斷,TIMx_CNT又從0開始計。

按以下步驟編程:
1.系統初始化,主要初始化時鐘等。
2.GPIO初始化,用于LED,有了燈就便于觀察了。
3.TIM3的配置。
4.NVIC的配置。
5.編寫中斷服務函數。

void GPIO_PA_Init()
{//PA8管腳配置
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_DeInit(GPIOA);
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_8;
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_10MHz;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP ;//推挽輸出
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_AFIO, ENABLE);//使能端口時鐘A
GPIO_Init(GPIOA, &GPIO_InitStructure);
}
void TIMER3_Init()
{
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
TIM_DeInit(TIM3);
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE);
TIM_TimeBaseStructure.TIM_Period=10000;//ARR的值
TIM_TimeBaseStructure.TIM_Prescaler=7200-1;
TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up; //向上計數模式
TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure);
TIM_ITConfig(TIM3,TIM_IT_Update,ENABLE);
TIM_Cmd(TIM3, ENABLE); //開啟時鐘
}
void NVIC_Configuration()
{  
NVIC_InitTypeDef NVIC_InitStructure;
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);   // 搶占式優先級別
NVIC_InitStructure.NVIC_IRQChannel = TIM3_IRQn;//指定中斷源
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;// 指定響應優先級別1
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
}
int main(void)
{     
Stm32_Clock_Init(9); //系統時鐘設置
delay_init(72);      //延時初始化
GPIO_PA_Init();
TIMER3_Init();
NVIC_Configuration();
while(1);
}
void TIM3_IRQHandler()
{
if(TIM_GetITStatus(TIM3 , TIM_IT_Update) == SET)
{
  TIM_ClearITPendingBit(TIM3 , TIM_FLAG_Update);
  if(GPIO_ReadOutputDataBit(GPIOA,GPIO_Pin_8)) GPIO_ResetBits(GPIOA, GPIO_Pin_8);
  else GPIO_SetBits(GPIOA, GPIO_Pin_8);
}
}







歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 成人免费看电影 | 黄免费观看视频 | 亚洲夜射 | 日韩一级免费电影 | 一级做a爰片性色毛片 | 91精品久久久久久久久久 | 欧美日韩理论 | 国产精品中文字幕在线 | 亚洲视频一区在线 | 综合久久综合久久 | 国产91在线 | 中日 | 毛片一区二区三区 | 欧美一级二级视频 | 国产精品一区二区三区免费观看 | 国产精品一区二 | av中文字幕在线 | 久久蜜桃资源一区二区老牛 | 天天人人精品 | 在线播放亚洲 | 欧美精品一区二区三区四区 在线 | 久久亚洲一区二区三区四区 | 精品欧美一区二区久久久伦 | 国产精品海角社区在线观看 | 欧美久久一级 | 国产在线不卡视频 | 黄网址在线观看 | 国产精品夜间视频香蕉 | 91婷婷韩国欧美一区二区 | 一区二区三区网站 | 亚洲视频一区在线 | 欧美精品在线免费观看 | 亚洲精品小视频在线观看 | 欧美成人免费在线 | 黄网免费| 欧美久久不卡 | 欧美高清成人 | 99久久精品一区二区成人 | 狼色网 | 国产精品精品久久久久久 | 在线视频h| 日韩在线资源 |