新手上路
- 积分
- 21
- 金钱
- 21
- 注册时间
- 2013-3-14
- 在线时间
- 52 小时
|
发表于 2016-1-21 09:32:37
|
显示全部楼层
void Timerx_Init(unsigned int arr,unsigned int psc)
{
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
NVIC_InitTypeDef NVIC_InitStructure;
/* TIM3 clock enable */
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE);
NVIC_InitStructure.NVIC_IRQChannel = TIM3_IRQn; //TIM3ÖD¶Ï
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2; //ÏèÕ¼óÅÏè¼¶0¼¶
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1; //′óóÅÏè¼¶3¼¶
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQí¨μà±»ê1Äü
NVIC_Init(&NVIC_InitStructure); //¸ù¾YNVIC_InitStructÖDÖ¸¶¨μÄ2Îêy3õê¼»ˉíaéèNVIC¼Ä′æÆ÷
TIM_TimeBaseStructure.TIM_Period = arr; /* éèÖÃÔúÏÂò»¸ö¸üDÂê¼t×°èë»î¶ˉμÄ×Ô¶ˉÖØ×°ÔØ¼Ä′æÆ÷ÖüÆúμÄÖμ ¼Æêyμ½5000Îa500ms */
TIM_TimeBaseStructure.TIM_Prescaler =psc-1; /*éèÖÃóÃà′×÷ÎaTIMxê±ÖóÆμÂê3yêyμÄÔ¤·ÖÆμÖμ 10KhzμļÆêyÆμÂê */
TIM_TimeBaseStructure.TIM_ClockDivision = 0; /*éèÖÃê±Öó·Ö¸î:TDTS = Tck_tim */
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; /*TIMÏòéϼÆêyÄ£ê½*/
TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure); /*¸ù¾YTIM_TimeBaseInitStructÖDÖ¸¶¨μÄ2Îêy3õê¼»ˉTIMxμÄê±¼ä»ùêyμ¥λ*/
TIM_ITConfig(TIM3, TIM_IT_Update | TIM_IT_Trigger,ENABLE );
TIM_Cmd(TIM3, ENABLE); /*ê1ÄüTIMxíaéè */
}
中断配置如上。
(当然别忘记了配置这货: NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);) |
|