yincheng.zhong
2023-08-16 56900ed5464e7cf4215052c706e8c22b00147e4a
源码/核心板/Src/OnChipDevices/Rcc_Nvic_Systick.c
@@ -133,19 +133,50 @@
    NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
    NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
      NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn;
      NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
      NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
      NVIC_Init(&NVIC_InitStructure);
      NVIC_InitStructure.NVIC_IRQChannel = RTCAlarm_IRQn;
    NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
    NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
      NVIC_InitStructure.NVIC_IRQChannelCmd =ENABLE;
//      NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn;
//      NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
//      NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
//      NVIC_Init(&NVIC_InitStructure);
//
//      NVIC_InitStructure.NVIC_IRQChannel = RTCAlarm_IRQn;
//    NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
//    NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
//      NVIC_InitStructure.NVIC_IRQChannelCmd =ENABLE;
   
    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;
@@ -164,7 +195,7 @@
void delay_us(uint32_t nTimer)  
{  
    uint32_t i=0;  
    for(i=0;i<nTimer;i++){
    for(i=0;i<nTimer*5;i++){
        __NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();
      __NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();
      __NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();