| | |
| | | |
| | | NVIC_Init(&NVIC_InitStructure); |
| | | } |
| | | |
| | | //?????3????? |
| | | //???????APB1?2?,?APB1?36M |
| | | //arr:?????? |
| | | //psc:?????? |
| | | //?????????3! |
| | | void TIM3_Int_Init(void) |
| | | { |
| | | TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; |
| | | NVIC_InitTypeDef NVIC_InitStructure; |
| | | |
| | | RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE); //???? |
| | | |
| | | //???TIM3??? |
| | | TIM_TimeBaseStructure.TIM_Period = 1000-1; //??????????????????????????? |
| | | TIM_TimeBaseStructure.TIM_Prescaler =72-1; //??????TIMx??????????? |
| | | TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; //??????:TDTS = Tck_tim |
| | | TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; //TIM?????? |
| | | TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure); //??????????TIMx??????? |
| | | |
| | | TIM_ITConfig(TIM3,TIM_IT_Update,ENABLE ); //?????TIM3??,?????? |
| | | |
| | | //?????NVIC?? |
| | | NVIC_InitStructure.NVIC_IRQChannel = TIM3_IRQn; //TIM3?? |
| | | NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; //?????0? |
| | | NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; //????3? |
| | | NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQ????? |
| | | NVIC_Init(&NVIC_InitStructure); //???NVIC??? |
| | | |
| | | |
| | | TIM_Cmd(TIM3, ENABLE); //??TIMx |
| | | } |
| | | //???3?????? |
| | | int Systick_Init(void) |
| | | { |
| | | int time_retry = 500; |