@@ -162,10 +162,10 @@ static uint32_t palTimerGetCurrentTime(void)
162
162
/* Read and return the captured count value from capture register 1 */
163
163
return PalRtcCounterGet ();
164
164
#else
165
- /* Capture current TIMER1 count to capture register 1 */
166
- NRF_TIMER1 -> TASKS_CAPTURE [TIMER_CHANNEL_READ_TICK ] = 1 ;
165
+ /* Capture current TIMER2 count to capture register 1 */
166
+ NRF_TIMER2 -> TASKS_CAPTURE [TIMER_CHANNEL_READ_TICK ] = 1 ;
167
167
/* Read and return the captured count value from capture register 1 */
168
- return NRF_TIMER1 -> CC [TIMER_CHANNEL_READ_TICK ];
168
+ return NRF_TIMER2 -> CC [TIMER_CHANNEL_READ_TICK ];
169
169
#endif
170
170
}
171
171
return 0 ;
@@ -192,28 +192,28 @@ void PalTimerInit(PalTimerCompCback_t expCback)
192
192
PalRtcIrqRegister (RTC_CHANNEL_START_BB , palTimerRtcIrqHandler );
193
193
#else
194
194
/* Give scheduler timer the highest priority. */
195
- NVIC_SetPriority (TIMER1_IRQn , 0 ); /* highest priority */
196
- NVIC_DisableIRQ (TIMER1_IRQn );
195
+ NVIC_SetPriority (TIMER2_IRQn , 0 ); /* highest priority */
196
+ NVIC_DisableIRQ (TIMER2_IRQn );
197
197
198
198
/* stop timer if it was somehow running (timer must be stopped for configuration) */
199
- NRF_TIMER1 -> TASKS_STOP = 1 ;
199
+ NRF_TIMER2 -> TASKS_STOP = 1 ;
200
200
201
201
/* clear timer to zero count */
202
- NRF_TIMER1 -> TASKS_CLEAR = 1 ;
202
+ NRF_TIMER2 -> TASKS_CLEAR = 1 ;
203
203
204
204
/* configure timer */
205
- NRF_TIMER1 -> MODE = TIMER_MODE_MODE_Timer ;
206
- NRF_TIMER1 -> BITMODE = TIMER_BITMODE_BITMODE_32Bit ;
207
- NRF_TIMER1 -> PRESCALER = PAL_TIMER_1MHZ_PRESCALER ; /* f = 16MHz / (2 ^ TIMER_PRESCALER) */
205
+ NRF_TIMER2 -> MODE = TIMER_MODE_MODE_Timer ;
206
+ NRF_TIMER2 -> BITMODE = TIMER_BITMODE_BITMODE_32Bit ;
207
+ NRF_TIMER2 -> PRESCALER = PAL_TIMER_1MHZ_PRESCALER ; /* f = 16MHz / (2 ^ TIMER_PRESCALER) */
208
208
209
209
/* timer1 is a free running clock. */
210
- NRF_TIMER1 -> TASKS_START = 1 ;
210
+ NRF_TIMER2 -> TASKS_START = 1 ;
211
211
212
212
/* Clear out and enable timer1 interrupt at system level. */
213
- NRF_TIMER1 -> INTENCLR = 0xFFFFFFFF ;
214
- NRF_TIMER1 -> EVENTS_COMPARE [TIMER_CHANNEL_START_BB ] = 0 ;
215
- NVIC_ClearPendingIRQ (TIMER1_IRQn );
216
- NVIC_EnableIRQ (TIMER1_IRQn );
213
+ NRF_TIMER2 -> INTENCLR = 0xFFFFFFFF ;
214
+ NRF_TIMER2 -> EVENTS_COMPARE [TIMER_CHANNEL_START_BB ] = 0 ;
215
+ NVIC_ClearPendingIRQ (TIMER2_IRQn );
216
+ NVIC_EnableIRQ (TIMER2_IRQn );
217
217
#endif
218
218
#endif
219
219
@@ -231,10 +231,10 @@ void PalTimerDeInit(void)
231
231
{
232
232
#if SCH_TIMER_REQUIRED == TRUE
233
233
#if BB_CLK_RATE_HZ != 32768
234
- NVIC_DisableIRQ (TIMER1_IRQn );
234
+ NVIC_DisableIRQ (TIMER2_IRQn );
235
235
236
236
/* stop timer */
237
- NRF_TIMER1 -> TASKS_STOP = 1 ;
237
+ NRF_TIMER2 -> TASKS_STOP = 1 ;
238
238
#endif
239
239
#endif
240
240
@@ -284,13 +284,13 @@ void PalTimerStart(uint32_t expTimeUsec)
284
284
uint32_t startTimeTick = palTimerGetCurrentTime () + PAL_TIMER_US_TO_TICKS (expTimeUsec );
285
285
286
286
/* Clear pending events. */
287
- NRF_TIMER1 -> EVENTS_COMPARE [TIMER_CHANNEL_START_BB ] = 0 ;
287
+ NRF_TIMER2 -> EVENTS_COMPARE [TIMER_CHANNEL_START_BB ] = 0 ;
288
288
289
289
/* Set compare value. */
290
- NRF_TIMER1 -> CC [TIMER_CHANNEL_START_BB ] = startTimeTick ;
290
+ NRF_TIMER2 -> CC [TIMER_CHANNEL_START_BB ] = startTimeTick ;
291
291
292
292
/* Enable timer1 interrupt source for CC[0]. */
293
- NRF_TIMER1 -> INTENSET = TIMER_INTENSET_COMPARE0_Msk ;
293
+ NRF_TIMER2 -> INTENSET = TIMER_INTENSET_COMPARE0_Msk ;
294
294
#endif
295
295
296
296
palTimerCb .compareVal = startTimeTick ;
@@ -317,7 +317,7 @@ void PalTimerStop()
317
317
PalRtcDisableCompareIrq (RTC_CHANNEL_START_BB );
318
318
#else
319
319
/* Disable this interrupt */
320
- NRF_TIMER1 -> INTENCLR = TIMER_INTENCLR_COMPARE0_Msk ;
320
+ NRF_TIMER2 -> INTENCLR = TIMER_INTENCLR_COMPARE0_Msk ;
321
321
#endif
322
322
323
323
palTimerCb .state = PAL_TIMER_STATE_READY ;
@@ -328,25 +328,25 @@ void PalTimerStop()
328
328
329
329
/*************************************************************************************************/
330
330
/*!
331
- * \brief TIMER1 interrupt handler dedicated to scheduler timer.
331
+ * \brief TIMER2 interrupt handler dedicated to scheduler timer.
332
332
*/
333
333
/*************************************************************************************************/
334
- void TIMER1_IRQHandler (void )
334
+ void TIMER2_IRQHandler (void )
335
335
{
336
336
#ifdef DEBUG
337
337
nrf_gpio_pin_set (PAL_TIMER_DEBUG_0_PIN );
338
338
#endif
339
339
340
340
PAL_TIMER_CHECK (palTimerCb .state == PAL_TIMER_STATE_BUSY );
341
341
/* Check hardware status */
342
- PAL_TIMER_CHECK (NRF_TIMER1 -> EVENTS_COMPARE [TIMER_CHANNEL_START_BB ]);
343
- PAL_TIMER_CHECK (NRF_TIMER1 -> CC [TIMER_CHANNEL_START_BB ] == palTimerCb .compareVal );
344
- PAL_TIMER_CHECK (NRF_TIMER1 -> INTENSET == TIMER_INTENSET_COMPARE0_Msk );
342
+ PAL_TIMER_CHECK (NRF_TIMER2 -> EVENTS_COMPARE [TIMER_CHANNEL_START_BB ]);
343
+ PAL_TIMER_CHECK (NRF_TIMER2 -> CC [TIMER_CHANNEL_START_BB ] == palTimerCb .compareVal );
344
+ PAL_TIMER_CHECK (NRF_TIMER2 -> INTENSET == TIMER_INTENSET_COMPARE0_Msk );
345
345
346
346
/* Callback function could restart timer1. However, we blindly stop timer1 first. */
347
- NRF_TIMER1 -> INTENCLR = TIMER_INTENCLR_COMPARE0_Msk ;
347
+ NRF_TIMER2 -> INTENCLR = TIMER_INTENCLR_COMPARE0_Msk ;
348
348
/* Clear event again just in case. */
349
- NRF_TIMER1 -> EVENTS_COMPARE [TIMER_CHANNEL_START_BB ] = 0 ;
349
+ NRF_TIMER2 -> EVENTS_COMPARE [TIMER_CHANNEL_START_BB ] = 0 ;
350
350
351
351
palTimerCb .state = PAL_TIMER_STATE_READY ;
352
352
0 commit comments