Skip to content

Commit f2ef8f2

Browse files
ghent360fpistm
authored andcommitted
Fix callbacks array init. Move nptr check in the start of captureCompareCallback
1 parent 1e91637 commit f2ef8f2

File tree

1 file changed

+5
-6
lines changed

1 file changed

+5
-6
lines changed

cores/arduino/HardwareTimer.cpp

+5-6
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ HardwareTimer::HardwareTimer(TIM_TypeDef *instance)
9090
_channelIC[i].ICPrescaler = TIM_ICPSC_DIV1;
9191
_channelIC[i].ICFilter = 0;
9292

93-
for (int i = 0; i < TIMER_CHANNELS ; i++) {
93+
for (int i = 0; i < TIMER_CHANNELS + 1 ; i++) {
9494
callbacks[i] = NULL;
9595
}
9696
}
@@ -723,6 +723,9 @@ void HardwareTimer::updateCallback(TIM_HandleTypeDef *htim)
723723
*/
724724
void HardwareTimer::captureCompareCallback(TIM_HandleTypeDef *htim)
725725
{
726+
if (htim == NULL) {
727+
Error_Handler();
728+
}
726729
uint32_t channel = htim->Channel;
727730

728731
switch (htim->Channel) {
@@ -746,10 +749,6 @@ void HardwareTimer::captureCompareCallback(TIM_HandleTypeDef *htim)
746749
return;
747750
}
748751

749-
if (htim == NULL) {
750-
Error_Handler();
751-
}
752-
753752
HardwareTimerObj_t *obj = get_timer_obj(htim);
754753
HardwareTimer *HT = (HardwareTimer *)(obj->__this);
755754

@@ -1428,4 +1427,4 @@ extern "C" {
14281427
#endif //TIM22_BASE
14291428
}
14301429

1431-
#endif // HAL_TIM_MODULE_ENABLED
1430+
#endif // HAL_TIM_MODULE_ENABLED

0 commit comments

Comments
 (0)