ΠΠ·Π»Π΅Π·Π΅ ΠΏΡΠΎΠ΅ΠΊΡΡΡ PikaScript 1.8, ΠΊΠΎΠΉΡΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π° ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ΅Π½ Π΄Π²ΠΈΠ³Π°ΡΠ΅Π» Π·Π° ΠΏΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π·Π° ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΡΠΈ Π² Python. PikaScript Π½Π΅ Π΅ ΠΎΠ±Π²ΡΡΠ·Π°Π½ Ρ Π²ΡΠ½ΡΠ½ΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ°Π±ΠΎΡΠΈ Π½Π° ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΡΠΈ Ρ 4 KB RAM ΠΈ 32 KB Flash, ΠΊΠ°ΡΠΎ STM32G030C8 ΠΈ STM32F103C8. ΠΠ° ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅, MicroPython ΠΈΠ·ΠΈΡΠΊΠ²Π° 16 KB RAM ΠΈ 256 KB Flash, Π΄ΠΎΠΊΠ°ΡΠΎ Snek ΠΈΠ·ΠΈΡΠΊΠ²Π° 2 KB RAM ΠΈ 32 KB Flash. ΠΠΎΠ΄ΡΡ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° C ΠΈ ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π° ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·Π° Π½Π° MIT.
PikaScript ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΎΡ Π΅Π·ΠΈΠΊΠ° Python 3, ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ½ΠΈ Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ ΠΊΠ°ΡΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΈ Π·Π° ΡΠ°Π·ΠΊΠ»ΠΎΠ½ΡΠ²Π°Π½Π΅ ΠΈ ΡΠΈΠΊΡΠ» (if, while, for, else, elif, break, continue), ΠΎΡΠ½ΠΎΠ²Π½ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΈ (+ - * / < == >), ΠΌΠΎΠ΄ΡΠ»ΠΈ, ΠΊΠ°ΠΏΡΡΠ»ΠΈΡΠ°Π½Π΅, Π½Π°ΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅, ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠΈΠ·ΡΠΌ, ΠΊΠ»Π°ΡΠΎΠ²Π΅ ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΈ. Python ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅ΡΠ΅ ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Ρ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΡΠ»Π΅Π΄ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ - PikaScript ΠΏΡΡΠ²ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ²Π° Python ΠΊΠΎΠ΄Π° Π²ΡΠ² Π²ΡΡΡΠ΅ΡΠ΅Π½ Pika Asm Π±Π°ΠΉΡΠΊΠΎΠ΄, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π° Π½Π° ΠΊΡΠ°ΠΉΠ½ΠΎΡΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π² ΡΠΏΠ΅ΡΠΈΠ°Π»Π½Π° Pika Runtime Π²ΠΈΡΡΡΠ°Π»Π½Π° ΠΌΠ°ΡΠΈΠ½Π°. Π’ΠΎΠΉ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΡΠ°Π±ΠΎΡΠ° Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ Π²ΡΡΡ Ρ Ρ Π°ΡΠ΄ΡΠ΅ΡΠ° ΠΈΠ»ΠΈ Π² RT-Thread, VSF (Versaloon Software Framework) ΠΈ Linux ΡΡΠ΅Π΄ΠΈ.
ΠΡΠ΄Π΅Π»Π½ΠΎ ΡΠ΅ ΠΎΡΠ±Π΅Π»ΡΠ·Π²Π° Π»Π΅ΠΊΠΎΡΠ°ΡΠ° Π½Π° ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅ PikaScript Ρ ΠΊΠΎΠ΄ Π½Π° Π΅Π·ΠΈΠΊΠ° C - ΡΡΠ½ΠΊΡΠΈΠΈΡΠ΅, Π½Π°ΠΏΠΈΡΠ°Π½ΠΈ Π½Π° Π΅Π·ΠΈΠΊΠ° C, ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΠΊΠΎΠ΄Π°, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° PikaScript Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈΡΠ΅ Π½Π° ΡΡΠ°ΡΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈ, Π½Π°ΠΏΠΈΡΠ°Π½ΠΈ Π½Π° Π΅Π·ΠΈΠΊΠ° C. Π‘ΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠΈΡΠ΅ ΡΡΠ΅Π΄ΠΈ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΊΠ°ΡΠΎ Keil, IAR, RT-Thread Studio ΠΈ Segger Embedded Studio ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°Π½Π΅ Π½Π° C ΠΌΠΎΠ΄ΡΠ»ΠΈ. Π‘Π²ΡΡΠ·Π²Π°Π½ΠΈΡΡΠ° ΡΠ΅ Π³Π΅Π½Π΅ΡΠΈΡΠ°Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ Π½Π° Π΅ΡΠ°ΠΏΠ° Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ; Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ Π΅ Π΄Π° Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°ΡΠ΅ API Π²ΡΠ² ΡΠ°ΠΉΠ» Ρ ΠΊΠΎΠ΄ Π½Π° Python ΠΈ ΠΎΠ±Π²ΡΡΠ·Π²Π°Π½Π΅ΡΠΎ Π½Π° C ΡΡΠ½ΠΊΡΠΈΠΈ ΠΊΡΠΌ Python ΠΌΠΎΠ΄ΡΠ»ΠΈ ΡΠ΅ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠΈ, ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠ° Pika Pre-compiler.
PikaScript ΡΠ²ΡΡΠ΄ΠΈ, ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° 24 ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΡΠ°, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ stm32g*, stm32f*, stm32h*, WCH ch582, ch32*, WinnerMicro w80*, Geehy apm32*, Bouffalo Lab bl-706, Raspberry Pico, ESP32C3 ΠΈ Infineon TC264D. ΠΠ° Π±ΡΡΠ·ΠΎ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π±Π΅Π· ΠΎΠ±ΠΎΡΡΠ΄Π²Π°Π½Π΅ ΡΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π° ΡΠΈΠΌΡΠ»Π°ΡΠΎΡ ΠΈΠ»ΠΈ ΠΏΠ»Π°ΡΠΊΠ° Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Pika-Pi-Zero, Π±Π°Π·ΠΈΡΠ°Π½Π° Π½Π° ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΡΠ° STM32G030C8T6 Ρ 64 KB Flash ΠΈ 8 KB RAM, ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°ΡΠ° ΡΠΈΠΏΠΈΡΠ½ΠΈ ΠΏΠ΅ΡΠΈΡΠ΅ΡΠ½ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈ (GPIO, TIME, IIC, RGB, KEY , LCD, RGB). Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ ΡΠ° ΠΏΠΎΠ΄Π³ΠΎΡΠ²ΠΈΠ»ΠΈ ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠΈ ΠΈ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ PikaPackage.
ΠΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ ΠΏΡΠΈΠ»Π°Π³Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° ΠΏΡΠ΅Π±ΡΠΎΡΠ²Π°Π½Π΅ Π½Π° ΡΠ΅ΡΠ΅ΡΠ΅Π½ΡΠ½ΠΈ Π΄Π°Π½Π½ΠΈ ΠΈ Π΄ΠΎΠ±Π°Π²Ρ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠΈ (ΡΠ°Π±ΡΠΈΡΠ΅Π½ ΠΌΠ΅ΡΠΎΠ΄). ΠΠΈΠ°Π³Π½ΠΎΡΡΠΈΡΠΈΡΠ°Π½ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Ρ ΠΏΠ°ΠΌΠ΅ΡΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΌΠ° valgrind. ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½Π΅ Π½Π° Python ΠΊΠΎΠΌΠΏΡΡΡΡΠ½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π² Π±Π°ΠΉΡ ΠΊΠΎΠ΄ ΠΈ ΠΎΠΏΠ°ΠΊΠΎΠ²Π°Π½Π΅ΡΠΎ ΠΈΠΌ Π²ΡΠ² ΡΡΡΠΌΡΠ΅Ρ. ΠΠ½Π΅Π΄ΡΠ΅Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Python ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π²ΡΠ² ΡΡΡΠΌΡΠ΅ΡΠ° Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡ ΠΎΡ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π° ΡΠΈΡΡΠ΅ΠΌΠ°.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru