Esp32 arduino timer: Timer β Arduino-ESP32 2.0.2 documentation
|Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅
Π’Π°ΠΉΠΌΠ΅Ρ ΠΎΠ±ΡΠ΅Π³ΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ β ESP32
[δΈζ]
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
ΠΠΈΠΊΡΠΎΡΡ Π΅ΠΌΠ° ESP32 ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π΄Π²Π΅ Π³ΡΡΠΏΠΏΡ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΡ ΡΠ°ΠΉΠΌΠ΅ΡΠΎΠ². ΠΠ°ΠΆΠ΄Π°Ρ Π³ΡΡΠΏΠΏΠ° ΠΈΠΌΠ΅Π΅Ρ Π΄Π²Π° Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ° ΠΎΠ±ΡΠ΅Π³ΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΡΠ΅ ΠΎΠ½ΠΈ ΡΠ²Π»ΡΡΡΡΡ 64-Π±ΠΈΡΠ½ΡΠΌΠΈ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΌΠΈ ΡΠ°ΠΉΠΌΠ΅ΡΠ°ΠΌΠΈ, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΠΌΠΈ Π½Π° 16-Π±ΠΈΡΠ½ΡΡ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΌΠ°ΡΡΡΠ°Π±Π°ΡΠΎΡΠ°Ρ ΠΈ 64-Π±ΠΈΡΠ½ΡΡ ΡΡΠ΅ΡΡΠΈΠΊΠ°Ρ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ/ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠΆΠ°ΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ.
Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΠΎΠ±Π·ΠΎΡ
Π ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΠ°Π·Π΄Π΅Π»Π°Ρ ΡΡΠΎΠ³ΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° ΠΎΠΏΠΈΡΠ°Π½Ρ ΡΠΈΠΏΠΈΡΠ½ΡΠ΅ ΡΠ°Π³ΠΈ ΠΏΠΎ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ ΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΡΠ°ΠΉΠΌΠ΅ΡΠΎΠΌ:
ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ° β ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ, ΡΡΠΎΠ±Ρ ΡΠ°ΠΉΠΌΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°Π», Π° ΡΠ°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΡΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΡΠ°ΠΉΠΌΠ΅ΡΠ°.
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠΌΠ΅ΡΠΎΠΌ β ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ, ΠΊΠ°ΠΊ ΡΡΠΈΡΡΠ²Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠΌΠ΅ΡΠ°, ΠΏΡΠΈΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΠΈΠ»ΠΈ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΡΠ°ΠΉΠΌΠ΅Ρ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ Π΅Π³ΠΎ ΡΠ°Π±ΠΎΡΡ.
Π‘ΠΈΠ³Π½Π°Π»Ρ ΡΡΠ΅Π²ΠΎΠ³ΠΈ β ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΠΊΠ°ΠΊ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠ³Π½Π°Π»Ρ ΡΡΠ΅Π²ΠΎΠ³ΠΈ.
ΠΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ β ΠΎΠ±ΡΡΡΠ½ΡΠ΅Ρ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ.
ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ°
ΠΠ²Π΅ Π³ΡΡΠΏΠΏΡ ΡΠ°ΠΉΠΌΠ΅ΡΠΎΠ² ESP32, ΠΏΠΎ Π΄Π²Π° ΡΠ°ΠΉΠΌΠ΅ΡΠ° Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ Π² ΠΎΠ±ΡΠ΅ΠΉ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠ΅ΡΡΡΠ΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ
ΡΠ°ΠΉΠΌΠ΅ΡΠ° Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ. ΠΡΡΠΏΠΏΠ° ΡΠ°ΠΉΠΌΠ΅ΡΠΎΠ² ESP32 Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ timer_group_t
. ΠΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΡΠ°ΠΉΠΌΠ΅Ρ Π² Π³ΡΡΠΏΠΏΠ΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½ Ρ ΠΏΠΎΠΌΠΎΡΡΡ timer_idx_t
.
ΠΡΠ΅ΠΆΠ΄Π΅ Π²ΡΠ΅Π³ΠΎ, ΡΠ°ΠΉΠΌΠ΅Ρ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ, Π²ΡΠ·Π²Π°Π² ΡΡΠ½ΠΊΡΠΈΡ timer_init()
ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π² Π΅ΠΉ ΡΡΡΡΠΊΡΡΡΡ timer_config_t
, ΡΡΠΎΠ±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΠΊΠ°ΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠ°ΠΉΠΌΠ΅Ρ. Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ°:
ΠΡΡΠΎΡΠ½ΠΈΠΊ ΡΠ°ΠΊΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠΈΠ³Π½Π°Π»Π° : ΠΡΠ±Π΅ΡΠΈΡΠ΅ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ ΡΠ°ΠΊΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠΈΠ³Π½Π°Π»Π°, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΠΌΠ΅ΡΡΠ΅ Ρ Π΄Π΅Π»ΠΈΡΠ΅Π»Π΅ΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΡΠ°ΠΉΠΌΠ΅ΡΠ°. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠΌ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ APB_CLK (ΠΎΠ±ΡΡΠ½ΠΎ 80 ΠΠΡ).
ΠΠ΅Π»ΠΈΡΠ΅Π»Ρ : Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠΊΠΎΡΠΎΡΡΡ Β«ΡΠΈΠΊΠ°Π½ΠΈΡΒ» ΡΡΠ΅ΡΡΠΈΠΊΠ° ΡΠ°ΠΉΠΌΠ΅ΡΠ°.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ
Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ° ΡΠ°ΠΊΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠΈΠ³Π½Π°Π»Π°.Π Π΅ΠΆΠΈΠΌ : Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π»ΠΈ ΡΡΠ΅ΡΡΠΈΠΊ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡΡΡ ΠΈΠ»ΠΈ ΡΠΌΠ΅Π½ΡΡΠ°ΡΡΡΡ. ΠΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ
counter_dir
, Π²ΡΠ±ΡΠ°Π² ΠΎΠ΄Π½ΠΎ ΠΈΠ· Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΈΠ·timer_count_dir_t
.ΠΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΡΠ΅ΡΡΠΈΠΊΠ° : ΠΡΠ»ΠΈ ΡΡΠ΅ΡΡΠΈΠΊ Π²ΠΊΠ»ΡΡΠ΅Π½, ΠΎΠ½ Π½Π°ΡΠ½Π΅Ρ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡΡΡ/ΡΠΌΠ΅Π½ΡΡΠ°ΡΡΡΡ ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ Π²ΡΠ·ΠΎΠ²Π°
timer_init()
. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡcounter_en
, Π²ΡΠ±ΡΠ°Π² ΠΎΠ΄Π½ΠΎ ΠΈΠ· Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΈΠ·timer_start_t
.ΠΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΡΠ΅Π²ΠΎΠ³ΠΈ : ΠΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ
alarm_en
.ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠ° : Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π»ΠΈ ΡΡΠ΅ΡΡΠΈΠΊ
auto_reload
Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ΅ΡΡΠΈΠΊΠ° ΡΠΈΠ³Π½Π°Π»Π° ΡΡΠ΅Π²ΠΎΠ³ΠΈ ΡΠ°ΠΉΠΌΠ΅ΡΠ° ΠΈΠ»ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΠ΅.
Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ΅ΠΊΡΡΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π½Π°ΡΡΡΠΎΠ΅ΠΊ ΡΠ°ΠΉΠΌΠ΅ΡΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ timer_get_config()
.
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠΌΠ΅ΡΠΎΠΌ
ΠΠΎΡΠ»Π΅ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ° Π½Π°ΡΠΈΠ½Π°Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π΅Π³ΠΎ ΡΡΠ΅ΡΡΠΈΠΊ. Π§ΡΠΎΠ±Ρ Π²ΠΊΠ»ΡΡΠΈΡΡ ΡΠ°ΠΉΠΌΠ΅Ρ, Π²ΡΠ·ΠΎΠ²ΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ timer_init()
Ρ counter_en
, ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ Π½Π° true
, ΠΈΠ»ΠΈ Π²ΡΠ·ΠΎΠ²ΠΈΡΠ΅ timer_start()
. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΡ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ΅ΡΡΠΈΠΊΠ° ΡΠ°ΠΉΠΌΠ΅ΡΠ°, Π²ΡΠ·Π²Π°Π² timer_set_counter_value()
. Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠ΅ΠΊΡΡΠ΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠΌΠ΅ΡΠ°, Π²ΡΠ·ΠΎΠ²ΠΈΡΠ΅ timer_get_counter_value()
ΠΈΠ»ΠΈ timer_get_counter_time_sec()
.
Π§ΡΠΎΠ±Ρ ΠΏΡΠΈΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ°ΠΉΠΌΠ΅Ρ Π² Π»ΡΠ±ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ, Π²ΡΠ·ΠΎΠ²ΠΈΡΠ΅ timer_pause()
. Π§ΡΠΎΠ±Ρ Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ Π΅Π³ΠΎ, Π²ΡΠ·ΠΎΠ²ΠΈΡΠ΅ timer_start()
.
Π§ΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅Π½Π°ΡΡΡΠΎΠΈΡΡ ΡΠ°ΠΉΠΌΠ΅Ρ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ·Π²Π°ΡΡ timer_init()
. ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠΏΠΈΡΠ°Π½Π° Π² ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ°.
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅Π½Π°ΡΡΡΠΎΠΈΡΡ ΡΠ°ΠΉΠΌΠ΅Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡΠ°Π»ΡΠ½ΡΡ Π½Π°ΡΡΡΠΎΠ΅ΠΊ:
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° | Π‘ΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
---|---|---|
Π Π°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ | | ΠΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠΊΠΎΡΠΎΡΡΡ ΡΠΈΠΊΠ°Π½ΡΡ. |
Π Π΅ΠΆΠΈΠΌ | | Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π»ΠΈ ΡΡΠ΅ΡΡΠΈΠΊ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡΡΡ ΠΈΠ»ΠΈ ΡΠΌΠ΅Π½ΡΡΠ°ΡΡΡΡ |
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠ° | | Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅, ΡΠ»Π΅Π΄ΡΠ΅Ρ Π»ΠΈ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠΆΠ°ΡΡ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ΅ΡΡΠΈΠΊΠ° ΠΏΡΠΈ ΡΡΠ΅Π²ΠΎΠ³Π΅ ΡΠ°ΠΉΠΌΠ΅ΡΠ° |
Π’ΡΠ΅Π²ΠΎΠ³ΠΈ
Π§ΡΠΎΠ±Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π±ΡΠ΄ΠΈΠ»ΡΠ½ΠΈΠΊ, Π²ΡΠ·ΠΎΠ²ΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ timer_set_alarm_value()
, Π° Π·Π°ΡΠ΅ΠΌ Π²ΠΊΠ»ΡΡΠΈΡΠ΅ Π±ΡΠ΄ΠΈΠ»ΡΠ½ΠΈΠΊ Ρ ΠΏΠΎΠΌΠΎΡΡΡ timer_set_alarm()
. Π’ΡΠ΅Π²ΠΎΠ³Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΊΠ»ΡΡΠΈΡΡ Π½Π° ΡΡΠ°ΠΏΠ΅ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°ΠΉΠΌΠ΅ΡΠ°, ΠΊΠΎΠ³Π΄Π° Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ timer_init()
.
ΠΠΎΡΠ»Π΅ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π±ΡΠ΄ΠΈΠ»ΡΠ½ΠΈΠΊΠ° ΠΈ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΡ ΡΠ°ΠΉΠΌΠ΅ΡΠΎΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π±ΡΠ΄ΠΈΠ»ΡΠ½ΠΈΠΊΠ° Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄Π²Π° Π΄Π΅ΠΉΡΡΠ²ΠΈΡ:
ΠΡΠ΄Π΅Ρ Π·Π°ΠΏΡΡΠ΅Π½ΠΎ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅, Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΎ Π±ΡΠ»ΠΎ Π½Π°ΡΡΡΠΎΠ΅Π½ΠΎ ΡΠ°Π½Π΅Π΅.
Π‘ΠΌ. Π Π°Π·Π΄Π΅Π» Β«ΠΡΠ΅ΡΡΠ²Π°Π½ΠΈΡΒ» ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ.
ΠΠΎΠ³Π΄Π°
auto_reload
Π²ΠΊΠ»ΡΡΠ΅Π½, ΡΡΠ΅ΡΡΠΈΠΊ ΡΠ°ΠΉΠΌΠ΅ΡΠ° Π±ΡΠ΄Π΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠΆΠ΅Π½, ΡΡΠΎΠ±Ρ ΡΠ½ΠΎΠ²Π° Π½Π°ΡΠ°ΡΡ ΠΎΡΡΡΠ΅Ρ Ρ ΡΠ°Π½Π΅Π΅ Π½Π°ΡΡΡΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ Π·Π°ΡΠ°Π½Π΅Π΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡtimer_set_counter_value()
.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅
ΠΡΠ»ΠΈ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠ³Π½Π°Π»Π° ΡΡΠ΅Π²ΠΎΠ³ΠΈ, Π° ΡΠ°ΠΉΠΌΠ΅Ρ ΡΠΆΠ΅ Π΄ΠΎΡΡΠΈΠ³ ΡΡΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΡΠΈΠ³Π½Π°Π» ΡΡΠ΅Π²ΠΎΠ³ΠΈ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ.
ΠΠΎΡΠ»Π΅ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π½ΠΈΡ ΡΠΈΠ³Π½Π°Π» ΡΡΠ΅Π²ΠΎΠ³ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΡΠΊΠ»ΡΡΠ°Π΅ΡΡΡ, ΠΈ Π΅Π³ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ Π²ΠΊΠ»ΡΡΠΈΡΡ Π΄Π»Ρ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ³ΠΎ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π½ΠΈΡ.
Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ΅Π²ΠΎΠ³ΠΈ, Π²ΡΠ·ΠΎΠ²ΠΈΡΠ΅ timer_get_alarm_value()
.
ΠΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ
Π Π΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠΌΠ΅ΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π° Π²ΡΠ·ΠΎΠ²ΠΎΠΌ timer_isr_callback_add()
ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° Π³ΡΡΠΏΠΏΡ, ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° ΡΠ°ΠΉΠΌΠ΅ΡΠ°, ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ
Π΄Π°Π½Π½ΡΡ
. ΠΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° Π±ΡΠ΄Π΅Ρ Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ ISR, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ Π±Π»ΠΎΠΊΠΈΡΡΡΡΠΈΠΉ API Π² ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π°.
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ Π²ΠΌΠ΅ΡΡΠΎ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ Ρ Π½ΡΠ»Ρ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π²Π°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΈΠΌΠ΅ΡΡ Π΄Π΅Π»ΠΎ Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΎΠΉ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΠΈ ΠΎΡΠΈΡΡΠΊΠΎΠΉ, Π²ΡΠ΅ ΠΎΠ½ΠΈ ΡΠ΅ΡΠ°ΡΡΡΡ Π΄ΠΎ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ² Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΡΡΠ΅Π½ Π² ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ΅ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎΠ± ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ ΡΠΌ. ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π½ΠΈΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΡΠΈΠΌΠ΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
ΠΡΠΈΠΌΠ΅Ρ 64-Π±ΠΈΡΠ½ΠΎΠ³ΠΎ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠΌΠ΅ΡΠ°: ΠΏΠ΅ΡΠΈΡΠ΅ΡΠΈΡ/timer_group.
Π‘ΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊ ΠΏΠΎ API
Π€ΡΠ½ΠΊΡΠΈΠΈ
- esp_err_t
timer_get_counter_value
(timer_group_t group_num , timer_idx_t timer_num , uint64_t * timer_val ) Π‘ΡΠΈΡΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ΅ΡΡΠΈΠΊΠ° Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠΌΠ΅ΡΠ°.
- ΠΠΎΠ·Π²ΡΠ°Ρ
- ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
group_num
: ΠΡΡΠΏΠΏΠ° ΡΠ°ΠΉΠΌΠ΅ΡΠΎΠ², 0 Π΄Π»Ρ TIMERG0 ΠΈΠ»ΠΈ 1 Π΄Π»Ρ TIMERG1timer_num
: ΠΠ½Π΄Π΅ΠΊΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ°, 0 Π΄Π»Ρ hw_timer[0] ΠΈ 1 Π΄Π»Ρ hw_timer[1]timer_val
: Π£ΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π΄Π»Ρ ΠΏΡΠΈΠ΅ΠΌΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΡΠ΅ΡΡΠΈΠΊΠ° ΡΠ°ΠΉΠΌΠ΅ΡΠ°.
- esp_err_t
timer_get_counter_time_sec
(timer_group_t group_num , timer_idx_t timer_num , double * Π²ΡΠ΅ΠΌΡ ) Π§ΡΠ΅Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΡΠ΅ΡΡΠΈΠΊΠ° Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠΌΠ΅ΡΠ° Π² Π΅Π΄ΠΈΠ½ΠΈΡΠ°Ρ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΡΠΊΠ°Π»Ρ.
- ΠΠΎΠ·Π²ΡΠ°Ρ
- ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
group_num
: ΠΡΡΠΏΠΏΠ° ΡΠ°ΠΉΠΌΠ΅ΡΠΎΠ², 0 Π΄Π»Ρ TIMERG0 ΠΈΠ»ΠΈ 1 Π΄Π»Ρ TIMERG1timer_num
: ΠΠ½Π΄Π΅ΠΊΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ°, 0 Π΄Π»Ρ hw_timer[0] ΠΈ 1 Π΄Π»Ρ hw_timer[1]time
: Π£ΠΊΠ°Π·Π°ΡΠ΅Π»Ρ, ΡΠΈΠΏ double*, Π΄Π»Ρ ΠΏΡΠΈΠ΅ΠΌΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΡΠ΅ΡΡΠΈΠΊΠ° ΡΠ°ΠΉΠΌΠ΅ΡΠ° Π² ΡΠ΅ΠΊΡΠ½Π΄Π°Ρ .
- esp_err_t
timer_set_counter_value
(timer_group_t group_num , timer_idx_t timer_num , uint64_t load_val ) Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ΅ΡΡΠΈΠΊΠ° Π½Π° Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠΉ ΡΠ°ΠΉΠΌΠ΅Ρ.
- ΠΠΎΠ·Π²ΡΠ°Ρ
- ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
group_num
: ΠΡΡΠΏΠΏΠ° ΡΠ°ΠΉΠΌΠ΅ΡΠΎΠ², 0 Π΄Π»Ρ TIMERG0 ΠΈΠ»ΠΈ 1 Π΄Π»Ρ TIMERG1timer_num
: ΠΠ½Π΄Π΅ΠΊΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ°, 0 Π΄Π»Ρ hw_timer[0] ΠΈ 1 Π΄Π»Ρ hw_timer[1]load_val
: ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ΅ΡΡΠΈΠΊΠ° Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ Π² Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠΉ ΡΠ°ΠΉΠΌΠ΅Ρ.
- esp_err_t
timer_start
(timer_group_t group_num , timer_idx_t timer_num ) ΠΠ°ΠΏΡΡΠΊ ΡΡΠ΅ΡΡΠΈΠΊΠ° Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠΌΠ΅ΡΠ°.
- ΠΠΎΠ·Π²ΡΠ°Ρ
- ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
group_num
: ΠΠΎΠΌΠ΅Ρ Π³ΡΡΠΏΠΏΡ ΡΠ°ΠΉΠΌΠ΅ΡΠΎΠ², 0 Π΄Π»Ρ TIMERG0 ΠΈΠ»ΠΈ 1 Π΄Π»Ρ TIMERG1timer_num
: ΠΠ½Π΄Π΅ΠΊΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ°, 0 Π΄Π»Ρ hw_timer[0] ΠΈ 1 Π΄Π»Ρ hw_timer[1]
- esp_err_t
timer_pause
(timer_group_t group_num , timer_idx_t timer_num ) ΠΡΠΈΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΡΠ΅ΡΡΠΈΠΊ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠΌΠ΅ΡΠ°.
- ΠΠΎΠ·Π²ΡΠ°Ρ
- ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
group_num
: ΠΠΎΠΌΠ΅Ρ Π³ΡΡΠΏΠΏΡ ΡΠ°ΠΉΠΌΠ΅ΡΠΎΠ², 0 Π΄Π»Ρ TIMERG0 ΠΈΠ»ΠΈ 1 Π΄Π»Ρ TIMERG1timer_num
: ΠΠ½Π΄Π΅ΠΊΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ°, 0 Π΄Π»Ρ hw_timer[0] ΠΈ 1 Π΄Π»Ρ hw_timer[1]
- esp_err_t
timer_set_counter_mode
(timer_group_t group_num , timer_idx_t timer_num , timer_count_dir_t counter_dir ) Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠ΅ΠΆΠΈΠΌΠ° ΡΡΠ΅ΡΠ° Π΄Π»Ρ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠΌΠ΅ΡΠ°.
- ΠΠΎΠ·Π²ΡΠ°Ρ
- ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
group_num
: ΠΠΎΠΌΠ΅Ρ Π³ΡΡΠΏΠΏΡ ΡΠ°ΠΉΠΌΠ΅ΡΠΎΠ², 0 Π΄Π»Ρ TIMERG0 ΠΈΠ»ΠΈ 1 Π΄Π»Ρ TIMERG1timer_num
: ΠΠ½Π΄Π΅ΠΊΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ°, 0 Π΄Π»Ρ hw_timer[0] ΠΈ 1 Π΄Π»Ρ hw_timer[1]counter_dir
: ΠΠ°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΡΠ΅ΡΠ° ΡΠ°ΠΉΠΌΠ΅ΡΠ°, ΠΏΡΡΠΌΠΎΠΉ ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ ΠΎΡΡΡΠ΅Ρ
- esp_err_t
timer_set_auto_reload
(timer_group_t group_num , timer_idx_t timer_num , timer_autoreload_t reload ) ΠΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΡΠ΅ΡΡΠΈΠΊΠ° ΠΏΡΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ Π°Π²Π°ΡΠΈΠΉΠ½ΠΎΠ³ΠΎ ΡΠΎΠ±ΡΡΠΈΡ.
- ΠΠΎΠ·Π²ΡΠ°Ρ
- ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
group_num
: ΠΠΎΠΌΠ΅Ρ Π³ΡΡΠΏΠΏΡ ΡΠ°ΠΉΠΌΠ΅ΡΠΎΠ², 0 Π΄Π»Ρ TIMERG0 ΠΈΠ»ΠΈ 1 Π΄Π»Ρ TIMERG1timer_num
: ΠΠ½Π΄Π΅ΠΊΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ°, 0 Π΄Π»Ρ hw_timer[0] ΠΈ 1 Π΄Π»Ρ hw_timer[1]ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠ°
: Π Π΅ΠΆΠΈΠΌ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΡΠ΅ΡΡΠΈΠΊΠ°.
- esp_err_t
timer_set_divider
(timer_group_t group_num , timer_idx_t timer_num , uint32_t Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ ) Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ ΡΠ°ΡΡΠΎΡΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ° Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠΌΠ΅ΡΠ°. Π§Π°ΡΡ Π³ΡΡΠΏΠΏ ΡΠ°ΠΉΠΌΠ΅ΡΠΎΠ² ΡΠ²Π»ΡΡΡΡΡ Π΄Π΅Π»ΠΈΡΠ΅Π»Π΅ΠΌ ΡΠ°ΡΠΎΠ² APB.
- ΠΠΎΠ·Π²ΡΠ°Ρ
- ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
group_num
: ΠΠΎΠΌΠ΅Ρ Π³ΡΡΠΏΠΏΡ ΡΠ°ΠΉΠΌΠ΅ΡΠΎΠ², 0 Π΄Π»Ρ TIMERG0 ΠΈΠ»ΠΈ 1 Π΄Π»Ρ TIMERG1timer_num
: ΠΠ½Π΄Π΅ΠΊΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ°, 0 Π΄Π»Ρ hw_timer[0] ΠΈ 1 Π΄Π»Ρ hw_timer[1]Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ
: ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ ΡΠ°ΡΠΎΠ² ΡΠ°ΠΉΠΌΠ΅ΡΠ°. ΠΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ ΠΎΡ 2 Π΄ΠΎ 65536.
- esp_err_t
timer_set_alarm_value
(timer_group_t group_num , timer_idx_t timer_num , uint64_t alarm_value ) Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΈΠ³Π½Π°Π»Π° ΡΡΠ΅Π²ΠΎΠ³ΠΈ ΡΠ°ΠΉΠΌΠ΅ΡΠ°.
- ΠΠΎΠ·Π²ΡΠ°Ρ
- ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
group_num
: ΠΡΡΠΏΠΏΠ° ΡΠ°ΠΉΠΌΠ΅ΡΠΎΠ², 0 Π΄Π»Ρ TIMERG0 ΠΈΠ»ΠΈ 1 Π΄Π»Ρ TIMERG1timer_num
: ΠΠ½Π΄Π΅ΠΊΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ°, 0 Π΄Π»Ρ hw_timer[0] ΠΈ 1 Π΄Π»Ρ hw_timer[1]alarm_value
: 64-Π±ΠΈΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π°Π²Π°ΡΠΈΠΉΠ½ΠΎΠ³ΠΎ ΡΠΈΠ³Π½Π°Π»Π°.
- esp_err_t
timer_get_alarm_value
(timer_group_t group_num , timer_idx_t timer_num , uint64_t * alarm_value ) ΠΠΎΠ»ΡΡΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠ³Π½Π°Π»Π° ΡΠ°ΠΉΠΌΠ΅ΡΠ°.
- ΠΠΎΠ·Π²ΡΠ°Ρ
- ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
group_num
: ΠΡΡΠΏΠΏΠ° ΡΠ°ΠΉΠΌΠ΅ΡΠΎΠ², 0 Π΄Π»Ρ TIMERG0 ΠΈΠ»ΠΈ 1 Π΄Π»Ρ TIMERG1timer_num
: ΠΠ½Π΄Π΅ΠΊΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ°, 0 Π΄Π»Ρ hw_timer[0] ΠΈ 1 Π΄Π»Ρ hw_timer[1]alarm_value
: Π£ΠΊΠ°Π·Π°ΡΠ΅Π»Ρ 64-Π±ΠΈΡΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΏΡΠΈΠ½ΡΡΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π°Π²Π°ΡΠΈΠΉΠ½ΠΎΠ³ΠΎ ΡΠΈΠ³Π½Π°Π»Π°.
- esp_err_t
timer_set_alarm
(timer_group_t group_num , timer_idx_t timer_num , timer_alarm_t alarm_en ) ΠΠΊΠ»ΡΡΠΈΡΡ ΠΈΠ»ΠΈ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ ΡΡΠ΅Π²ΠΎΠΆΠ½ΡΡ ΡΠΎΠ±ΡΡΠΈΠΉ ΡΠ°ΠΉΠΌΠ΅ΡΠ°.
- ΠΠΎΠ·Π²ΡΠ°Ρ
- ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
group_num
: ΠΡΡΠΏΠΏΠ° ΡΠ°ΠΉΠΌΠ΅ΡΠΎΠ², 0 Π΄Π»Ρ TIMERG0 ΠΈΠ»ΠΈ 1 Π΄Π»Ρ TIMERG1timer_num
: ΠΠ½Π΄Π΅ΠΊΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ°, 0 Π΄Π»Ρ hw_timer[0] ΠΈ 1 Π΄Π»Ρ hw_timer[1]alarm_en
: ΠΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π±ΡΠ΄ΠΈΠ»ΡΠ½ΠΈΠΊΠ° ΠΏΠΎ ΡΠ°ΠΉΠΌΠ΅ΡΡ.
- ESP_ERR_T
TIMER_ISR_CALLBACK_ADD
(TIMER_GROUP_T GROUP_NUM , TIMER_IDX_T TIMER_NUM , TIMER_ISR_T ISR_HANDLER , VOID * 9027 AGR_T ISR_HANDLER , VOID * AGR_T ISR_HANDLER , VOID * AGR_T ISR_HANDLEΠΠΎΠ±Π°Π²ΠΈΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ² Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠ° ISR Π΄Π»Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΡΠ°ΠΉΠΌΠ΅ΡΠ°.
ΠΠ±ΡΠ°ΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ² Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΡΡΠΎΠ±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, Π½ΡΠΆΠ½ΠΎ Π»ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ YIELD Π² ΠΊΠΎΠ½ΡΠ΅ ISR.
- ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅
ΠΡΠΎΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ISR Π±ΡΠ΄Π΅Ρ Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ ΠΈΠ· ISR. ΠΡΠΎΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ISR Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΡΠ°ΡΡΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΊΠΎΡΠΎΡΠΊΠΈΠΌ. ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ Π½Π°ΠΏΠΈΡΠ°ΡΡ Π²Π΅ΡΡ ISR, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ·Π²Π°ΡΡ timer_isr_register(β¦) Π΄Π»Ρ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ISR.
- ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
group_num
: ΠΠΎΠΌΠ΅Ρ Π³ΡΡΠΏΠΏΡ ΡΠ°ΠΉΠΌΠ΅ΡΠΎΠ²timer_num
: ΠΠ½Π΄Π΅ΠΊΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ° Π³ΡΡΠΏΠΏΡ ΡΠ°ΠΉΠΌΠ΅ΡΠΎΠ²isr_handler
: Π€ΡΠ½ΠΊΡΠΈΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ, ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π°.arg
: ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ Π΄Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°intr_alloc_flags
: Π€Π»Π°Π³ΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π΄Π»Ρ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ. ΠΠ΄Π½ΠΎ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ (ORred) Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ESP_INTR_FLAG_*. Π‘ΠΌ. esp_intr_alloc.h Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ.
ΠΡΠ»ΠΈ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ESP_INTR_FLAG_IRAM Π΄Π»Ρ intr_alloc_flags, ΡΡΠ½ΠΊΡΠΈΡ-ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π° ββΡ Π°ΡΡΠΈΠ±ΡΡΠΎΠΌ IRAM_ATTR ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ·ΡΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠΎΠ»ΡΠΊΠΎ Π² IRAM ΠΈΠ»ΠΈ ROM. ΠΠ½ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ·ΡΠ²Π°ΡΡ Π΄ΡΡΠ³ΠΈΠ΅ API-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ°.
- ΠΠΎΠ·Π²ΡΠ°Ρ
- esp_err_t
timer_isr_callback_remove
(timer_group_t group_num , timer_idx_t timer_num ) Π£Π΄Π°Π»ΠΈΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ² Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠ° ISR Π΄Π»Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΡΠ°ΠΉΠΌΠ΅ΡΠ°.
- ΠΠΎΠ·Π²ΡΠ°Ρ
- ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
- esp_err_t
timer_isr_register
(timer_group_t group_num , timer_idx_t timer_num , void (* fn )(void *), void * arg , int intr_alloc_flags , timer_isr_handle_t * handle , ) Π Π΅Π³ΠΈΡΡΡ ΠΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ°, ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΠ²Π»ΡΠ΅ΡΡΡ ISR.
ΠΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠΊΡΠ΅ΠΏΠ»Π΅Π½ ΠΊ ΡΠΎΠΌΡ ΠΆΠ΅ ΡΠ΄ΡΡ Π¦Π, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΡ.
ΠΡΠ»ΠΈ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ intr_alloc_flags ESP_INTR_FLAG_IRAM, ΡΡΠ½ΠΊΡΠΈΡ-ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π° ββΡ Π°ΡΡΠΈΠ±ΡΡΠΎΠΌ IRAM_ATTR ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ·ΡΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠΎΠ»ΡΠΊΠΎ Π² IRAM ΠΈΠ»ΠΈ ROM. ΠΠ½ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ·ΡΠ²Π°ΡΡ Π΄ΡΡΠ³ΠΈΠ΅ API-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ°. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΡΡΠΌΠΎΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ΅Π³ΠΈΡΡΡΡ Π΄Π»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠ°ΠΉΠΌΠ΅ΡΠΎΠ² ΠΈΠ·Π½ΡΡΡΠΈ ISR.
- ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅
ΠΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ISR, Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΏΠΈΡΠ°ΡΡ Π²Π΅ΡΡ ISR. Π ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ΅ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π²ΡΠ·Π²Π°ΡΡ timer_spinlock_take(..) ΠΏΠ΅ΡΠ΅Π΄ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ ΠΈ Π²ΡΠ·Π²Π°ΡΡ timer_spinlock_give(β¦) ΠΏΠΎΡΠ»Π΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ.
- ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
group_num
: ΠΠΎΠΌΠ΅Ρ Π³ΡΡΠΏΠΏΡ ΡΠ°ΠΉΠΌΠ΅ΡΠΎΠ²timer_num
: ΠΠ½Π΄Π΅ΠΊΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ° Π³ΡΡΠΏΠΏΡ ΡΠ°ΠΉΠΌΠ΅ΡΠΎΠ²fn
: Π€ΡΠ½ΠΊΡΠΈΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ.arg
: ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ Π΄Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°intr_alloc_flags
: Π€Π»Π°Π³ΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π΄Π»Ρ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ.ΠΠ΄Π½ΠΎ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ (ORred) Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ESP_INTR_FLAG_*. Π‘ΠΌ. esp_intr_alloc.h Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ.
Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ
: Π£ΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°. ΠΡΠ»ΠΈ Π½Π΅ NULL, Π·Π΄Π΅ΡΡ Π±ΡΠ΄Π΅Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ.
- ΠΠΎΠ·Π²ΡΠ°Ρ
- esp_err_t
timer_init
(timer_group_t group_num , timer_idx_t timer_num , const timer_config_t * config ) ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΠΈ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅Ρ ΡΠ°ΠΉΠΌΠ΅Ρ.
- ΠΠΎΠ·Π²ΡΠ°Ρ
- ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
group_num
: ΠΠΎΠΌΠ΅Ρ Π³ΡΡΠΏΠΏΡ ΡΠ°ΠΉΠΌΠ΅ΡΠΎΠ², 0 Π΄Π»Ρ TIMERG0 ΠΈΠ»ΠΈ 1 Π΄Π»Ρ TIMERG1timer_num
: ΠΠ½Π΄Π΅ΠΊΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ°, 0 Π΄Π»Ρ hw_timer[0] ΠΈ 1 Π΄Π»Ρ hw_timer[1]config
: Π£ΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°ΠΉΠΌΠ΅ΡΠ°.
- esp_err_t
timer_deinit
(timer_group_t group_num , timer_idx_t timer_num ) ΠΠ΅ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΡΠ°ΠΉΠΌΠ΅Ρ.
- ΠΠΎΠ·Π²ΡΠ°Ρ
- ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
group_num
: ΠΠΎΠΌΠ΅Ρ Π³ΡΡΠΏΠΏΡ ΡΠ°ΠΉΠΌΠ΅ΡΠΎΠ², 0 Π΄Π»Ρ TIMERG0 ΠΈΠ»ΠΈ 1 Π΄Π»Ρ TIMERG1timer_num
: ΠΠ½Π΄Π΅ΠΊΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ°, 0 Π΄Π»Ρ hw_timer[0] ΠΈ 1 Π΄Π»Ρ hw_timer[1]
- esp_err_t
timer_get_config
(timer_group_t group_num , timer_idx_t timer_num , timer_config_t * config ) ΠΠΎΠ»ΡΡΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠ°ΠΉΠΌΠ΅ΡΠ°.
- ΠΠΎΠ·Π²ΡΠ°Ρ
- ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
group_num
: ΠΠΎΠΌΠ΅Ρ Π³ΡΡΠΏΠΏΡ ΡΠ°ΠΉΠΌΠ΅ΡΠΎΠ², 0 Π΄Π»Ρ TIMERG0 ΠΈΠ»ΠΈ 1 Π΄Π»Ρ TIMERG1timer_num
: ΠΠ½Π΄Π΅ΠΊΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ°, 0 Π΄Π»Ρ hw_timer[0] ΠΈ 1 Π΄Π»Ρ hw_timer[1]config
: Π£ΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΡΡΡΡΠΊΡΡΡΡ Π΄Π»Ρ ΠΏΡΠΈΠ΅ΠΌΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΠ°ΠΉΠΌΠ΅ΡΠ°.
- esp_err_t
timer_group_intr_enable
(timer_group_t group_num , timer_intr_t intr_mask ) Π Π°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π³ΡΡΠΏΠΏΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ° ΠΏΠΎ ΠΌΠ°ΡΠΊΠ΅ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ.
- ΠΠΎΠ·Π²ΡΠ°Ρ
- ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
group_num
: ΠΠΎΠΌΠ΅Ρ Π³ΡΡΠΏΠΏΡ ΡΠ°ΠΉΠΌΠ΅ΡΠΎΠ², 0 Π΄Π»Ρ TIMERG0 ΠΈΠ»ΠΈ 1 Π΄Π»Ρ TIMERG1intr_mask
: ΠΠ°ΡΠΊΠ° ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ°.TIMER_INTR_T0: ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅ t0
TIMER_INTR_T1: ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅ t1
TIMER_INTR_WDT: ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅ ΡΡΠΎΡΠΎΠΆΠ΅Π²ΠΎΠ³ΠΎ ΡΠ°ΠΉΠΌΠ΅ΡΠ°
- esp_err_t
timer_group_intr_disable
(timer_group_t group_num , timer_intr_t intr_mask ) ΠΡΠΊΠ»ΡΡΠΈΡΡ Π³ΡΡΠΏΠΏΠΎΠ²ΠΎΠ΅ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΠΌΠ΅ΡΠ° ΠΏΠΎ ΠΌΠ°ΡΠΊΠ΅ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ.
- ΠΠΎΠ·Π²ΡΠ°Ρ
- ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
group_num
: ΠΠΎΠΌΠ΅Ρ Π³ΡΡΠΏΠΏΡ ΡΠ°ΠΉΠΌΠ΅ΡΠΎΠ², 0 Π΄Π»Ρ TIMERG0 ΠΈΠ»ΠΈ 1 Π΄Π»Ρ TIMERG1intr_mask
: ΠΠ°ΡΠΊΠ° ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ°.TIMER_INTR_T0: ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅ t0
TIMER_INTR_T1: ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅ t1
TIMER_INTR_WDT: ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅ ΡΡΠΎΡΠΎΠΆΠ΅Π²ΠΎΠ³ΠΎ ΡΠ°ΠΉΠΌΠ΅ΡΠ°
- esp_err_t
timer_enable_intr
(timer_group_t group_num , timer_idx_t timer_num ) Π Π°Π·ΡΠ΅ΡΠΈΡΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎ ΡΠ°ΠΉΠΌΠ΅ΡΡ.
- ΠΠΎΠ·Π²ΡΠ°Ρ
- ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
- esp_err_t
timer_disable_intr
(timer_group_t group_num , timer_idx_t timer_num ) ΠΡΠΊΠ»ΡΡΠΈΡΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΠΌΠ΅ΡΠ°.
- ΠΠΎΠ·Π²ΡΠ°Ρ
- ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
- void
timer_group_intr_clr_in_isr
(timer_group_t group_num , timer_idx_t timer_num ) ΠΡΠΈΡΡΠΈΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ°, ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π² ISR.
- ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
- Π½Π΅Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΠΌ
timer_group_clr_intr_status_in_isr
(timer_group_t group_num , timer_idx_t timer_num ) ΠΡΠΈΡΡΠΈΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ°, ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π² ISR.
- ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
- void
timer_group_enable_alarm_in_isr
(timer_group_t group_num , timer_idx_t timer_num ) Π Π°Π·ΡΠ΅ΡΠΈΡΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎ ΡΡΠ΅Π²ΠΎΠ³Π΅, ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π² ISR.
- ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
- uint64_t
timer_group_get_counter_value_in_isr
(timer_group_t group_num , timer_idx_t timer_num ) ΠΠΎΠ»ΡΡΠΈΡΡ ΡΠ΅ΠΊΡΡΠ΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ΅ΡΡΠΈΠΊΠ°, ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π² ISR.
- ΠΠΎΠ·Π²ΡΠ°Ρ
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ΅ΡΡΠΈΠΊΠ°
- ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
- Π½Π΅Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΠΌ
timer_group_set_alarm_value_in_isr
(timer_group_t group_num , timer_idx_t timer_num , uint64_t alarm_val ) Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΏΠΎΡΠΎΠ³ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π½ΠΈΡ ΡΠΈΠ³Π½Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π΄Π»Ρ ΡΠ°ΠΉΠΌΠ΅ΡΠ°, ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π² ISR.
- ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
group_num
: ΠΠΎΠΌΠ΅Ρ Π³ΡΡΠΏΠΏΡ ΡΠ°ΠΉΠΌΠ΅ΡΠΎΠ², 0 Π΄Π»Ρ TIMERG0 ΠΈΠ»ΠΈ 1 Π΄Π»Ρ TIMERG1timer_num
: ΠΠ½Π΄Π΅ΠΊΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ°.alarm_val
: ΠΠΎΡΠΎΠ³ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π½ΠΈΡ ΡΠΈΠ³Π½Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ.
- void
timer_group_set_counter_enable_in_isr
(timer_group_t group_num , timer_idx_t timer_num , timer_start_t counter_en ) ΠΠΊΠ»ΡΡΠΈΡΡ/ΠΎΡΠΊΠ»ΡΡΠΈΡΡ ΡΡΠ΅ΡΡΠΈΠΊ, ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½ΡΠΉ Π² ISR.
- ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
group_num
: ΠΠΎΠΌΠ΅Ρ Π³ΡΡΠΏΠΏΡ ΡΠ°ΠΉΠΌΠ΅ΡΠΎΠ², 0 Π΄Π»Ρ TIMERG0 ΠΈΠ»ΠΈ 1 Π΄Π»Ρ TIMERG1timer_num
: ΠΠ½Π΄Π΅ΠΊΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ°.counter_en
: ΠΠΊΠ»ΡΡΠΈΡΡ/Π²ΡΠΊΠ»ΡΡΠΈΡΡ.
- timer_intr_t
timer_group_intr_get_in_isr
(timer_group_t group_num ) ΠΠΎΠ»ΡΡΠΈΡΡ ΡΡΠ°ΡΡΡ Π·Π°ΠΌΠ°ΡΠΊΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ, ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π² ISR.
- ΠΠΎΠ·Π²ΡΠ°Ρ
Π‘ΡΠ°ΡΡΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ
- ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
- uint32_t
timer_group_get_intr_status_in_isr
(timer_group_t group_num ) ΠΠΎΠ»ΡΡΠΈΡΡ ΡΡΠ°ΡΡΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ, ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½ΡΠΉ Π² ISR.
- ΠΠΎΠ·Π²ΡΠ°Ρ
Π‘ΡΠ°ΡΡΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ
- ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
- void
timer_group_clr_intr_sta_in_isr
(timer_group_t group_num , timer_intr_t intr_mask ) ΠΡΠΈΡΡΠΈΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π·Π°ΠΌΠ°ΡΠΊΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ, ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π² ISR.
- ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
- bool
timer_group_get_auto_reload_in_isr
(timer_group_t group_num , timer_idx_t timer_num ) ΠΠΎΠ»ΡΡΠΈΡΡ ΡΡΠ°ΡΡΡ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠΈ, ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½ΡΠΉ Π² ISR.
- ΠΠΎΠ·Π²ΡΠ°Ρ
- ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
- esp_err_t
timer_spinlock_take
(timer_group_t group_num ) ΠΠΊΠ»ΡΡΠΈΡΠ΅ ΡΠΏΠΈΠ½-Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ°, ΡΡΠΎΠ±Ρ Π²ΠΎΠΉΡΠΈ Π² ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΡΡ Π·Π°ΡΠΈΡΡ.
- ΠΠΎΠ·Π²ΡΠ°Ρ
- ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
- esp_err_t
timer_spinlock_give
(timer_group_t group_num ) Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ° Π΄Π»Ρ Π²ΡΡ ΠΎΠ΄Π° ΠΈΠ· ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π·Π°ΡΠΈΡΡ.
- ΠΠΎΠ·Π²ΡΠ°Ρ
- ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
ΠΠ°ΠΊΡΠΎΡΡ
-
Π’ΠΠΠΠΠ _BASE_CLK
Π§Π°ΡΡΠΎΡΠ° ΡΠ°ΡΠΎΠ² Π½Π° Π²Ρ ΠΎΠ΄Π΅ Π³ΡΡΠΏΠΏ ΡΠ°ΠΉΠΌΠ΅ΡΠΎΠ²
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠΈΠΏΠΎΠ²
- typedef bool (*
timer_isr_t
)(void *) Π€ΡΠ½ΠΊΡΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ. ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π² ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΌ Π²ΡΠ·ΠΎΠ²Π΅.
- ΠΠΎΠ·Π²ΡΠ°Ρ
- ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅
ΠΡΠ»ΠΈ Π²Ρ Π²ΡΠ·Π²Π°Π»ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ FreeRTOS Π² ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΌ Π²ΡΠ·ΠΎΠ²Π΅, Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²Π΅ΡΠ½ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ true ΠΈΠ»ΠΈ false Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°
pxHigherPriorityTaskWoken
.ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ,
xQueueSendFromISR
Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ Π² ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΌ Π²ΡΠ·ΠΎΠ²Π΅, Π΅ΡΠ»ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅pxHigherPriorityTaskWoken
Π»ΡΠ±ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° FreeRTOS ΡΠ°Π²Π½ΠΎ pdTRUE, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ true; Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²Π΅ΡΠ½ΡΡΡ Π»ΠΎΠΆΡ.
- ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠΈΠΏΠ° intr_handle_t
timer_isr_handle_t
ΠΠ΅ΡΠΊΡΠΈΠΏΡΠΎΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π΄Π»Ρ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΡ isr ΠΏΠΎΡΠ»Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ. ΠΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΡ Π΄Π»Ρ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠ° int Π½Π° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ.
ΠΠ°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΠΉ ΡΠ°ΠΉΠ»
hal/include/hal/timer_types.h
ΠΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ
- ΡΡΡΡΠΊΡΡΡΠ°
timer_config_t
Π‘ΡΡΡΠΊΡΡΡΠ° Π΄Π°Π½Π½ΡΡ Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΡΠ°ΠΉΠΌΠ΅ΡΠ°.
ΠΡΠ±Π»ΠΈΡΠ½ΡΠ΅ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΈ
- timer_alarm_t
alarm_en
ΠΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΡΠ΅Π²ΠΎΠ³ΠΈ ΠΏΠΎ ΡΠ°ΠΉΠΌΠ΅ΡΡ
- timer_start_t
counter_en
ΠΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΡΠ΅ΡΡΠΈΠΊΠ°
- timer_intr_mode_t
intr_type
Π Π΅ΠΆΠΈΠΌ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ
- timer_count_dir_t
counter_dir
ΠΡΡΡΠ΅ΡΠ½ΠΎΠ΅ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅
- timer_autoreload_t
Π°Π²ΡΠΎ_ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠ°
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠ° ΡΠ°ΠΉΠΌΠ΅ΡΠ°
- uint32_t
Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ
ΠΠ΅Π»ΠΈΡΠ΅Π»Ρ ΡΡΠ΅ΡΡΠΈΠΊΠ° ΡΠ°ΡΠΎΠ².
ΠΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ ΠΎΡ 2 Π΄ΠΎ 65536.
- timer_alarm_t
Π‘ΠΏΠΈΡΠΊΠΈ
- ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΠ΅
timer_group_t
ΠΡΠ±ΠΈΡΠ°Π΅Ρ Π³ΡΡΠΏΠΏΡ ΡΠ°ΠΉΠΌΠ΅ΡΠΎΠ² ΠΈΠ· 2 Π΄ΠΎΡΡΡΠΏΠ½ΡΡ Π³ΡΡΠΏΠΏ.
ΠΠ½Π°ΡΠ΅Π½ΠΈΡ:
-
Π’ΠΠΠΠΠ _ΠΠ Π£ΠΠΠ_0
= 0 ΠΡΡΠΏΠΏΠ° Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΡ ΡΠ°ΠΉΠΌΠ΅ΡΠΎΠ² 0
-
Π’ΠΠΠΠΠ _ΠΠ Π£ΠΠΠ_1
= 1 ΠΡΡΠΏΠΏΠ° Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠΌΠ΅ΡΠ° 1
-
Π’ΠΠΠΠΠ _ΠΠ Π£ΠΠΠ_ΠΠΠΠ‘
-
- ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΠ΅
timer_idx_t
ΠΡΠ±Π΅ΡΠΈΡΠ΅ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠΉ ΡΠ°ΠΉΠΌΠ΅Ρ ΠΈΠ· Π³ΡΡΠΏΠΏ ΡΠ°ΠΉΠΌΠ΅ΡΠΎΠ².
ΠΠ½Π°ΡΠ΅Π½ΠΈΡ:
-
Π’ΠΠΠΠΠ _0
= 0 ΠΡΠ±Π΅ΡΠΈΡΠ΅ ΡΠ°ΠΉΠΌΠ΅Ρ 0 ΠΈΠ· GROUPx
-
Π’ΠΠΠΠΠ _1
= 1 ΠΡΠ±Π΅ΡΠΈΡΠ΅ ΡΠ°ΠΉΠΌΠ΅Ρ 1 ΠΈΠ· GROUPx
-
Π’ΠΠΠΠΠ _ΠΠΠΠ‘
-
- ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΠ΅
timer_count_dir_t
ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΡΠ΅ΡΡΠΈΠΊΠ°.
ΠΠ½Π°ΡΠ΅Π½ΠΈΡ:
-
TIMER_COUNT_DOWN
= 0 Π‘ΡΠ΅Ρ ΠΏΠΎ ΡΠ±ΡΠ²Π°Π½ΠΈΡ ΠΎΡ cnt.high|cnt.low
-
TIMER_COUNT_UP
= 1 Π‘ΡΠ΅Ρ ΠΏΠΎ Π²ΠΎΠ·ΡΠ°ΡΡΠ°Π½ΠΈΡ ΠΎΡ Π½ΡΠ»Ρ
-
TIMER_COUNT_MAX
-
- ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΠ΅
timer_start_t
ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, Π²ΠΊΠ»ΡΡΠ΅Π½ ΡΠ°ΠΉΠΌΠ΅Ρ ΠΈΠ»ΠΈ ΠΏΡΠΈΠΎΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½.
ΠΠ½Π°ΡΠ΅Π½ΠΈΡ:
-
Π’ΠΠΠΠΠ _ΠΠΠ£ΠΠ
= 0 Π‘ΡΠ΅ΡΡΠΈΠΊ ΡΠ°ΠΉΠΌΠ΅ΡΠ° ΠΏΠ°ΡΠ·Ρ
-
Π’ΠΠΠΠΠ _Π‘Π’ΠΠ Π’
= 1 Π‘ΡΠ΅ΡΡΠΈΠΊ ΠΏΡΡΠΊΠΎΠ²ΠΎΠ³ΠΎ ΡΠ°ΠΉΠΌΠ΅ΡΠ°
-
- ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΠ΅
timer_intr_t
Π’ΠΈΠΏΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ ΡΠ°ΠΉΠΌΠ΅ΡΠ°.
ΠΠ½Π°ΡΠ΅Π½ΠΈΡ:
-
Π’ΠΠΠΠΠ _INTR_T0
= ΠΠΠ’(0) ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΠΌΠ΅ΡΠ° 0
-
Π’ΠΠΠΠΠ _INTR_T1
= ΠΠΠ’(1) ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΠΌΠ΅ΡΠ° 1
-
TIMER_INTR_WDT
= ΠΠΠ’(2) ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅ ΡΡΠΎΡΠΎΠΆΠ΅Π²ΠΎΠ³ΠΎ ΡΠ°ΠΉΠΌΠ΅ΡΠ°
-
Π’ΠΠΠΠΠ _ΠΠΠ’Π _ΠΠΠ’
= 0
-
- ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΠ΅
timer_alarm_t
ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, Π²ΠΊΠ»ΡΡΠ°ΡΡ Π»ΠΈ ΡΠ΅ΠΆΠΈΠΌ ΡΡΠ΅Π²ΠΎΠ³ΠΈ.
ΠΠ½Π°ΡΠ΅Π½ΠΈΡ:
-
Π’ΠΠΠΠΠ _ALARM_DIS
= 0 ΠΡΠΊΠ»ΡΡΠΈΡΡ ΡΡΠ΅Π²ΠΎΠ³Ρ ΡΠ°ΠΉΠΌΠ΅ΡΠ°
-
Π’ΠΠΠΠΠ _ΠΠΠΠ ΠΠΠΠ«Π Π‘ΠΠΠΠΠ_EN
= 1 ΠΠΊΠ»ΡΡΠΈΡΡ ΡΡΠ΅Π²ΠΎΠ³Ρ ΡΠ°ΠΉΠΌΠ΅ΡΠ°
-
Π’ΠΠΠΠΠ _ALARM_ΠΠΠΠ‘
-
- ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΠ΅
timer_intr_mode_t
ΠΡΠ±Π΅ΡΠΈΡΠ΅ ΡΠΈΠΏ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΡΠ΅Π²ΠΎΠ³ΠΈ.
ΠΠ½Π°ΡΠ΅Π½ΠΈΡ:
-
Π’ΠΠΠΠΠ _INTR_LEVEL
= 0 Π Π΅ΠΆΠΈΠΌ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ: ΡΠ΅ΠΆΠΈΠΌ ΡΡΠΎΠ²Π½Ρ
-
Π’ΠΠΠΠΠ _ΠΠΠ’Π _ΠΠΠΠ‘
-
- ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΠ΅
timer_autoreload_t
ΠΡΠ±Π΅ΡΠΈΡΠ΅, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π»ΠΈ ΡΠΈΠ³Π½Π°Π» ΡΡΠ΅Π²ΠΎΠ³ΠΈ Π·Π°Π³ΡΡΠΆΠ°ΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎ ΠΈΠ»ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠΆΠ°ΡΡΡΡ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎ.
ΠΠ½Π°ΡΠ΅Π½ΠΈΡ:
-
Π’ΠΠΠΠΠ _ΠΠΠ’ΠΠΠΠΠ Π£ΠΠΠ_DIS
= 0 ΠΡΠΊΠ»ΡΡΠΈΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΡΡ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΡ: Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π΅ Π±ΡΠ΄Π΅Ρ Π·Π°Π³ΡΡΠΆΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ΅ΡΡΠΈΠΊΠ° ΠΏΠΎΡΠ»Π΅ Π°Π²Π°ΡΠΈΠΉΠ½ΠΎΠ³ΠΎ ΡΠΎΠ±ΡΡΠΈΡ
-
Π’ΠΠΠΠΠ _ΠΠΠ’ΠΠΠΠΠ Π£ΠΠΠ_EN
= 1 ΠΠΊΠ»ΡΡΠΈΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΡΡ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΡ: Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ Π·Π°Π³ΡΡΠΆΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ΅ΡΡΠΈΠΊΠ° ΠΏΠΎΡΠ»Π΅ Π°Π²Π°ΡΠΈΠΉΠ½ΠΎΠ³ΠΎ ΡΠΎΠ±ΡΡΠΈΡ
-
Π’ΠΠΠΠΠ _ΠΠΠ’ΠΠΠΠΠ Π£ΠΠΠ_ΠΠΠΠ‘
-
Π€ΡΠ½ΠΊΡΠΈΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ ΡΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ, ΠΈ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ°
Π’Π°ΠΉΠΌΠ΅ΡΡ ΡΠ²Π»ΡΡΡΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΎΠ±ΡΠΈΡ
Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΡ
ΡΡΠ½ΠΊΡΠΈΠΉ Π²ΡΠ΅Ρ
ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ². Π’Π°ΠΉΠΌΠ΅ΡΡ ΠΈ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΠΏΠΎ ΡΠ°ΠΉΠΌΠ΅ΡΡ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½Ρ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ
ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ². ΠΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΠΏΠΎ ΡΠ°ΠΉΠΌΠ΅ΡΡ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ, ΠΊΠΎΠ³Π΄Π° ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠΎΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π±Π΅Π· Π΄ΠΎΠ»ΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ. ΠΡΠ΅ ΠΏΠΎΡΡΡ MicroPython ΠΈΠΌΠ΅ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΉΠΌΠ΅ΡΠΎΠ². ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· ΡΡΠΈΡ
ΡΠ°ΠΉΠΌΠ΅ΡΠΎΠ² ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π·Π°ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½Ρ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ
ΡΡΠ½ΠΊΡΠΈΠΉ, ΡΠ°ΠΊΠΈΡ
ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ° Π² ΡΠ΅ΡΠΈ ΠΈΠ»ΠΈ Wi-Fi, Π° ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠ°ΠΉΠΌΠ΅ΡΡ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π² ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Π±ΡΠ΄ΡΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Ρ ΡΠ°ΠΉΠΌΠ΅ΡΡ ΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ ΠΏΠΎ ΡΠ°ΠΉΠΌΠ΅ΡΡ Π² MicroPython. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ°ΠΉΠΌΠ΅ΡΡ, Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ Π² ESP8266 ΠΈ ESP32. ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΡΡΠ΅ΡΠΏΠΎΠΌΡΠ½ΡΡΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΈΠΊΠ΅ΡΠ° ESP8266.
Π€ΡΠ½ΠΊΡΠΈΠΈ MicroPython, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ ΡΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ
MicroPython ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΌΠΎΠ΄ΡΠ»Ρ time Π΄Π»Ρ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
Π·Π°Π΄Π΅ΡΠΆΠ΅ΠΊ, ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»ΠΎΠ² ΠΈ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ Π΄Π°ΡΡ ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΡΠΎΡ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΠΎΠ΄Π½ΠΎΠΈΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ CPython. Π€ΡΠ½ΠΊΡΠΈΠΈ MicroPython, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ ΡΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ, ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡ ΡΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΌΠΈ ΠΏΠΎΡΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠΏΠΎΡ
Ρ 2000-01-01 00:00:00 UTC Π²ΠΌΠ΅ΡΡΠΎ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΉ ΡΠΏΠΎΡ
ΠΈ POSIX 1970-01-01 00:00:00 UTC. ΠΠ°ΠΆΠ½ΠΎ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΠΈ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°Π»Π΅Π½Π΄Π°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΠ‘ ΠΈΠ»ΠΈ RTOS, ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ
Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠΌ ΠΏΠΎΡΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² Raspberry Pico. ΠΡΡΡΠΎΠ΅Π½Π½ΡΠΉ RTC ΠΌΠΎΠΆΠ΅Ρ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΡΠΈΠΌ Π² ΡΠ»ΡΡΠ°Π΅ ΠΏΠΎΡΡΠΎΠ² ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°. Π‘Π²ΡΠ·Π°Π½Π½ΡΠ΅ ΡΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ MicroPython Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°ΡΡ Ρ ΠΠ‘/RTOS ΠΈΠ»ΠΈ RTC ΡΠΎΡ
ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΡ Π΄Π°ΡΡ ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π²ΡΡΡΠ½ΡΡ ΡΠ΅ΡΠ΅Π· ΡΠ΅ΡΠ΅Π²ΠΎΠΉ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» ΠΈΠ»ΠΈ ΡΠ΅Π·Π΅ΡΠ²Π½ΡΡ Π±Π°ΡΠ°ΡΠ΅Ρ.
ΠΠΎΠ΄ΡΠ»Ρ time ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, Π΄Π°ΡΡ ΠΈ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ.
time.sleep(seconds) : ΠΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π·Π°Π΄Π΅ΡΠΆΠΊΡ Π² ΡΠ΅ΠΊΡΠ½Π΄Π°Ρ . ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΡΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π²ΡΠ΅ΠΌΡ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ Π² Π²ΠΈΠ΄Π΅ ΡΠΈΡΠ»Π° Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ Π·Π°ΠΏΡΡΠΎΠΉ. ΠΠΎΡΠ»Π΅ Π²ΡΠ·ΠΎΠ²Π° ΠΌΠ΅ΡΠΎΠ΄Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ΅ΠΊΡΠ½Π΄.
time.sleep_ms(ms) : ΠΡΠΎ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΌΠ΅ΡΠΎΠ΄ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΠΈΠΉ Π·Π°Π΄Π΅ΡΠΆΠΊΡ Π² ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄Π°Ρ
. ΠΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ time.sleep() ΡΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ ΡΠΎΡΠ΅Π½. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΡΡΠΎΠΌΡ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π½ΠΎ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΠΈΠ»ΠΈ Π½ΠΎΠ»Ρ. ΠΡΠ»ΠΈ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΠΏΠΎ ΡΠ°ΠΉΠΌΠ΅ΡΡ, Π·Π°Π΄Π΅ΡΠΆΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡΡΡ Π΄ΠΎ ΡΠ΅Ρ
ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π½Π΅ Π·Π°Π²Π΅ΡΡΠΈΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ. ΠΡΠ»ΠΈ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ 0, Π·Π°Π΄Π΅ΡΠΆΠΊΠ° Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π½Π° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, Π·Π°ΡΡΠ°ΡΠ΅Π½Π½ΠΎΠΌΡ Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ.
time.sleep_us(us) : ΠΡΠΎ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΌΠ΅ΡΠΎΠ΄ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΠΈΠΉ Π·Π°Π΄Π΅ΡΠΆΠΊΡ Π² ΠΌΠΈΠΊΡΠΎΡΠ΅ΠΊΡΠ½Π΄Π°Ρ . Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π½ΠΎ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΠΈΠ»ΠΈ Π½ΠΎΠ»Ρ. ΠΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΠΏΠΎ ΡΠ°ΠΉΠΌΠ΅ΡΡ, Π·Π°Π΄Π΅ΡΠΆΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡΡΡ Π΄ΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ. ΠΡΠ»ΠΈ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ 0, Π·Π°Π΄Π΅ΡΠΆΠΊΠ° Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π½Π° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, Π·Π°ΡΡΠ°ΡΠ΅Π½Π½ΠΎΠΌΡ Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ.
time.ticks_ms() : ΠΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄, ΠΏΡΠΎΡΠ΅Π΄ΡΠΈΡ
ΠΏΠΎΡΠ»Π΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠΉ ΡΡΡΠ»ΠΊΠΈ. ΠΡΠΎ ΡΠ΅ΠΌ-ΡΠΎ ΠΏΠΎΡ
ΠΎΠΆΠ΅ Π½Π° ΡΡΠ½ΠΊΡΠΈΡ millis() Π² Arduino. Π₯ΠΎΡΡ ΡΡΠ½ΠΊΡΠΈΡ millis() Π² Arduino Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π» Π² ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄Π°Ρ
Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΏΠ»Π°ΡΡ Arduino, time. ticks_ms() ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π΄Π»Ρ ΡΠΏΡΠ°Π²ΠΊΠΈ. ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ΅ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°, Π²ΡΠ΅Π³Π΄Π° Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ Π² ΡΡΠ΅ΠΏΠ΅Π½ΠΈ 2, ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠ½ΠΎ ΠΎΡΡΠ°Π΅ΡΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΌ Π²ΠΎ Π²ΡΠ΅ΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ MicroPython Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΠΏΠΎΡΡΠ°. ΠΠ½ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ TICKS_PERIOD, ΡΡΠΎ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡΡ Π±ΠΎΠ»ΡΡΠ΅, ΡΠ΅ΠΌ TICKS_MAX. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π²ΡΠ·ΠΎΠ² ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΡΠ΅Π³Π΄Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π½Π΅ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ 0 Π΄ΠΎ TICKS_MAX Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ, ΡΡΠΎ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄Ρ Π² ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅, ΠΏΡΠΎΡΠ΅Π΄ΡΠΈΠ΅ Π΄Π°Π»Π΅Π΅ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΠ°ΠΆΠ½ΠΎ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ, Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ Arduino, ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΠΈΠ»ΠΈ ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ Π»ΠΈΠ±ΠΎ Π½Π°ΠΏΡΡΠΌΡΡ, Π»ΠΈΠ±ΠΎ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² Π΄Π»Ρ ticks_diff() ΠΈΠ»ΠΈ ticks_add() ΠΌΠ΅ΡΠΎΠ΄Ρ Π΄Π»Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΡ
ΡΡΠΈΠΌ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ, ΠΈΠ»ΠΈ ΠΎΡΠΌΠ΅ΡΠΊΠ°, ΠΊΠ°ΠΊ ΡΠΏΠΎΠΌΡΠ½ΡΡΡΠ΅ Π²ΡΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ, Π½Π΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½Ρ. Π’Π°ΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠ΅ (Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ IDE) ΠΈΠ»ΠΈ ΠΎΡΠΈΠ±ΠΎΡΠ½ΡΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°ΠΌ.
time.ticks_us() : ΠΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ΅Π½ time. ticks_ms() , Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΎΠ½ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π²ΡΠ΅ΠΌΡ Π² ΠΌΠΈΠΊΡΠΎΡΠ΅ΠΊΡΠ½Π΄Π°Ρ
ΠΈΠ· ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
time.ticks_cpu() : ΡΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ΅Π½ time.ticks_ms() ΠΈ time.ticks_us() , Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΎΠ½ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ°ΠΊΡΡ Π¦Π, ΠΏΡΠΎΠΉΠ΄Π΅Π½Π½ΡΠ΅ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΠ½ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅. ΠΠΌΠ΅ΡΡΠΎ ΡΠ°ΠΊΡΠΎΠ² Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎΡΡΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½Π° Π΄ΡΡΠ³Π°Ρ Π΅Π΄ΠΈΠ½ΠΈΡΠ° Ρ ΡΠ°ΠΌΡΠΌ Π²ΡΡΠΎΠΊΠΈΠΌ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅ΠΌΠ°Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΌ ΡΠ°ΠΉΠΌΠ΅ΡΠΎΠΌ. Π‘Π»Π΅Π΄ΡΠ΅Ρ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΡΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π½Π΅ Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΏΠΎΡΡΠΎΠ² MicroPython. ΠΠΎΡΡΠΎΠΌΡ ΠΏΠ΅ΡΠ΅Π΄ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΡΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° Π² ΡΠΊΡΠΈΠΏΡΠ΅ MicroPython Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΏΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΌΡ ΠΏΠΎΡΡΡ.
time.ticks_add(ticks, delta) : ΠΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ Π²ΡΡΠΈΡΠ»ΡΠ΅Ρ ΠΊΡΠ°ΠΉΠ½ΠΈΠ΅ ΡΡΠΎΠΊΠΈ Π΄Π»Ρ ΡΠΎΠ±ΡΡΠΈΠΉ ΠΈ Π·Π°Π΄Π°Ρ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°. Π Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΎΠ½ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΡΠ°ΠΉΠ½ΠΈΠΉ ΡΡΠΎΠΊ Π² ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄Π°Ρ
, ΠΌΠΈΠΊΡΠΎΡΠ΅ΠΊΡΠ½Π΄Π°Ρ
ΠΈΠ»ΠΈ ΡΠΈΠΊΠ»Π΅ Π¦Π .ticks_ms() , time.ticks_us() ΠΈΠ»ΠΈ time.ticks_cpu() ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΡΠΈΠΊΠΎΠ² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ. ΠΡΠ³ΡΠΌΠ΅Π½Ρ Π΄Π΅Π»ΡΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ΅Π»ΡΠΌ ΠΈΠ»ΠΈ ΡΠΈΡΠ»ΠΎΠ²ΡΠΌ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠΌ. ΠΠ½ ΡΠ°Π²Π΅Π½ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Ρ ΡΠΈΠΊΠΎΠ², Π³Π΄Π΅ ΡΠΈΠΊΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄Π°ΠΌΠΈ, ΠΌΠΈΠΊΡΠΎΡΠ΅ΠΊΡΠ½Π΄Π°ΠΌΠΈ ΠΈΠ»ΠΈ ΡΠΈΠΊΠ»Π°ΠΌΠΈ Π¦Π, ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΌΠΈ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΊΡΠ°ΠΉΠ½Π΅Π³ΠΎ ΡΡΠΎΠΊΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΡΠ°ΠΉΠ½ΠΈΠΉ ΡΡΠΎΠΊ 200 ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄.
ΠΊΡΠ°ΠΉΠ½ΠΈΠΉ ΡΡΠΎΠΊ = ticks_add(time.ticks_ms(), 200)
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΡΠ°ΠΉΠ½ΠΈΠΉ ΡΡΠΎΠΊ 100 ΠΌΠΈΠΊΡΠΎΡΠ΅ΠΊΡΠ½Π΄.
ΠΊΡΠ°ΠΉΠ½ΠΈΠΉ ΡΡΠΎΠΊ = ticks_add(time.ticks_us(), 100)
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΡΠ°ΠΉΠ½ΠΈΠΉ ΡΡΠΎΠΊ Π² 20 ΡΠΈΠΊΠ»ΠΎΠ² Π¦Π.
ΠΊΡΠ°ΠΉΠ½ΠΈΠΉ ΡΡΠΎΠΊ = ticks_add(time.ticks_cpu(), 20)
time.ticks_diff(ticks1, ticks2) : ΡΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ°Π·Π½ΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΡΠΈΠΊΠ°ΠΌΠΈ. Π Π°Π·Π½ΠΈΡΠ° Π² ΡΠΈΠΊΠ°Ρ
ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π² ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄Π°Ρ
, ΠΌΠΈΠΊΡΠΎΡΠ΅ΠΊΡΠ½Π΄Π°Ρ
ΠΈΠ»ΠΈ ΡΠΈΠΊΠ»Π°Ρ
Π¦Π Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ 9Π€ΡΠ½ΠΊΡΠΈΠΈ 0275 time.ticks_ms() , time.ticks_us() ΠΈΠ»ΠΈ time.ticks_cpu() ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠΈΠΊΠΎΠ² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ. ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ β ticks1-ticks2, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π²Π°ΡΡΠΈΡΠΎΠ²Π°ΡΡΡΡ ΠΎΡ -TICKS_PERIOD/2 Π΄ΠΎ TICKS_PERIOD/2 β 1. Π€ΡΠ½ΠΊΡΠΈΡ time.ticks_diff() ΠΏΠΎΠ»Π΅Π·Π½Π° ΠΏΡΠΈ ΠΎΠΏΡΠΎΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ, ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ ΠΈΠ»ΠΈ ΡΠ°ΡΡΠ΅ΡΠ΅ ΠΊΡΠ°ΠΉΠ½Π΅Π³ΠΎ ΡΡΠΎΠΊΠ°.
time.time() : ΠΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ΅ΠΊΡΠ½Π΄ Ρ Π½Π°ΡΠ°Π»Π° ΡΠΏΠΎΡ ΠΈ ΠΏΡΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠΈ, ΡΡΠΎ RTC Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ° ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ. ΠΠΏΠΎΡ Π° ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠ° ΡΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ, Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π²ΡΠ΅ΠΌΡ β ΡΡΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ΅ΠΊΡΠ½Π΄, ΠΏΡΠΎΡΠ΅Π΄ΡΠΈΡ Ρ 01 ΡΠ½Π²Π°ΡΡ 2000 Π³. Π² 00:00:00 UTC. ΠΠΏΠΎΡ Π° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΡΡΠ»ΠΊΠΎΠΉ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΈΠ»ΠΈ ΡΠ±ΡΠΎΡΠ° Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎΡΡΠ°Ρ .
time.time_ns() : ΠΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΌΠΈΠΊΡΠΎΡΠ΅ΠΊΡΠ½Π΄ Ρ Π½Π°ΡΠ°Π»Π° ΡΠΏΠΎΡ ΠΈ. ΠΡΠΎ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ ΡΡΠΈΠΌ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ, ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅Π»ΡΠΌ ΡΠΈΡΠ»ΠΎΠΌ.
time.mktime() : ΠΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ΅ΠΊΡΠ½Π΄, ΠΏΡΠΎΡΠ΅Π΄ΡΠΈΡ
ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΏΠΎΡ
ΠΎΠΉ (Ρ. Π΅. 01.01.2000 00:00:00 UTC) ΠΈ ΠΌΠ΅ΡΡΠ½ΡΠΌ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ, ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΠΌ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°. ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΏΠΎΠ»Π½ΡΠΉ 8-ΠΊΠΎΡΡΠ΅ΠΆ ΠΊΠ°ΠΊ ΠΌΠ΅ΡΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ, Π³Π΄Π΅ ΠΊΠΎΡΡΠ΅ΠΆ ΠΈΠΌΠ΅Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΎΡΠΌΠ°Ρ β (Π³ΠΎΠ΄, ΠΌΠ΅ΡΡΡ, Π΄Π΅Π½Ρ, ΡΠ°Ρ, ΠΌΠΈΠ½ΡΡΠ°, ΡΠ΅ΠΊΡΠ½Π΄Π°, Π΄Π΅Π½Ρ Π½Π΅Π΄Π΅Π»ΠΈ, Π΄Π΅Π½Ρ Π³ΠΎΠ΄Π°), Π³Π΄Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊΠΎΡΡΠ΅ΠΆΠ° Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅.
ΠΠΎΠ΄ | Π³ΠΎΠ΄ |
ΠΌΠ΅ΡΡΡ | 1~12 |
ΠΌΠ΄Π΅Π½Ρ | 1~31 |
ΡΠ°Ρ | 0~23 |
ΠΌΠΈΠ½ΡΡΠ° | 0~59 |
Π²ΡΠΎΡΠΎΠΉ | 0~59 |
ΡΠ°Π±ΠΎΡΠΈΠΉ Π΄Π΅Π½Ρ | 0~6 Π΄Π»Ρ ΠΠ½~ΠΡ |
Π³ΠΎΠ΄Π΄Π΅Π½Ρ | 1~366 |
Β
time.gmtime([secs]) : ΠΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π΄Π°ΡΡ-Π²ΡΠ΅ΠΌΡ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ UTC, Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΡΠ΅ΠΊΡΠ½Π΄, ΡΠΊΠ°Π·Π°Π½Π½ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°. ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΊΠΎΡΡΠ΅ΠΆ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ (Π³ΠΎΠ΄, ΠΌΠ΅ΡΡΡ, mday, ΡΠ°Ρ, ΠΌΠΈΠ½ΡΡΠ°, ΡΠ΅ΠΊΡΠ½Π΄Π°, Π΄Π΅Π½Ρ Π½Π΅Π΄Π΅Π»ΠΈ, Π΄Π΅Π½Ρ Π³ΠΎΠ΄Π°).
time.localtime([secs]) : ΠΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π΄Π°ΡΡ-Π²ΡΠ΅ΠΌΡ ΠΏΠΎ ΠΌΠ΅ΡΡΠ½ΠΎΠΌΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΡΠΊΠ°Π·Π°Π½Ρ ΡΠ΅ΠΊΡΠ½Π΄Ρ. ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΊΠΎΡΡΠ΅ΠΆ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ (Π³ΠΎΠ΄, ΠΌΠ΅ΡΡΡ, mday, ΡΠ°Ρ, ΠΌΠΈΠ½ΡΡΠ°, ΡΠ΅ΠΊΡΠ½Π΄Π°, Π΄Π΅Π½Ρ Π½Π΅Π΄Π΅Π»ΠΈ, Π΄Π΅Π½Ρ Π³ΠΎΠ΄Π°). ΠΠ΅ΡΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΠΠ‘/RTOS ΠΈΠ»ΠΈ RTC.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΉ ΡΠΈΠΊΠ°Π½ΠΈΡ
Π€ΡΠ½ΠΊΡΠΈΠΈ ΡΠΈΠΊΠ°Π½ΠΈΡ ΡΠ΄ΠΎΠ±Π½Ρ, ΠΊΠΎΠ³Π΄Π° Π² ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ MicroPython ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠΎΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ. Π€ΡΠ½ΠΊΡΠΈΠΈ Π³Π°Π»ΠΎΡΠΊΠΈ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠ΄ΡΡΠΈΡΡΠ²Π°ΡΡ Π²ΡΠ΅ΠΌΡ, Π·Π°ΡΡΠ°ΡΠΈΠ²Π°Π΅ΠΌΠΎΠ΅ Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ, ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΠΊΡΠ°ΠΉΠ½ΠΈΠΉ ΡΡΠΎΠΊ Π΄Π»Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ, ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΡΠ°ΠΉΠΌ-Π°ΡΡΡ ΠΈ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ.
ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ°ΡΡΠ΅ΡΠ° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, Π·Π°ΡΡΠ°ΡΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠ°ΡΡΠΈ ΡΠΊΡΠΈΠΏΡΠ° MicroPython.
Π²ΡΠ΅ΠΌΡ ΠΈΠΌΠΏΠΎΡΡΠ°
Π½Π°ΡΠ°Π»ΠΎ = time.ticks_us()
β¦ # ΠΠΏΠ΅ΡΠ°ΡΠΎΡΡ MicroPython Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ
print(time.ticks_diff(time.ticks_us(), start))
ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ Π½Π°Ρ
ΠΎΠΆΠ΄Π΅Π½ΠΈΡ TICKS_MAX Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ°.
print(ticks_add(0, -1))
ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΊΡΠ°ΠΉΠ½Π΅Π³ΠΎ ΡΡΠΎΠΊΠ° Π΄Π»Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ.
ΠΊΡΠ°ΠΉΠ½ΠΈΠΉ ΡΡΠΎΠΊ = ticks_add(time.ticks_ms(), 200)
Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ ticks_diff(ΠΊΡΠ°ΠΉΠ½ΠΈΠΉ ΡΡΠΎΠΊ, time. ticks_ms()) > 0:
do_a_little_of_something()
ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΎΠΏΡΠΎΡΠ° ΡΠΎΠ±ΡΡΠΈΡ Ρ ΡΠ°ΠΉΠΌ-Π°ΡΡΠΎΠΌ.
start = time.ticks_us()
while pin.value() == 0:
if time.ticks_diff(time.ticks_us(), start) > 500:
ΠΏΠΎΠ΄Π½ΡΡΡ TimeoutError
Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ
Π·Π°Π΄Π°Ρ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠΈΠΊΠ°ΡΡΠΈΡ
ΡΡΠ½ΠΊΡΠΈΠΉ.
ΡΠ΅ΠΉΡΠ°Ρ = time.ticks_ms()
schedule_time = task.scheduled_time()
if ticks_diff(scheduled_time, now) == 0:
print(«ΠΏΠΎΡΠ° Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π·Π°Π΄Π°ΡΡ!»)
task.run()
ΠΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠΌΠΈ ΡΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ
Π€ΡΠ½ΠΊΡΠΈΠΈ ΡΠΈΠΊΠ°Π½ΠΈΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠΎΡΠ½Ρ. Π€ΡΠ½ΠΊΡΠΈΠΈ ΡΠΈΠΊΠ°Π½ΡΡ ΠΏΠΎΠ»Π΅Π·Π½Ρ ΠΏΡΠΈ ΡΠ°ΡΡΠ΅ΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»ΠΎΠ², ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ ΡΠ°ΠΉΠΌ-Π°ΡΡΠΎΠ² Π΄Π»Ρ ΡΠΎΠ±ΡΡΠΈΠΉ ΠΈ Π΄Π°ΠΆΠ΅ ΠΏΡΠΈ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π·Π°Π΄Π°Ρ. ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ ΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π΅ Π±Π»ΠΎΠΊΠΈΡΡΡΡ, ΠΎΠ½ΠΈ Π½Π΅ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π΅ΡΠΆΠ΅ΠΊ ΠΈΠ»ΠΈ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π·Π°Π΄Π°Ρ. ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½ΠΎΠΉ ΡΡΠΎΠ³ΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΎΡ ΠΠ‘/RTOS ΠΈΠ»ΠΈ RTC. ΠΠΎ-Π²ΡΠΎΡΡΡ
, ΡΡΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΡΠ΅ΡΠ²Π°Π½Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ½ΡΠΌΠΈ ΡΠΎΠ±ΡΡΠΈΡΠΌΠΈ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°.
Π‘ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ Π·Π°Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ time, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ time.sleep(), time.sleep_ms() ΠΈ time.sleep_us(), ΠΈΠΌΠ΅ΡΡ Π΄Π²Π΅ Π·Π°ΡΠ»ΡΠΆΠΈΠ²Π°ΡΡΠΈΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , ΡΡΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ Π½ΠΎΡΡΡ Π±Π»ΠΎΠΊΠΈΡΡΡΡΠΈΠΉ Ρ Π°ΡΠ°ΠΊΡΠ΅Ρ ΠΈ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΡΠΊΡΠΈΠΏΡ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅. ΠΠΎ-Π²ΡΠΎΡΡΡ , ΡΡΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ Π½Π΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ ΡΠΎΡΠ½ΠΎΠΉ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π°Π΄Π΅ΡΠΆΠΊΠ° Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΊΡΠ½Π΄ ΠΎΡ ΠΌΠ΅ΡΠΎΠ΄Π° time.sleep() ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΎΡΠΈΠ±ΠΊΠ΅ Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄. ΠΡΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΌΠΎΠ³ΡΡ Π΄ΠΎΡΡΠΈΠ³Π°ΡΡ 1 ΠΈΠ»ΠΈ 2 ΠΏΡΠΎΡΠ΅Π½ΡΠΎΠ².
Π ΡΠ°ΠΊΠΈΡ
ΡΠΈΡΡΠ°ΡΠΈΡΡ
Π½Π° ΠΊΡΡΠΎΡΡ ΠΏΡΠΈΠ΅Π·ΠΆΠ°ΡΡ ΡΠ°ΠΉΠΌΠ΅ΡΡ. Π£ ΡΠ°ΠΉΠΌΠ΅ΡΠΎΠ² Π΅ΡΡΡ ΡΠ²ΠΎΠΈ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ Ρ Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΠΈΠΌ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΡΡΠΎ Π½Π΅Π»ΡΠ·Ρ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ, ΠΊΡΠΎΠΌΠ΅ ΠΊΠ°ΠΊ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ±ΡΠΎΡΠ°. ΠΡ
ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π±Π°Π·ΠΎΠ²ΠΎΠ΅ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅, Ρ. Π΅. ΡΠ΅Π³ΠΈΡΡΡΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ°, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΌΠ΅ΡΡΠ° Π΄Π»Ρ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΎΡΠΈΠ±ΠΊΠΈ. ΠΠ»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠ°ΠΉΠΌ-Π°ΡΡΠΎΠ² ΠΈΠ»ΠΈ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΡΠΈΡΠΈΡΠ½ΡΡ
ΠΊΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ
Π·Π°Π΄Π°Ρ Π»ΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΡΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΠΏΠΎ ΡΠ°ΠΉΠΌΠ΅ΡΡ. Π ΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π³Π°Π»ΠΎΡΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΊΡΠ°ΠΉΠ½ΠΈΡ
ΡΡΠΎΠΊΠΎΠ² ΠΈΠ»ΠΈ ΡΠ°ΡΡΠ΅ΡΠ° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, Π·Π°ΡΡΠ°ΡΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΡ
ΡΠ°ΡΡΠ΅ΠΉ ΡΠΊΡΠΈΠΏΡΠ° MicroPython.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠ°ΠΉΠΌΠ΅Ρ?
ΠΠ°ΠΆΠ΄ΡΠΉ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΠΈΠΌΠ΅Π΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ. Π’Π°ΠΉΠΌΠ΅Ρ/ΡΡΠ΅ΡΡΠΈΠΊ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π²Π°ΠΆΠ½ΡΡ
Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ
ΠΏΠ΅ΡΠΈΡΠ΅ΡΠΈΠΉΠ½ΡΡ
ΡΡΡΡΠΎΠΉΡΡΠ², ΠΏΡΠΈΡΡΡΡΡΠ²ΡΡΡΠΈΡ
ΠΏΠΎΡΡΠΈ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ΅. Π’Π°ΠΉΠΌΠ΅Ρ/ΡΡΠ΅ΡΡΠΈΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΡΠΎΠ±ΡΡΠΈΠΉ ΠΈΠ»ΠΈ ΡΠ°Π±ΠΎΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΡΠ΅ΡΡΠΈΠΊΠ°. Π’Π°ΠΉΠΌΠ΅Ρ ΡΠ²ΡΠ·Π°Π½ Ρ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΌΠΈ ΡΠ°ΡΠ°ΠΌΠΈ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π΅ΠΌΡ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ Π²ΡΠ΅ΠΌΡ Ρ Π²ΡΡΠΎΠΊΠΎΠΉ ΡΠΎΡΠ½ΠΎΡΡΡΡ. Π ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΉΠΌΠ΅ΡΠΎΠ². ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ°ΠΉΠΌΠ΅Ρ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΡΡΡ, ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΡΡΡ ΠΈ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π½Π°Π±ΠΎΡΠΎΠΌ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΡ
ΡΠ΅Π³ΠΈΡΡΡΠΎΠ².
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎ ΡΠ°ΠΉΠΌΠ΅ΡΡ?
ΠΠ΄Π½ΠΎΠΉ ΠΈΠ· Π²Π°ΠΆΠ½ΡΡ
ΡΡΠ½ΠΊΡΠΈΠΉ ΡΠ°ΠΉΠΌΠ΅ΡΠΎΠ² ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ ΡΠΎΠ±ΡΡΠΈΠΉ. ΠΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ ΠΏΠΎ ΡΠ°ΠΉΠΌΠ΅ΡΡ. Π‘ΠΎΠ±ΡΡΠΈΠ΅ β ΡΡΠΎ Π½Π΅ ΡΡΠΎ ΠΈΠ½ΠΎΠ΅, ΠΊΠ°ΠΊ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° ΠΊΠΎΠ΄Π° Π² ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ΅. ΠΡΠΎΡ ΠΊΠΎΠ΄ΠΎΠ²ΡΠΉ Π±Π»ΠΎΠΊ Π²ΠΊΠ»ΡΡΠ΅Π½ Π² ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ (ISR) . ISR Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ, ΠΊΠΎΠ³Π΄Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅.
ΠΠ±ΡΡΠ½ΠΎ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ. ΠΠΎΠ³Π΄Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅, ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΠΏΡΠΎΠΏΡΡΠΊΠ°Π΅Ρ ΡΠ΅ΠΊΡΡΠ΅Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° ΠΈ ΡΠ½Π°ΡΠ°Π»Π° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ISR. ΠΠΎΡΠ»Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ISR Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΡΡΡ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°.
ΠΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ° ΠΈΠ½ΠΈΡΠΈΠΈΡΡΡΡΡΡ, ΠΊΠΎΠ³Π΄Π° ΡΠ°ΠΉΠΌΠ΅Ρ Π΄ΠΎΡΡΠΈΠ³Π°Π΅Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΡΠ΅ΡΡΠΈΠΊΠ°. Π Π΅Π³ΠΈΡΡΡ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ ΡΡΠ΅ΡΡΠΈΠΊ ΡΠ°ΠΉΠΌΠ΅ΡΠ°, ΡΠ°ΡΡΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠΉ ΡΠ΅Π³ΠΈΡΡΡΠΎΠΌ ΡΠ°ΠΉΠΌΠ΅ΡΠ°. ΠΡΡΡ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΠ΅Π³ΠΈΡΡΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΡΠ΅ΡΡΠΈΠΊ ΡΡΡΠ»ΠΎΠΊ. ΠΡΠΎ ΡΠ°ΡΡΠΎ Π½Π°Π·ΡΠ²Π°ΡΡ ΡΠ΅Π³ΠΈΡΡΡΠΎΠΌ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΠΈ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ. ΠΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ², ΡΠ²ΡΠ·Π°Π½Π½ΡΡ
Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΉ ΡΠ°ΠΉΠΌΠ΅ΡΠ°. ΠΡΡΡ ΡΠ΅Π³ΠΈΡΡΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Ρ
ΡΠ°Π½ΡΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
ΠΌΠ°ΡΠΎΠΊ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ. ΠΡΡΠΊΠΈΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎ ΡΠ°ΠΉΠΌΠ΅ΡΡ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ Π±ΠΈΡ ΠΌΠ°ΡΠΊΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠ΅Π³ΠΈΡΡΡΠ΅ ΠΌΠ°ΡΠΊΠΈ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ. ΠΡΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ Π±ΠΈΡ ΠΌΠ°ΡΠΊΠΈ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ, ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎ ΡΠ°ΠΉΠΌΠ΅ΡΡ. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ Π·Π°Π΄Π΅ΡΠΆΠΊΡ, ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ°ΠΉΠΌ-Π°ΡΡ ΠΈΠ»ΠΈ Π·Π°ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°ΡΡ Π·Π°Π΄Π°ΡΠΈ Π² ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ.
ΠΠ»Π°ΡΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ° MicroPython
MicroPython ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΊΠ»Π°ΡΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ° Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠ°ΠΉΠΌΠ΅ΡΠΎΠ² ΠΈ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ ΠΎΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΡ
ΠΏΠΎΡΡΠΎΠ². ΠΠ»Π°ΡΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΡΡΡΡ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ. ΠΠ½ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΡΡΡ Π² ΡΡΠ΅Π½Π°ΡΠΈΠΉ MicroPython Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°.
ΠΈΠ· ΡΠ°ΠΉΠΌΠ΅ΡΠ° ΠΈΠΌΠΏΠΎΡΡΠ° ΠΌΠ°ΡΠΈΠ½Ρ
Π ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ ΠΏΠΎΡΡ WiPy, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ.
ΠΈΠ· ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΠΈΠΌΠΏΠΎΡΡΠ° TimerWiPy
ΠΠ°ΠΆΠ½ΠΎ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ Π΅ΡΠ»ΠΈ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ, MicroPython Π½Π΅ ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΎΡΡΠ΅Ρ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅, Π΅ΡΠ»ΠΈ Π΄Π»Ρ Π½Π΅Π³ΠΎ Π½Π΅ ΡΠΎΠ·Π΄Π°Π½ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ Π±ΡΡΠ΅Ρ. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π±ΡΡΠ΅Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠΎΠ·Π΄Π°Π½ Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ° ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π² ΡΠΊΡΠΈΠΏΡΠ΅ MicroPython. ΠΡΡΠ΅Ρ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ
ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ².
import micropython
micropython. alloc_emergency_exception_buf(100)
ΠΠ°ΠΆΠ½ΠΎ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ Π·Π΄Π΅ΡΡ Π±ΡΡΠ΅Ρ Ρ ΡΠ°Π½ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΡ ΡΡΠ΅ΠΊΠ° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ. ΠΡΠ»ΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ ΠΊΡΡΠΈ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΡΡΡ Π²ΡΠΎΡΠΎΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΠ° ΡΡΠ΅ΠΊΠ° Π²ΡΠΎΡΠΎΠ³ΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π·Π°ΠΌΠ΅Π½ΡΠ΅Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΡ.
ΠΠΎΡΠ»Π΅ ΠΈΠΌΠΏΠΎΡΡΠ° ΠΊΠ»Π°ΡΡΠ° ΡΠ°ΠΉΠΌΠ΅ΡΠ° Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ°. ΠΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ ΠΏΡΡΠ΅ΠΌ Π²ΡΠ·ΠΎΠ²Π° ΠΌΠ΅ΡΠΎΠ΄Π° ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ°. ΠΠ΅ΡΠΎΠ΄ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ° ΠΈΠΌΠ΅Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΡΠΎΡΠΎΡΠΈΠΏ.
class machine.Timer(id, /, β¦)
ΠΠ΅ΡΠΎΠ΄ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ° ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ° Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ 0, 1, 2 ΠΈ Ρ. Π΄. Π΄Π»Ρ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠΌΠ΅ΡΠ° ΠΈΠ»ΠΈ -1 Π΄Π»Ρ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠΌΠ΅ΡΠ°, Π΅ΡΠ»ΠΈ ΠΏΠΎΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΡΠΎ. ΠΡΡΠ³ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ Π² Π²ΡΠ·ΠΎΠ²Π΅ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ°. Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ° ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²Π½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° timer.init() . ΠΠ΅ΡΠΎΠ΄ timer.init() ΠΈΠΌΠ΅Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΡΠΎΡΠΎΡΠΈΠΏ.
Timer.init(*, mode=Timer.PERIODIC, period=- 1, callback=None)
ΠΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ΅ΠΆΠΈΠΌ timer. ONE_SHOT ΠΈΠ»ΠΈ Timer.PERIODIC. ΠΡΠ»ΠΈ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ timer.ONE_SHOT, ΡΠ°ΠΉΠΌΠ΅Ρ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·, ΠΏΠΎΠΊΠ° Π½Π΅ ΠΏΡΠΎΠΉΠ΄Π΅Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΠΏΠ΅ΡΠΈΠΎΠ΄ Π² ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄Π°Ρ
. ΠΡΠ»ΠΈ Π·Π°Π΄Π°Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ timer.PERIODIC, ΡΠ°ΠΉΠΌΠ΅Ρ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΈ Ρ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»ΠΎΠΌ Π² ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄Π°Ρ
, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΠΏΠ΅ΡΠΈΠΎΠ΄ . ΠΡΠ³ΡΠΌΠ΅Π½Ρ ΠΏΠ΅ΡΠΈΠΎΠ΄ β ΡΡΠΎ ΠΏΠ΅ΡΠΈΠΎΠ΄ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π² ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄Π°Ρ
, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ°ΠΉΠΌ-Π°ΡΡΠ° Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠΊΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π°, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ°. 9ΠΠ±ΡΠ°ΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ² 0275 β ΡΡΠΎ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΠΏΠΎ ΠΈΡΡΠ΅ΡΠ΅Π½ΠΈΠΈ ΠΏΠ΅ΡΠΈΠΎΠ΄Π° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΡΠΎΡΠ΅Π΄ΡΡΠ° ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΆΠ΅Π»Π°Π΅ΠΌΡΡ
Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ
Π·Π°Π΄Π°Ρ ΠΏΡΠΈ ΠΈΠ½ΠΈΡΠΈΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ°. ΠΡΠ·ΡΠ²Π°Π΅ΠΌΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ, ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°ΡΠΈΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΊΠ»Π°ΡΡΠ°.
ΠΠ»Π°ΡΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ°ΠΉΠΌΠ΅Ρ ΠΈ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ ΠΏΠ΅ΡΠΈΡΠ΅ΡΠΈΠΉΠ½ΠΎΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΡΠ°ΠΉΠΌΠ΅ΡΠ°. ΠΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ ΠΌΠ΅ΡΠΎΠ΄Π° timer.deinit(). ΠΡΠ·ΠΎΠ² ΡΡΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠ°ΠΉΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΠΎΠ½ Π·Π°ΠΏΡΡΠ΅Π½, Π΄Π΅ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ° ΠΈ ΠΎΡΠΊΠ»ΡΡΠ°Π΅Ρ ΠΏΠ΅ΡΠΈΡΠ΅ΡΠΈΠΉΠ½ΠΎΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΡΠ°ΠΉΠΌΠ΅ΡΠ°. ΠΠ½ ΠΈΠΌΠ΅Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΡΠΎΡΠΎΡΠΈΠΏ.
Timer.deinit()
ΠΡΠ»ΠΈ ΠΎΡΠΊΠ»ΡΡΠ΅Π½Π½ΡΠΉ ΡΠ°ΠΉΠΌΠ΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ½ΠΎΠ²Π° Π²ΠΊΠ»ΡΡΠΈΡΡ, Π² ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ½ΠΎΠ²Π° ΡΠΎΠ·Π΄Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ° Ρ ΡΠ΅ΠΌ ΠΆΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ.
ΠΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ MicroPython
Π€ΡΠ½ΠΊΡΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π°, ΡΠΊΠ°Π·Π°Π½Π½Π°Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΠΏΡΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈΠ»ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΡΠ°ΠΉΠΌΠ΅ΡΠ°, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ, ΠΊΠΎΠ³Π΄Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΠΌΠ΅ΡΠ°. ΠΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ, ΡΡΠΎ MicroPython Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΠΌΠ΅ΡΠΎΠ² Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ². ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ°, ΡΡΠΎΠ±Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ Π²ΡΠ΅ΠΌΡ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ Π² ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄Π°Ρ
. ΠΠ΅ΡΠΎΠ΄Ρ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΡΠ΅ΡΠ΅Π· ΠΌΠ°ΡΠΈΠ½Ρ. Π’Π°ΠΉΠΌΠ΅ΡΡ ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΡ ΠΊΠΎ Π²ΡΠ΅ΠΌ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠΌ ΠΏΠΎΡΡΠ°ΠΌ.
Π€ΡΠ½ΠΊΡΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° ΠΈΠ»ΠΈ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ Π΄Π»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΡΠ°ΠΉΠΌΠ΅ΡΠ° ΡΡΠ΅Π±ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ
ΠΌΠ΅Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠΎΡΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ, ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΡΠ±ΠΎΠ΅Π² Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. ΠΡ ΡΠΆΠ΅ ΠΎΠ±ΡΡΠΆΠ΄Π°Π»ΠΈ ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΡΠ°ΠΊΠΈΡ
ΠΏΡΠ΅Π΄ΠΎΡΡΠ΅ΡΠ΅ΠΆΠ΅Π½ΠΈΠΉ: ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π±ΡΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π΄Π»Ρ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ. ΠΠ±ΡΡΠ΄ΠΈΠΌ Π΅ΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΉ ΠΏΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ Π½Π° MicroPython.
Π’Π΅Π»ΠΎ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΠΊΠΎΡΠΎΡΠΊΠΈΠΌ ΠΈ ΠΏΡΠΎΡΡΡΠΌ. ΠΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Ρ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΡΠΈΡΠΈΡΠ½ΡΡ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ. ΠΠ΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π·Π»ΠΎΡΠΏΠΎΡΡΠ΅Π±Π»ΡΡΡ ΠΈΠΌΠΈ Π΄Π»Ρ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎΠ³ΠΎ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ Π·Π°Π΄Π°Ρ. ΠΡΠ»ΠΈ Π² ΡΡΠ΅Π½Π°ΡΠΈΠΈ MicroPython ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊΠΎΠ΅-Π»ΠΈΠ±ΠΎ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ Π·Π°Π΄Π°Ρ, ΡΡΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠΈΠΊΡΠΎΠΏΠΈΡΠΎΠ½.ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΠ΅ . Π ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ. ΠΠ·Π±Π΅Π³Π°ΠΉΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ Π·Π°ΠΏΡΡΠΎΠΉ, Π²ΡΡΠ°Π²ΠΊΠΈ ΠΈΡ Π² ΡΠ»ΠΎΠ²Π°ΡΠΈ ΠΈΠ»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² ΡΠΏΠΈΡΠΊΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ Π²Π½ΡΡΡΠΈ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ.
ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΏΠ»Π°ΡΡΠΎΡΠΌ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ² Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΠ΄Π½Π°ΠΊΠΎ MicroPython ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠ΅ΡΡΠ²Π°ΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΠΎΠ΄Π½ΠΎ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ. ISR ΠΌΠΎΠΆΠ΅Ρ Π²Π΅ΡΠ½ΡΡΡ ΠΎΠ΄Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΎΠ±Π½ΠΎΠ²ΠΈΠ² Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ. ΠΡΠ»ΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π²Π΅ΡΠ½ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² Π±Π°ΠΉΡΠΎΠ². ΠΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΌΠ°ΡΡΠΈΠ²Π° Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ, Π΅ΡΠ»ΠΈ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΡ
Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ. ΠΠ΄Π½Π°ΠΊΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρ ISR ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌ ΡΠΈΠΊΠ»ΠΎΠΌ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ·Π²Π°ΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π³ΠΎΠ½ΠΊΠΈ, ΠΊΠΎΠ³Π΄Π° ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠΈΠΊΠ» ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΈ Π³ΠΎΠ½ΠΊΠ° ISR ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ. ΠΠΎΡΡΠΎΠΌΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΡΠΈΡ
ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΡΠΈΠΊΠ»Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΎΡΠΎΠ±ΠΎΠΉ ΠΎΡΡΠΎΡΠΎΠΆΠ½ΠΎΡΡΠΈ. ΠΠ΅ΡΠ΅Π΄ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠ±ΡΠ΅ΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ/ΠΌΠ°ΡΡΠΈΠ²Π° Π±Π°ΠΉΡΠΎΠ²/ΠΌΠ°ΡΡΠΈΠ²Π° Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΡΠΈΠΊΠ»Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΎΡΠΊΠ»ΡΡΠ΅Π½Ρ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ ΠΠ΅ΡΠΎΠ΄ pyb.disable_irq() . ΠΠΎΡΠ»Π΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ/Π±Π°ΠΉΡΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°/ΠΌΠ°ΡΡΠΈΠ²Π° Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ Π²ΠΊΠ»ΡΡΠΈΡΡ, Π²ΡΠ·Π²Π°Π² ΠΌΠ΅ΡΠΎΠ΄ pyb.enable_irq() .
Π’Π°ΠΉΠΌΠ΅ΡΡ Π² ESP8266
Π ESP8266 Π΅ΡΡΡ Π΄Π²Π° ΡΠ°ΠΉΠΌΠ΅ΡΠ° β timer0 ΠΈ timer1. Timer0 ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π²ΡΡ
ΡΡΠ½ΠΊΡΠΈΠΉ. Timer1 Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² ESP8266, Π½ΠΎ MicroPython ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ°ΠΉΠΌΠ΅ΡΠ°ΠΌ ESP8266. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ESP8266 ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ API Π΄Π»Ρ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠΌΠ΅ΡΠ°. ΠΡΠΎΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠΉ ΡΠ°ΠΉΠΌΠ΅Ρ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ RTOS ΠΈΠΌΠ΅Π΅Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ -1. ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ° Π² ESP8266.
ΠΈΠ· ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΠΈΠΌΠΏΠΎΡΡΠ° Π’Π°ΠΉΠΌΠ΅Ρ
tim = Π’Π°ΠΉΠΌΠ΅Ρ(-1)
tim.init(ΠΏΠ΅ΡΠΈΠΎΠ΄=500, ΡΠ΅ΠΆΠΈΠΌ=Timer.ONE_SHOT, ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ²=Π»ΡΠΌΠ±Π΄Π° t:print(1))
tim.init( ΠΏΠ΅ΡΠΈΠΎΠ΄=200, ΡΠ΅ΠΆΠΈΠΌ=Timer.PERIODIC, callback=lambda t:print(2))
Π’Π°ΠΉΠΌΠ΅ΡΡ Π² ESP32
ESP32 ΠΈΠΌΠ΅Π΅Ρ ΡΠ΅ΡΡΡΠ΅ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΡ
ΡΠ°ΠΉΠΌΠ΅ΡΠ° Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ°ΠΌΠΈ ΠΎΡ 0 Π΄ΠΎ 3. ΠΡΠ΅ ΡΠ°ΠΉΠΌΠ΅ΡΡ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ ΡΠ°ΠΉΠΌΠ΅ΡΠ° Π² ESP32.
ΠΈΠ· ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΠΈΠΌΠΏΠΎΡΡΠ° Π’Π°ΠΉΠΌΠ΅Ρ
tim0 = Π’Π°ΠΉΠΌΠ΅Ρ(0)
tim0.init(ΠΏΠ΅ΡΠΈΠΎΠ΄=2000, ΡΠ΅ΠΆΠΈΠΌ=Timer.ONE_SHOT, ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ²=Π»ΡΠΌΠ±Π΄Π° t:print(0))
tim1 = Π’Π°ΠΉΠΌΠ΅Ρ(1)
tim1.init(ΠΏΠ΅ΡΠΈΠΎΠ΄=1000, ΡΠ΅ΠΆΠΈΠΌ=Π’Π°ΠΉΠΌΠ΅Ρ .PERIODIC, callback=lambda t:print(1))
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΠΌΠ΅ΡΠ° ESP8266 Π΄Π»Ρ ΡΠΈΠΊΠ΅ΡΠ° ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄ΠΎΠ²
Π’Π΅ΠΏΠ΅ΡΡ Π΄Π°Π²Π°ΠΉΡΠ΅ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ°ΠΌΠΈ MicroPython Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Π°.
ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ
- ESP8266/ESP32 x1
- 5 ΠΌΠΌ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄ x1
- Π Π΅Π·ΠΈΡΡΠΎΡ 330 ΠΠΌ x1
- ΠΠ°ΠΊΠ΅Ρ
- Π‘ΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΡΠΎΠ²ΠΎΠ΄Π°/ΠΏΠ΅ΡΠ΅ΠΌΡΡΠΊΠΈ
Π‘ΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΡΠ΅ΠΏΠΈ
ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΠ΅ Π°Π½ΠΎΠ΄ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Π° ΠΊ GPIO14 ESP8266 ΠΈΠ»ΠΈ ESP32. ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΠ΅ ΡΠ΅Π·ΠΈΡΡΠΎΡ 330 ΠΠΌ ΠΊ ΠΊΠ°ΡΠΎΠ΄Ρ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Π° ΠΈ Π·Π°Π·Π΅ΠΌΠ»ΠΈΡΠ΅ Π΄ΡΡΠ³ΠΎΠΉ ΠΊΠΎΠ½Π΅Ρ ΡΠ΅Π·ΠΈΡΡΠΎΡΠ°.
ΠΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Π° Π½Π° ESP8266 Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ° MicroPython
Π‘ΠΊΡΠΈΠΏΡ MicroPython
ΠΠ°ΠΊ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½ΠΈΠ·ΠΊΠΈΠΉ ΡΡΠΎΠ²Π΅Π½Ρ ΡΠΈΠ³Π½Π°Π»Π° Ρ Π²ΡΠ². Π‘ΡΠ΅Π½Π°ΡΠΈΠΉ MicroPython ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΠΌΠ΅ΡΠ° ΠΊΠ°ΠΆΠ΄ΡΡ 1 ΡΠ΅ΠΊΡΠ½Π΄Ρ, ΠΊΠΎΠ³Π΄Π° ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Π° ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ, Π° ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΌΠΈΠ³Π°Π½ΠΈΠΉ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΡΡΡ Π½Π° ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΠ· ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ Π²ΡΡΠ΅ ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°ΡΡ Π²ΡΠ²ΠΎΠ΄, ΡΡΠΎ ΡΠΈΠΊΠ°ΡΡΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ MicroPython ΠΏΠΎΠ»Π΅Π·Π½Ρ Π΄Π»Ρ ΡΠ°ΡΡΠ΅ΡΠ° ΡΠ°ΠΉΠΌ-Π°ΡΡΠΎΠ² ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΊΡΠ°ΠΉΠ½ΠΈΡ
ΡΡΠΎΠΊΠΎΠ² Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ°ΡΡΠ΅ΠΉ ΡΠΊΡΠΈΠΏΡΠ°. ΠΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΠΏΠΎ ΡΠ°ΠΉΠΌΠ΅ΡΡ ΠΏΠΎΠ»Π΅Π·Π½Ρ, ΠΊΠΎΠ³Π΄Π° ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈ Π²Π°ΠΆΠ½ΡΠ΅ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠΎΡΠ½ΠΎ Π·Π°ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π½Ρ Π² ΡΡΠ΅Π½Π°ΡΠΈΠΈ, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠΎΠ³ΠΎ, ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π»ΠΈ ΠΈΡ
Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠΊΡΠ°ΡΠ½ΠΎ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΈ.