171 #ifdef HAL_LPTIM_MODULE_ENABLED 173 #if defined (LPTIM1) || defined (LPTIM2) 178 #define TIMEOUT 1000UL 181 #if (USE_HAL_LPTIM_REGISTER_CALLBACKS == 1) 228 assert_param(IS_LPTIM_CLOCK_SOURCE(hlptim->Init.Clock.Source));
229 assert_param(IS_LPTIM_CLOCK_PRESCALER(hlptim->Init.Clock.Prescaler));
230 if ((hlptim->Init.Clock.Source) == LPTIM_CLOCKSOURCE_ULPTIM)
232 assert_param(IS_LPTIM_CLOCK_POLARITY(hlptim->Init.UltraLowPowerClock.Polarity));
233 assert_param(IS_LPTIM_CLOCK_SAMPLE_TIME(hlptim->Init.UltraLowPowerClock.SampleTime));
235 assert_param(IS_LPTIM_TRG_SOURCE(hlptim->Init.Trigger.Source));
236 if ((hlptim->Init.Trigger.Source) != LPTIM_TRIGSOURCE_SOFTWARE)
238 assert_param(IS_LPTIM_TRIG_SAMPLE_TIME(hlptim->Init.Trigger.SampleTime));
239 assert_param(IS_LPTIM_EXT_TRG_POLARITY(hlptim->Init.Trigger.ActiveEdge));
241 assert_param(IS_LPTIM_OUTPUT_POLARITY(hlptim->Init.OutputPolarity));
242 assert_param(IS_LPTIM_UPDATE_MODE(hlptim->Init.UpdateMode));
243 assert_param(IS_LPTIM_COUNTER_SOURCE(hlptim->Init.CounterSource));
245 #if defined(LPTIM_RCR_REP) 246 assert_param(IS_LPTIM_REPETITION(hlptim->Init.RepetitionCounter));
254 #if (USE_HAL_LPTIM_REGISTER_CALLBACKS == 1) 258 if (hlptim->MspInitCallback == NULL)
264 hlptim->MspInitCallback(hlptim);
275 tmpcfgr = hlptim->Instance->CFGR;
277 if (((hlptim->Init.Clock.Source) == LPTIM_CLOCKSOURCE_ULPTIM) || ((hlptim->Init.CounterSource) == LPTIM_COUNTERSOURCE_EXTERNAL))
279 tmpcfgr &= (uint32_t)(~(LPTIM_CFGR_CKPOL | LPTIM_CFGR_CKFLT));
281 if ((hlptim->Init.Trigger.Source) != LPTIM_TRIGSOURCE_SOFTWARE)
283 tmpcfgr &= (uint32_t)(~(LPTIM_CFGR_TRGFLT | LPTIM_CFGR_TRIGSEL));
287 tmpcfgr &= (uint32_t)(~(LPTIM_CFGR_CKSEL | LPTIM_CFGR_CKPOL | LPTIM_CFGR_TRIGEN | LPTIM_CFGR_PRELOAD |
288 LPTIM_CFGR_WAVPOL | LPTIM_CFGR_PRESC | LPTIM_CFGR_COUNTMODE));
291 tmpcfgr |= (hlptim->Init.Clock.Source |
292 hlptim->Init.Clock.Prescaler |
293 hlptim->Init.OutputPolarity |
294 hlptim->Init.UpdateMode |
295 hlptim->Init.CounterSource);
297 if (((hlptim->Init.Clock.Source) == LPTIM_CLOCKSOURCE_ULPTIM) || ((hlptim->Init.CounterSource) == LPTIM_COUNTERSOURCE_EXTERNAL))
299 tmpcfgr |= (hlptim->Init.UltraLowPowerClock.Polarity |
300 hlptim->Init.UltraLowPowerClock.SampleTime);
303 if ((hlptim->Init.Trigger.Source) != LPTIM_TRIGSOURCE_SOFTWARE)
306 tmpcfgr |= (hlptim->Init.Trigger.Source |
307 hlptim->Init.Trigger.ActiveEdge |
308 hlptim->Init.Trigger.SampleTime);
312 hlptim->Instance->CFGR = tmpcfgr;
315 if (hlptim->Instance == LPTIM1)
318 assert_param(IS_LPTIM_INPUT1_SOURCE(hlptim->Instance, hlptim->Init.Input1Source));
319 assert_param(IS_LPTIM_INPUT2_SOURCE(hlptim->Instance, hlptim->Init.Input2Source));
322 hlptim->Instance->OR = (hlptim->Init.Input1Source | hlptim->Init.Input2Source);
327 assert_param(IS_LPTIM_INPUT1_SOURCE(hlptim->Instance, hlptim->Init.Input1Source));
330 hlptim->Instance->OR = hlptim->Init.Input1Source;
357 __HAL_LPTIM_DISABLE(hlptim);
359 #if (USE_HAL_LPTIM_REGISTER_CALLBACKS == 1) 360 if (hlptim->MspDeInitCallback == NULL)
366 hlptim->MspDeInitCallback(hlptim);
462 hlptim->Instance->CFGR &= ~LPTIM_CFGR_WAVE;
465 __HAL_LPTIM_ENABLE(hlptim);
468 __HAL_LPTIM_AUTORELOAD_SET(hlptim, Period);
471 __HAL_LPTIM_COMPARE_SET(hlptim, Pulse);
473 #if defined(LPTIM_RCR_REP) 475 if (hlptim->Init.RepetitionCounter != 0)
477 __HAL_LPTIM_REPETITIONCOUNTER_SET(hlptim, hlptim->Init.RepetitionCounter);
482 __HAL_LPTIM_START_CONTINUOUS(hlptim);
505 __HAL_LPTIM_DISABLE(hlptim);
534 hlptim->Instance->CFGR &= ~LPTIM_CFGR_WAVE;
537 __HAL_LPTIM_ENABLE_IT(hlptim, LPTIM_IT_ARROK);
540 __HAL_LPTIM_ENABLE_IT(hlptim, LPTIM_IT_CMPOK);
543 __HAL_LPTIM_ENABLE_IT(hlptim, LPTIM_IT_ARRM);
546 __HAL_LPTIM_ENABLE_IT(hlptim, LPTIM_IT_CMPM);
549 if ((hlptim->Init.Trigger.Source) != LPTIM_TRIGSOURCE_SOFTWARE)
552 __HAL_LPTIM_ENABLE_IT(hlptim, LPTIM_IT_EXTTRIG);
555 #if defined(LPTIM_RCR_REP) 557 if ((hlptim->Init.RepetitionCounter) != 0)
559 __HAL_LPTIM_ENABLE_IT(hlptim, (LPTIM_IT_UPDATE | LPTIM_IT_REPOK));
564 __HAL_LPTIM_ENABLE(hlptim);
567 __HAL_LPTIM_AUTORELOAD_SET(hlptim, Period);
570 __HAL_LPTIM_COMPARE_SET(hlptim, Pulse);
572 #if defined(LPTIM_RCR_REP) 574 if (hlptim->Init.RepetitionCounter != 0)
576 __HAL_LPTIM_REPETITIONCOUNTER_SET(hlptim, hlptim->Init.RepetitionCounter);
581 __HAL_LPTIM_START_CONTINUOUS(hlptim);
604 __HAL_LPTIM_DISABLE(hlptim);
607 __HAL_LPTIM_DISABLE_IT(hlptim, LPTIM_IT_ARROK);
610 __HAL_LPTIM_DISABLE_IT(hlptim, LPTIM_IT_CMPOK);
613 __HAL_LPTIM_DISABLE_IT(hlptim, LPTIM_IT_ARRM);
616 __HAL_LPTIM_DISABLE_IT(hlptim, LPTIM_IT_CMPM);
619 if ((hlptim->Init.Trigger.Source) != LPTIM_TRIGSOURCE_SOFTWARE)
622 __HAL_LPTIM_DISABLE_IT(hlptim, LPTIM_IT_EXTTRIG);
625 #if defined(LPTIM_RCR_REP) 627 if ((hlptim->Init.RepetitionCounter) != 0)
629 __HAL_LPTIM_DISABLE_IT(hlptim, (LPTIM_IT_UPDATE | LPTIM_IT_REPOK));
660 hlptim->Instance->CFGR &= ~LPTIM_CFGR_WAVE;
663 __HAL_LPTIM_ENABLE(hlptim);
666 __HAL_LPTIM_AUTORELOAD_SET(hlptim, Period);
669 __HAL_LPTIM_COMPARE_SET(hlptim, Pulse);
672 __HAL_LPTIM_START_SINGLE(hlptim);
674 #if defined(LPTIM_RCR_REP) 676 if (hlptim->Init.RepetitionCounter != 0)
678 __HAL_LPTIM_REPETITIONCOUNTER_SET(hlptim, hlptim->Init.RepetitionCounter);
703 __HAL_LPTIM_DISABLE(hlptim);
732 hlptim->Instance->CFGR &= ~LPTIM_CFGR_WAVE;
735 __HAL_LPTIM_ENABLE_IT(hlptim, LPTIM_IT_ARROK);
738 __HAL_LPTIM_ENABLE_IT(hlptim, LPTIM_IT_CMPOK);
741 __HAL_LPTIM_ENABLE_IT(hlptim, LPTIM_IT_ARRM);
744 __HAL_LPTIM_ENABLE_IT(hlptim, LPTIM_IT_CMPM);
747 if ((hlptim->Init.Trigger.Source) != LPTIM_TRIGSOURCE_SOFTWARE)
750 __HAL_LPTIM_ENABLE_IT(hlptim, LPTIM_IT_EXTTRIG);
753 #if defined(LPTIM_RCR_REP) 755 if ((hlptim->Init.RepetitionCounter) != 0)
757 __HAL_LPTIM_ENABLE_IT(hlptim, (LPTIM_IT_UPDATE | LPTIM_IT_REPOK));
762 __HAL_LPTIM_ENABLE(hlptim);
765 __HAL_LPTIM_AUTORELOAD_SET(hlptim, Period);
768 __HAL_LPTIM_COMPARE_SET(hlptim, Pulse);
770 #if defined(LPTIM_RCR_REP) 772 if (hlptim->Init.RepetitionCounter != 0)
774 __HAL_LPTIM_REPETITIONCOUNTER_SET(hlptim, hlptim->Init.RepetitionCounter);
779 __HAL_LPTIM_START_SINGLE(hlptim);
802 __HAL_LPTIM_DISABLE(hlptim);
805 __HAL_LPTIM_DISABLE_IT(hlptim, LPTIM_IT_ARROK);
808 __HAL_LPTIM_DISABLE_IT(hlptim, LPTIM_IT_CMPOK);
811 __HAL_LPTIM_DISABLE_IT(hlptim, LPTIM_IT_ARRM);
814 __HAL_LPTIM_DISABLE_IT(hlptim, LPTIM_IT_CMPM);
817 if ((hlptim->Init.Trigger.Source) != LPTIM_TRIGSOURCE_SOFTWARE)
820 __HAL_LPTIM_DISABLE_IT(hlptim, LPTIM_IT_EXTTRIG);
823 #if defined(LPTIM_RCR_REP) 825 if ((hlptim->Init.RepetitionCounter) != 0)
827 __HAL_LPTIM_DISABLE_IT(hlptim, (LPTIM_IT_UPDATE | LPTIM_IT_REPOK));
858 hlptim->Instance->CFGR |= LPTIM_CFGR_WAVE;
861 __HAL_LPTIM_ENABLE(hlptim);
864 __HAL_LPTIM_AUTORELOAD_SET(hlptim, Period);
867 __HAL_LPTIM_COMPARE_SET(hlptim, Pulse);
869 #if defined(LPTIM_RCR_REP) 871 if (hlptim->Init.RepetitionCounter != 0)
873 __HAL_LPTIM_REPETITIONCOUNTER_SET(hlptim, hlptim->Init.RepetitionCounter);
878 __HAL_LPTIM_START_SINGLE(hlptim);
901 __HAL_LPTIM_DISABLE(hlptim);
930 hlptim->Instance->CFGR |= LPTIM_CFGR_WAVE;
933 __HAL_LPTIM_ENABLE_IT(hlptim, LPTIM_IT_ARROK);
936 __HAL_LPTIM_ENABLE_IT(hlptim, LPTIM_IT_CMPOK);
939 __HAL_LPTIM_ENABLE_IT(hlptim, LPTIM_IT_ARRM);
942 __HAL_LPTIM_ENABLE_IT(hlptim, LPTIM_IT_CMPM);
945 if ((hlptim->Init.Trigger.Source) != LPTIM_TRIGSOURCE_SOFTWARE)
948 __HAL_LPTIM_ENABLE_IT(hlptim, LPTIM_IT_EXTTRIG);
951 #if defined(LPTIM_RCR_REP) 953 if ((hlptim->Init.RepetitionCounter) != 0)
955 __HAL_LPTIM_ENABLE_IT(hlptim, (LPTIM_IT_UPDATE | LPTIM_IT_REPOK));
960 __HAL_LPTIM_ENABLE(hlptim);
963 __HAL_LPTIM_AUTORELOAD_SET(hlptim, Period);
966 __HAL_LPTIM_COMPARE_SET(hlptim, Pulse);
968 #if defined(LPTIM_RCR_REP) 970 if (hlptim->Init.RepetitionCounter != 0)
972 __HAL_LPTIM_REPETITIONCOUNTER_SET(hlptim, hlptim->Init.RepetitionCounter);
977 __HAL_LPTIM_START_SINGLE(hlptim);
1000 __HAL_LPTIM_DISABLE(hlptim);
1003 __HAL_LPTIM_DISABLE_IT(hlptim, LPTIM_IT_ARROK);
1006 __HAL_LPTIM_DISABLE_IT(hlptim, LPTIM_IT_CMPOK);
1009 __HAL_LPTIM_DISABLE_IT(hlptim, LPTIM_IT_ARRM);
1012 __HAL_LPTIM_DISABLE_IT(hlptim, LPTIM_IT_CMPM);
1015 if ((hlptim->Init.Trigger.Source) != LPTIM_TRIGSOURCE_SOFTWARE)
1018 __HAL_LPTIM_DISABLE_IT(hlptim, LPTIM_IT_EXTTRIG);
1021 #if defined(LPTIM_RCR_REP) 1023 if ((hlptim->Init.RepetitionCounter) != 0)
1025 __HAL_LPTIM_DISABLE_IT(hlptim, (LPTIM_IT_UPDATE | LPTIM_IT_REPOK));
1048 assert_param(IS_LPTIM_ENCODER_INTERFACE_INSTANCE(hlptim->Instance));
1050 assert_param(hlptim->Init.Clock.Source == LPTIM_CLOCKSOURCE_APBCLOCK_LPOSC);
1051 assert_param(hlptim->Init.Clock.Prescaler == LPTIM_PRESCALER_DIV1);
1052 assert_param(IS_LPTIM_CLOCK_POLARITY(hlptim->Init.UltraLowPowerClock.Polarity));
1058 tmpcfgr = hlptim->Instance->CFGR;
1061 tmpcfgr &= (uint32_t)(~LPTIM_CFGR_CKPOL);
1064 tmpcfgr |= hlptim->Init.UltraLowPowerClock.Polarity;
1067 hlptim->Instance->CFGR = tmpcfgr;
1070 hlptim->Instance->CFGR |= LPTIM_CFGR_ENC;
1073 __HAL_LPTIM_ENABLE(hlptim);
1076 __HAL_LPTIM_AUTORELOAD_SET(hlptim, Period);
1079 __HAL_LPTIM_START_CONTINUOUS(hlptim);
1096 assert_param(IS_LPTIM_ENCODER_INTERFACE_INSTANCE(hlptim->Instance));
1102 __HAL_LPTIM_DISABLE(hlptim);
1105 hlptim->Instance->CFGR &= ~LPTIM_CFGR_ENC;
1126 assert_param(IS_LPTIM_ENCODER_INTERFACE_INSTANCE(hlptim->Instance));
1128 assert_param(hlptim->Init.Clock.Source == LPTIM_CLOCKSOURCE_APBCLOCK_LPOSC);
1129 assert_param(hlptim->Init.Clock.Prescaler == LPTIM_PRESCALER_DIV1);
1130 assert_param(IS_LPTIM_CLOCK_POLARITY(hlptim->Init.UltraLowPowerClock.Polarity));
1137 tmpcfgr = hlptim->Instance->CFGR;
1140 tmpcfgr &= (uint32_t)(~LPTIM_CFGR_CKPOL);
1143 tmpcfgr |= hlptim->Init.UltraLowPowerClock.Polarity;
1146 hlptim->Instance->CFGR = tmpcfgr;
1149 hlptim->Instance->CFGR |= LPTIM_CFGR_ENC;
1152 __HAL_LPTIM_ENABLE_IT(hlptim, LPTIM_IT_DOWN);
1155 __HAL_LPTIM_ENABLE_IT(hlptim, LPTIM_IT_UP);
1158 __HAL_LPTIM_ENABLE(hlptim);
1161 __HAL_LPTIM_AUTORELOAD_SET(hlptim, Period);
1164 __HAL_LPTIM_START_CONTINUOUS(hlptim);
1181 assert_param(IS_LPTIM_ENCODER_INTERFACE_INSTANCE(hlptim->Instance));
1187 __HAL_LPTIM_DISABLE(hlptim);
1190 hlptim->Instance->CFGR &= ~LPTIM_CFGR_ENC;
1193 __HAL_LPTIM_DISABLE_IT(hlptim, LPTIM_IT_DOWN);
1196 __HAL_LPTIM_DISABLE_IT(hlptim, LPTIM_IT_UP);
1227 hlptim->Instance->CFGR |= LPTIM_CFGR_TIMOUT;
1230 __HAL_LPTIM_ENABLE(hlptim);
1233 __HAL_LPTIM_AUTORELOAD_SET(hlptim, Period);
1236 __HAL_LPTIM_COMPARE_SET(hlptim, Timeout);
1239 __HAL_LPTIM_START_CONTINUOUS(hlptim);
1262 __HAL_LPTIM_DISABLE(hlptim);
1265 hlptim->Instance->CFGR &= ~LPTIM_CFGR_TIMOUT;
1296 __HAL_LPTIM_WAKEUPTIMER_EXTI_ENABLE_IT();
1299 hlptim->Instance->CFGR |= LPTIM_CFGR_TIMOUT;
1302 __HAL_LPTIM_ENABLE_IT(hlptim, LPTIM_IT_CMPM);
1305 __HAL_LPTIM_ENABLE(hlptim);
1308 __HAL_LPTIM_AUTORELOAD_SET(hlptim, Period);
1311 __HAL_LPTIM_COMPARE_SET(hlptim, Timeout);
1314 __HAL_LPTIM_START_CONTINUOUS(hlptim);
1337 __HAL_LPTIM_WAKEUPTIMER_EXTI_DISABLE_IT();
1340 __HAL_LPTIM_DISABLE(hlptim);
1343 hlptim->Instance->CFGR &= ~LPTIM_CFGR_TIMOUT;
1346 __HAL_LPTIM_DISABLE_IT(hlptim, LPTIM_IT_CMPM);
1372 if ((hlptim->Init.Clock.Source != LPTIM_CLOCKSOURCE_ULPTIM) && (hlptim->Init.CounterSource == LPTIM_COUNTERSOURCE_EXTERNAL))
1375 assert_param(IS_LPTIM_CLOCK_PRESCALERDIV1(hlptim->Init.Clock.Prescaler));
1377 hlptim->Instance->CFGR &= ~LPTIM_CFGR_PRESC;
1381 __HAL_LPTIM_ENABLE(hlptim);
1384 __HAL_LPTIM_AUTORELOAD_SET(hlptim, Period);
1386 #if defined(LPTIM_RCR_REP) 1388 if (hlptim->Init.RepetitionCounter != 0)
1390 __HAL_LPTIM_REPETITIONCOUNTER_SET(hlptim, hlptim->Init.RepetitionCounter);
1395 __HAL_LPTIM_START_CONTINUOUS(hlptim);
1418 __HAL_LPTIM_DISABLE(hlptim);
1444 __HAL_LPTIM_WAKEUPTIMER_EXTI_ENABLE_IT();
1447 if ((hlptim->Init.Clock.Source != LPTIM_CLOCKSOURCE_ULPTIM) && (hlptim->Init.CounterSource == LPTIM_COUNTERSOURCE_EXTERNAL))
1450 assert_param(IS_LPTIM_CLOCK_PRESCALERDIV1(hlptim->Init.Clock.Prescaler));
1452 hlptim->Instance->CFGR &= ~LPTIM_CFGR_PRESC;
1456 __HAL_LPTIM_ENABLE_IT(hlptim, LPTIM_IT_ARROK);
1459 __HAL_LPTIM_ENABLE_IT(hlptim, LPTIM_IT_ARRM);
1461 #if defined(LPTIM_RCR_REP) 1463 if ((hlptim->Init.RepetitionCounter) != 0)
1465 __HAL_LPTIM_ENABLE_IT(hlptim, (LPTIM_IT_UPDATE | LPTIM_IT_REPOK));
1470 __HAL_LPTIM_ENABLE(hlptim);
1473 __HAL_LPTIM_AUTORELOAD_SET(hlptim, Period);
1475 #if defined(LPTIM_RCR_REP) 1477 if (hlptim->Init.RepetitionCounter != 0)
1479 __HAL_LPTIM_REPETITIONCOUNTER_SET(hlptim, hlptim->Init.RepetitionCounter);
1484 __HAL_LPTIM_START_CONTINUOUS(hlptim);
1507 __HAL_LPTIM_WAKEUPTIMER_EXTI_DISABLE_IT();
1510 __HAL_LPTIM_DISABLE(hlptim);
1513 __HAL_LPTIM_DISABLE_IT(hlptim, LPTIM_IT_ARROK);
1516 __HAL_LPTIM_DISABLE_IT(hlptim, LPTIM_IT_ARRM);
1518 #if defined(LPTIM_RCR_REP) 1520 if ((hlptim->Init.RepetitionCounter) != 0)
1522 __HAL_LPTIM_DISABLE_IT(hlptim, (LPTIM_IT_UPDATE | LPTIM_IT_REPOK));
1562 return (hlptim->Instance->CNT);
1575 return (hlptim->Instance->ARR);
1588 return (hlptim->Instance->CMP);
1625 if (__HAL_LPTIM_GET_FLAG(hlptim, LPTIM_FLAG_CMPM) != RESET)
1627 if (__HAL_LPTIM_GET_IT_SOURCE(hlptim, LPTIM_IT_CMPM) != RESET)
1630 __HAL_LPTIM_CLEAR_FLAG(hlptim, LPTIM_FLAG_CMPM);
1633 #if (USE_HAL_LPTIM_REGISTER_CALLBACKS == 1) 1634 hlptim->CompareMatchCallback(hlptim);
1642 if (__HAL_LPTIM_GET_FLAG(hlptim, LPTIM_FLAG_ARRM) != RESET)
1644 if (__HAL_LPTIM_GET_IT_SOURCE(hlptim, LPTIM_IT_ARRM) != RESET)
1647 __HAL_LPTIM_CLEAR_FLAG(hlptim, LPTIM_FLAG_ARRM);
1650 #if (USE_HAL_LPTIM_REGISTER_CALLBACKS == 1) 1651 hlptim->AutoReloadMatchCallback(hlptim);
1659 if (__HAL_LPTIM_GET_FLAG(hlptim, LPTIM_FLAG_EXTTRIG) != RESET)
1661 if (__HAL_LPTIM_GET_IT_SOURCE(hlptim, LPTIM_IT_EXTTRIG) != RESET)
1664 __HAL_LPTIM_CLEAR_FLAG(hlptim, LPTIM_FLAG_EXTTRIG);
1667 #if (USE_HAL_LPTIM_REGISTER_CALLBACKS == 1) 1668 hlptim->TriggerCallback(hlptim);
1676 if (__HAL_LPTIM_GET_FLAG(hlptim, LPTIM_FLAG_CMPOK) != RESET)
1678 if (__HAL_LPTIM_GET_IT_SOURCE(hlptim, LPTIM_IT_CMPOK) != RESET)
1681 __HAL_LPTIM_CLEAR_FLAG(hlptim, LPTIM_FLAG_CMPOK);
1684 #if (USE_HAL_LPTIM_REGISTER_CALLBACKS == 1) 1685 hlptim->CompareWriteCallback(hlptim);
1693 if (__HAL_LPTIM_GET_FLAG(hlptim, LPTIM_FLAG_ARROK) != RESET)
1695 if (__HAL_LPTIM_GET_IT_SOURCE(hlptim, LPTIM_IT_ARROK) != RESET)
1698 __HAL_LPTIM_CLEAR_FLAG(hlptim, LPTIM_FLAG_ARROK);
1701 #if (USE_HAL_LPTIM_REGISTER_CALLBACKS == 1) 1702 hlptim->AutoReloadWriteCallback(hlptim);
1710 if (__HAL_LPTIM_GET_FLAG(hlptim, LPTIM_FLAG_UP) != RESET)
1712 if (__HAL_LPTIM_GET_IT_SOURCE(hlptim, LPTIM_IT_UP) != RESET)
1715 __HAL_LPTIM_CLEAR_FLAG(hlptim, LPTIM_FLAG_UP);
1718 #if (USE_HAL_LPTIM_REGISTER_CALLBACKS == 1) 1719 hlptim->DirectionUpCallback(hlptim);
1727 if (__HAL_LPTIM_GET_FLAG(hlptim, LPTIM_FLAG_DOWN) != RESET)
1729 if (__HAL_LPTIM_GET_IT_SOURCE(hlptim, LPTIM_IT_DOWN) != RESET)
1732 __HAL_LPTIM_CLEAR_FLAG(hlptim, LPTIM_FLAG_DOWN);
1735 #if (USE_HAL_LPTIM_REGISTER_CALLBACKS == 1) 1736 hlptim->DirectionDownCallback(hlptim);
1743 #if defined(LPTIM_RCR_REP) 1746 if(__HAL_LPTIM_GET_FLAG(hlptim, LPTIM_FLAG_UPDATE) != RESET)
1748 if(__HAL_LPTIM_GET_IT_SOURCE(hlptim, LPTIM_IT_UPDATE) != RESET)
1751 __HAL_LPTIM_CLEAR_FLAG(hlptim, LPTIM_FLAG_UPDATE);
1754 #if (USE_HAL_LPTIM_REGISTER_CALLBACKS == 1) 1755 hlptim->UpdateEventCallback(hlptim);
1763 if(__HAL_LPTIM_GET_FLAG(hlptim, LPTIM_FLAG_REPOK) != RESET)
1765 if(__HAL_LPTIM_GET_IT_SOURCE(hlptim, LPTIM_IT_REPOK) != RESET)
1768 __HAL_LPTIM_CLEAR_FLAG(hlptim, LPTIM_FLAG_REPOK);
1771 #if (USE_HAL_LPTIM_REGISTER_CALLBACKS == 1) 1772 hlptim->RepCounterWriteCallback(hlptim);
1886 #if defined(LPTIM_RCR_REP) 1918 #if (USE_HAL_LPTIM_REGISTER_CALLBACKS == 1) 1940 HAL_StatusTypeDef status =
HAL_OK;
1942 if (pCallback == NULL)
1955 hlptim->MspInitCallback = pCallback;
1959 hlptim->MspDeInitCallback = pCallback;
1963 hlptim->CompareMatchCallback = pCallback;
1967 hlptim->AutoReloadMatchCallback = pCallback;
1971 hlptim->TriggerCallback = pCallback;
1975 hlptim->CompareWriteCallback = pCallback;
1979 hlptim->AutoReloadWriteCallback = pCallback;
1983 hlptim->DirectionUpCallback = pCallback;
1987 hlptim->DirectionDownCallback = pCallback;
1990 #if defined(LPTIM_RCR_REP) 1992 hlptim->UpdateEventCallback = pCallback;
1996 hlptim->RepCounterWriteCallback = pCallback;
2011 hlptim->MspInitCallback = pCallback;
2015 hlptim->MspDeInitCallback = pCallback;
2056 HAL_StatusTypeDef status =
HAL_OK;
2101 #if defined(LPTIM_RCR_REP) 2174 return hlptim->State;
2191 #if (USE_HAL_LPTIM_REGISTER_CALLBACKS == 1) 2208 #if defined(LPTIM_RCR_REP) 2226 uint32_t tmpclksource = 0;
2237 switch ((uint32_t)lptim->Instance)
2240 tmpclksource = __HAL_RCC_GET_LPTIM1_SOURCE();
2244 tmpclksource = __HAL_RCC_GET_LPTIM2_SOURCE();
2252 tmpIER = lptim->Instance->IER;
2253 tmpCFGR = lptim->Instance->CFGR;
2254 tmpCMP = lptim->Instance->CMP;
2255 tmpARR = lptim->Instance->ARR;
2256 tmpOR = lptim->Instance->OR;
2259 switch ((uint32_t)lptim->Instance)
2262 __HAL_RCC_LPTIM1_FORCE_RESET();
2263 __HAL_RCC_LPTIM1_RELEASE_RESET();
2267 __HAL_RCC_LPTIM2_FORCE_RESET();
2268 __HAL_RCC_LPTIM2_RELEASE_RESET();
2277 uint32_t Time_Elapsed;
2279 if ((tmpCMP != 0UL) || (tmpARR != 0UL))
2282 switch ((uint32_t)lptim->Instance)
2285 __HAL_RCC_LPTIM1_CONFIG(RCC_LPTIM1CLKSOURCE_PCLK1);
2289 __HAL_RCC_LPTIM2_CONFIG(RCC_LPTIM2CLKSOURCE_PCLK1);
2299 lptim->Instance->CR |= LPTIM_CR_ENABLE;
2300 lptim->Instance->CMP = tmpCMP;
2306 }
while ((!(__HAL_LPTIM_GET_FLAG(lptim, LPTIM_FLAG_CMPOK))) && (Time_Elapsed <= TIMEOUT));
2308 __HAL_LPTIM_CLEAR_FLAG(lptim, LPTIM_FLAG_CMPOK);
2314 lptim->Instance->CR |= LPTIM_CR_ENABLE;
2315 lptim->Instance->ARR = tmpARR;
2321 }
while ((!(__HAL_LPTIM_GET_FLAG(lptim, LPTIM_FLAG_ARROK))) && (Time_Elapsed <= TIMEOUT));
2323 __HAL_LPTIM_CLEAR_FLAG(lptim, LPTIM_FLAG_ARROK);
2327 switch ((uint32_t)lptim->Instance)
2330 __HAL_RCC_LPTIM1_CONFIG(tmpclksource);
2334 __HAL_RCC_LPTIM2_CONFIG(tmpclksource);
2343 lptim->Instance->CR &= ~(LPTIM_CR_ENABLE);
2344 lptim->Instance->IER = tmpIER;
2345 lptim->Instance->CFGR = tmpCFGR;
2346 lptim->Instance->OR = tmpOR;
HAL_StatusTypeDef HAL_LPTIM_Encoder_Stop_IT(LPTIM_HandleTypeDef *hlptim)
Stop the Encoder interface in interrupt mode.
HAL_StatusTypeDef HAL_LPTIM_SetOnce_Stop(LPTIM_HandleTypeDef *hlptim)
Stop the LPTIM Set once mode.
HAL_StatusTypeDef HAL_LPTIM_Counter_Stop(LPTIM_HandleTypeDef *hlptim)
Stop the Counter mode.
HAL_StatusTypeDef HAL_LPTIM_SetOnce_Start_IT(LPTIM_HandleTypeDef *hlptim, uint32_t Period, uint32_t Pulse)
Start the LPTIM Set once mode in interrupt mode.
HAL_StatusTypeDef HAL_LPTIM_TimeOut_Start(LPTIM_HandleTypeDef *hlptim, uint32_t Period, uint32_t Timeout)
Start the Timeout function.
HAL_StatusTypeDef HAL_LPTIM_Counter_Stop_IT(LPTIM_HandleTypeDef *hlptim)
Stop the Counter mode in interrupt mode.
HAL_StatusTypeDef HAL_LPTIM_RegisterCallback(LPTIM_HandleTypeDef *hlptim, HAL_LPTIM_CallbackIDTypeDef CallbackID, pLPTIM_CallbackTypeDef pCallback)
Register a User LPTIM callback to be used instead of the weak predefined callback.
HAL_LPTIM_StateTypeDef HAL_LPTIM_GetState(LPTIM_HandleTypeDef *hlptim)
Return the LPTIM handle state.
HAL_StatusTypeDef HAL_LPTIM_UnRegisterCallback(LPTIM_HandleTypeDef *hlptim, HAL_LPTIM_CallbackIDTypeDef CallbackID)
Unregister a LPTIM callback LLPTIM callback is redirected to the weak predefined callback.
This file contains all the functions prototypes for the HAL module driver.
HAL_StatusTypeDef HAL_LPTIM_Init(LPTIM_HandleTypeDef *hlptim)
Initialize the LPTIM according to the specified parameters in the LPTIM_InitTypeDef and initialize th...
HAL_StatusTypeDef HAL_LPTIM_SetOnce_Start(LPTIM_HandleTypeDef *hlptim, uint32_t Period, uint32_t Pulse)
Start the LPTIM in Set once mode.
__weak void HAL_LPTIM_CompareMatchCallback(LPTIM_HandleTypeDef *hlptim)
Compare match callback in non-blocking mode.
HAL_StatusTypeDef HAL_LPTIM_PWM_Stop_IT(LPTIM_HandleTypeDef *hlptim)
Stop the LPTIM PWM generation in interrupt mode.
void LPTIM_Disable(LPTIM_HandleTypeDef *lptim)
Disable LPTIM HW instance.
__weak void HAL_LPTIM_DirectionDownCallback(LPTIM_HandleTypeDef *hlptim)
Direction counter changed from Up to Down callback in non-blocking mode.
HAL_StatusTypeDef HAL_LPTIM_Counter_Start(LPTIM_HandleTypeDef *hlptim, uint32_t Period)
Start the Counter mode.
HAL_StatusTypeDef HAL_LPTIM_PWM_Start(LPTIM_HandleTypeDef *hlptim, uint32_t Period, uint32_t Pulse)
Start the LPTIM PWM generation.
HAL_StatusTypeDef HAL_LPTIM_Encoder_Start(LPTIM_HandleTypeDef *hlptim, uint32_t Period)
Start the Encoder interface.
uint32_t HAL_GetTick(void)
Provide a tick value in millisecond.
__weak void HAL_LPTIM_RepCounterWriteCallback(LPTIM_HandleTypeDef *hlptim)
Successful APB bus write to repetition counter register callback in non-blocking mode.
HAL_StatusTypeDef HAL_LPTIM_Counter_Start_IT(LPTIM_HandleTypeDef *hlptim, uint32_t Period)
Start the Counter mode in interrupt mode.
HAL_LPTIM_StateTypeDef
HAL LPTIM State structure definition.
HAL_StatusTypeDef HAL_LPTIM_Encoder_Start_IT(LPTIM_HandleTypeDef *hlptim, uint32_t Period)
Start the Encoder interface in interrupt mode.
struct __LPTIM_HandleTypeDef else typedef struct endif LPTIM_HandleTypeDef
LPTIM handle Structure definition.
HAL_StatusTypeDef HAL_LPTIM_TimeOut_Start_IT(LPTIM_HandleTypeDef *hlptim, uint32_t Period, uint32_t Timeout)
Start the Timeout function in interrupt mode.
HAL_StatusTypeDef HAL_LPTIM_OnePulse_Start(LPTIM_HandleTypeDef *hlptim, uint32_t Period, uint32_t Pulse)
Start the LPTIM One pulse generation.
__weak void HAL_LPTIM_DirectionUpCallback(LPTIM_HandleTypeDef *hlptim)
Direction counter changed from Down to Up callback in non-blocking mode.
__weak void HAL_LPTIM_MspInit(LPTIM_HandleTypeDef *hlptim)
Initialize the LPTIM MSP.
HAL_LPTIM_CallbackIDTypeDef
HAL LPTIM Callback ID enumeration definition.
__weak void HAL_LPTIM_AutoReloadWriteCallback(LPTIM_HandleTypeDef *hlptim)
Autoreload write callback in non-blocking mode.
HAL_StatusTypeDef HAL_LPTIM_DeInit(LPTIM_HandleTypeDef *hlptim)
DeInitialize the LPTIM peripheral.
HAL_StatusTypeDef HAL_LPTIM_OnePulse_Start_IT(LPTIM_HandleTypeDef *hlptim, uint32_t Period, uint32_t Pulse)
Start the LPTIM One pulse generation in interrupt mode.
__weak void HAL_LPTIM_AutoReloadMatchCallback(LPTIM_HandleTypeDef *hlptim)
Autoreload match callback in non-blocking mode.
HAL_StatusTypeDef HAL_LPTIM_PWM_Start_IT(LPTIM_HandleTypeDef *hlptim, uint32_t Period, uint32_t Pulse)
Start the LPTIM PWM generation in interrupt mode.
void HAL_LPTIM_IRQHandler(LPTIM_HandleTypeDef *hlptim)
Handle LPTIM interrupt request.
static void LPTIM_ResetCallback(LPTIM_HandleTypeDef *lptim)
Reset interrupt callbacks to the legacy weak callbacks.
__weak void HAL_LPTIM_TriggerCallback(LPTIM_HandleTypeDef *hlptim)
Trigger detected callback in non-blocking mode.
HAL_StatusTypeDef HAL_LPTIM_OnePulse_Stop(LPTIM_HandleTypeDef *hlptim)
Stop the LPTIM One pulse generation.
uint32_t HAL_LPTIM_ReadCompare(LPTIM_HandleTypeDef *hlptim)
Return the current Compare (Pulse) value.
uint32_t HAL_LPTIM_ReadCounter(LPTIM_HandleTypeDef *hlptim)
Return the current counter value.
void(* pLPTIM_CallbackTypeDef)(LPTIM_HandleTypeDef *hlptim)
HAL TIM Callback pointer definition.
HAL_StatusTypeDef HAL_LPTIM_Encoder_Stop(LPTIM_HandleTypeDef *hlptim)
Stop the Encoder interface.
uint32_t HAL_LPTIM_ReadAutoReload(LPTIM_HandleTypeDef *hlptim)
Return the current Autoreload (Period) value.
__weak void HAL_LPTIM_UpdateEventCallback(LPTIM_HandleTypeDef *hlptim)
Repetition counter underflowed (or contains zero) and LPTIM counter overflowed callback in non-blocki...
HAL_StatusTypeDef HAL_LPTIM_TimeOut_Stop_IT(LPTIM_HandleTypeDef *hlptim)
Stop the Timeout function in interrupt mode.
HAL_StatusTypeDef HAL_LPTIM_TimeOut_Stop(LPTIM_HandleTypeDef *hlptim)
Stop the Timeout function.
HAL_StatusTypeDef HAL_LPTIM_SetOnce_Stop_IT(LPTIM_HandleTypeDef *hlptim)
Stop the LPTIM Set once mode in interrupt mode.
__weak void HAL_LPTIM_MspDeInit(LPTIM_HandleTypeDef *hlptim)
DeInitialize LPTIM MSP.
HAL_StatusTypeDef HAL_LPTIM_OnePulse_Stop_IT(LPTIM_HandleTypeDef *hlptim)
Stop the LPTIM One pulse generation in interrupt mode.
HAL_StatusTypeDef HAL_LPTIM_PWM_Stop(LPTIM_HandleTypeDef *hlptim)
Stop the LPTIM PWM generation.
__weak void HAL_LPTIM_CompareWriteCallback(LPTIM_HandleTypeDef *hlptim)
Compare write callback in non-blocking mode.
assert_param(IS_RTC_WAKEUP_CLOCK(WakeUpClock))