3636 * [ 7. For fixing ESP32 compile error] ( #7-for-fixing-esp32-compile-error )
3737 * [ 8. For STM32 core F3 and F4 using UIPEthernet library] ( #8-for-stm32-core-f3-and-f4-using-uipethernet-library )
3838* [ HOWTO Fix ` Multiple Definitions ` Linker Error] ( #howto-fix-multiple-definitions-linker-error )
39- * [ HOWTO Use PWM analogWrite() with ESP8266 running Timer1 Interrupt] ( #howto-use-pwm-analogwrite-with-esp8266-running-timer1-interrupt )
40- * [ 1. ESP8266 has only 2 hardware timers, named Timer0 and Timer1] ( #1-esp8266-has-only-2-hardware-timers-named-timer0-and-timer1 )
41- * [ 2. ESP8266 hardware timers' functions] ( #2-esp8266-hardware-timers-functions )
42- * [ 3. How to use PWM analogWrite() functions while using this library] ( #3-how-to-use-pwm-analogwrite-functions-while-using-this-library )
4339* [ More useful Information about STM32 Timers] ( #more-useful-information-about-stm32-timers )
4440* [ New from v1.0.0] ( #new-from-v100 )
41+ * [ Usage] ( #usage )
42+ * [ 1. Using only Hardware Timer directly] ( #1-using-only-hardware-timer-directly )
43+ * [ 1.1 Init Hardware Timer] ( #11-init-hardware-timer )
44+ * [ 1.2 Set Hardware Timer Interval and attach Timer Interrupt Handler function] ( #12-set-hardware-timer-interval-and-attach-timer-interrupt-handler-function )
45+ * [ 2. Using 16 ISR_based Timers from 1 Hardware Timer] ( #2-using-16-isr_based-timers-from-1-hardware-timer )
46+ * [ 2.1 Init Hardware Timer and ISR-based Timer] ( #21-init-hardware-timer-and-isr-based-timer )
47+ * [ 2.2 Set Hardware Timer Interval and attach Timer Interrupt Handler functions] ( #22-set-hardware-timer-interval-and-attach-timer-interrupt-handler-functions )
4548* [ Examples] ( #examples )
4649 * [ 1. Argument_None] ( examples/Argument_None )
4750 * [ 2. ISR_16_Timers_Array] ( examples/ISR_16_Timers_Array )
@@ -156,6 +159,7 @@ The catch is **your function is now part of an ISR (Interrupt Service Routine),
156159
1571601 . Add better debug feature.
1581612 . Optimize code and examples to reduce RAM usage
162+ 3 . Add Table of Contents
159163
160164### Releases v1.1.1
161165
@@ -475,7 +479,7 @@ void setup()
475479}
476480```
477481
478- ### 2. Using 16 ISR_based Timers from 1 Hardware Timers
482+ ### 2. Using 16 ISR_based Timers from 1 Hardware Timer
479483
480484
481485#### 2.1 Init Hardware Timer and ISR-based Timer
@@ -918,9 +922,10 @@ While software timer, **programmed for 2s, is activated after 9.782s !!!**. Then
918922
919923```
920924Starting ISR_Timer_Complex on NUCLEO_F767ZI
921- STM32_TimerInterrupt v1.1.1
925+ STM32_TimerInterrupt v1.2.0
922926CPU Frequency = 216 MHz
923- STM32TimerInterrupt: Timer Input Freq (Hz) = 216000000, _fre = 1000000.00, _count = 50000
927+ [TISR] STM32TimerInterrupt: Timer Input Freq (Hz) = 216000000
928+ [TISR] Frequency = 1000000.00 , _count = 50000
924929Starting ITimer OK, millis() = 6
925930[9] MAC:FE-E1-88-EC-DD-95
9269312s: Delta ms = 2000
@@ -979,11 +984,13 @@ The following is the sample terminal output when running example [**TimerInterru
979984```
980985
981986Starting TimerInterruptTest on NUCLEO_F767ZI
982- STM32_TimerInterrupt v1.1.1
987+ STM32_TimerInterrupt v1.2.0
983988CPU Frequency = 216 MHz
984- STM32TimerInterrupt: Timer Input Freq (Hz) = 216000000, _fre = 1000000.00, _count = 1000000
989+ [TISR] STM32TimerInterrupt: Timer Input Freq (Hz) = 216000000
990+ [TISR] Frequency = 1000000.00 , _count = 1000000
985991Starting ITimer0 OK, millis() = 108
986- STM32TimerInterrupt: Timer Input Freq (Hz) = 108000000, _fre = 1000000.00, _count = 3000000
992+ [TISR] STM32TimerInterrupt: Timer Input Freq (Hz) = 108000000
993+ [TISR] Frequency = 1000000.00 , _count = 3000000
987994Starting ITimer1 OK, millis() = 119
988995Stop ITimer0, millis() = 5001
989996Start ITimer0, millis() = 10002
@@ -1033,13 +1040,16 @@ The following is the sample terminal output when running example [**Argument_Non
10331040
10341041```
10351042Starting Argument_None on NUCLEO_F767ZI
1036- STM32_TimerInterrupt v1.1.1
1043+ STM32_TimerInterrupt v1.2.0
10371044CPU Frequency = 216 MHz
1038- STM32TimerInterrupt: Timer Input Freq (Hz) = 216000000, _fre = 1000000.00, _count = 1000000
1045+ [TISR] STM32TimerInterrupt: Timer Input Freq (Hz) = 216000000
1046+ [TISR] Frequency = 1000000.00 , _count = 1000000
10391047Starting ITimer0 OK, millis() = 106
1040- STM32TimerInterrupt: Timer Input Freq (Hz) = 108000000, _fre = 1000000.00, _count = 5000000
1048+ [TISR] STM32TimerInterrupt: Timer Input Freq (Hz) = 108000000
1049+ [TISR] Frequency = 1000000.00 , _count = 5000000
10411050Starting ITimer1 OK, millis() = 117
1042- STM32TimerInterrupt: Timer Input Freq (Hz) = 108000000, _fre = 1000000.00, _count = 20000000
1051+ [TISR] STM32TimerInterrupt: Timer Input Freq (Hz) = 108000000
1052+ [TISR] Frequency = 1000000.00 , _count = 20000000
10431053Starting ITimer2 OK, millis() = 129
10441054ITimer0: millis() = 1106, delta = 1000
10451055ITimer0: millis() = 2106, delta = 1000
@@ -1097,16 +1107,20 @@ The following is the sample terminal output when running example [Change_Interva
10971107
10981108```
10991109Starting Change_Interval on NUCLEO_F767ZI
1100- STM32_TimerInterrupt v1.1.1
1110+ STM32_TimerInterrupt v1.2.0
11011111CPU Frequency = 216 MHz
1102- STM32TimerInterrupt: Timer Input Freq (Hz) = 216000000, _fre = 1000000.00, _count = 500000
1112+ [TISR] STM32TimerInterrupt: Timer Input Freq (Hz) = 216000000
1113+ [TISR] Frequency = 1000000.00 , _count = 500000
11031114Starting ITimer0 OK, millis() = 111
1104- STM32TimerInterrupt: Timer Input Freq (Hz) = 108000000, _fre = 1000000.00, _count = 1000000
1115+ [TISR] STM32TimerInterrupt: Timer Input Freq (Hz) = 216000000
1116+ [TISR] Frequency = 1000000.00 , _count = 1000000
11051117Starting ITimer1 OK, millis() = 122
11061118Time = 10001, Timer0Count = 20, , Timer1Count = 10
11071119Time = 20002, Timer0Count = 40, , Timer1Count = 20
1108- STM32TimerInterrupt: Timer Input Freq (Hz) = 216000000, _fre = 1000000.00, _count = 1000000
1109- STM32TimerInterrupt: Timer Input Freq (Hz) = 108000000, _fre = 1000000.00, _count = 2000000
1120+ [TISR] STM32TimerInterrupt: Timer Input Freq (Hz) = 216000000
1121+ [TISR] Frequency = 1000000.00 , _count = 1000000
1122+ [TISR] STM32TimerInterrupt: Timer Input Freq (Hz) = 108000000
1123+ [TISR] Frequency = 1000000.00 , _count = 2000000
11101124Changing Interval, Timer0 = 1000, Timer1 = 2000
11111125Time = 30003, Timer0Count = 50, , Timer1Count = 25
11121126Time = 40004, Timer0Count = 60, , Timer1Count = 30
@@ -1124,9 +1138,10 @@ In this example, 16 independent ISR Timers are used, yet utilized just one Hardw
11241138
11251139```
11261140Starting ISR_16_Timers_Array_Complex on NUCLEO_F767ZI
1127- STM32_TimerInterrupt v1.1.1
1141+ STM32_TimerInterrupt v1.2.0
11281142CPU Frequency = 216 MHz
1129- STM32TimerInterrupt: Timer Input Freq (Hz) = 216000000, _fre = 1000000.00, _count = 10000
1143+ [TISR] STM32TimerInterrupt: Timer Input Freq (Hz) = 216000000
1144+ [TISR] Frequency = 1000000.00 , _count = 10000
11301145Starting ITimer OK, millis() = 12
11311146SimpleTimer : 2s, ms = 10015, Dms : 10003
11321147Timer : 0, programmed : 5000, actual : 5010
@@ -1317,6 +1332,7 @@ Sometimes, the library will only work if you update the board core to the latest
13171332
131813331 . Add better debug feature.
131913342 . Optimize code and examples to reduce RAM usage
1335+ 3 . Add Table of Contents
13201336
13211337### Releases v1.1.1
13221338
@@ -1379,6 +1395,7 @@ Submit issues to: [STM32_TimerInterrupt issues](https://github.com/khoih-prog/ST
137913952 . More hardware-initiated software-enabled timers
138013963 . Longer time interval
138113974 . Similar features for remaining Arduino boards such as ESP32, ESP8266, SAMD21, SAMD51, nRF52, mbed-nRF52, Teensy, etc.
1398+ 5 . Add Table of Contents
13821399
13831400---
13841401---
0 commit comments