コード例 #1
0
ファイル: experiment_nrf51.c プロジェクト: zigaobj/NRF51
void TIMER_DelayMS( __IO uint32_t DelayMs )
{
  TIMER_TimeBaseInitTypeDef TIMER_TBInitStruct;

  TIMER_TBInitStruct.TIMER_Mode      = TIMER_MODE_MODE_Timer;
  TIMER_TBInitStruct.TIMER_BitMode   = TIMER_BITMODE_BITMODE_16Bit;
  TIMER_TBInitStruct.TIMER_Prescaler = 9;  // 16Mhz / 2^9 = 16000000Hz / 512 = 31250 Hz
  TIMER_TimeBaseInit(TIMER, &TIMER_TBInitStruct);

  TIMER_CCInit(TIMER, TIMER_CH, DelayMs*31.25f);

  TIMER_Cmd(TIMER, ENABLE);
  while(TIMER_EvenCheck(TIMER, TIMER_CH) != SUCCESS);
  TIMER_EvenClear(NRF_TIMER0, TIMER_CH0);
  TIMER_Cmd(TIMER, DISABLE);
}
コード例 #2
0
ファイル: experiment_nrf51.c プロジェクト: jarodz/NRF51
/*====================================================================================================*/
void TIMER_Config( void )
{
  TIMER_TimeBaseInitTypeDef TIMER_TBInitStruct;

  TIMER_TBInitStruct.TIMER_Mode      = TIMER_MODE_MODE_Timer;
  TIMER_TBInitStruct.TIMER_BitMode   = TIMER_BITMODE_BITMODE_16Bit;
  TIMER_TBInitStruct.TIMER_Prescaler = 9;  // 16Mhz / 2^9 = 16000000Hz / 512 = 31250 Hz
  TIMER_TimeBaseInit(USE_TIMER, &TIMER_TBInitStruct);

  TIMER_CCInit(USE_TIMER, USE_TIMER_CH, DELAY_TIME*31.25f);

  TIMER_Cmd(USE_TIMER, ENABLE);

  TIMER_CC0Interrupt(USE_TIMER, ENABLE);
  NVIC_SetPriority(USE_TIMER_IRQ, 1);
  NVIC_EnableIRQ(USE_TIMER_IRQ);
}