Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΡŽΡ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹

Π―Π·Ρ‹ΠΊΠΈ программирования PLC: LD, FBD, SFC, ST, IL, CFC

Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΡŽΡ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΡŽΡ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΡŽΡ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΡŽΡ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹. Π€ΠΎΡ‚ΠΎ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΡŽΡ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ – это ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π΅Π΅ устройство. Π”Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΎΠ½ становится Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ создаСтС ΠΈ запускаСтС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΏΠΎ Π΅Π³ΠΎ использованию.

ΠžΡ‚ΡΡŽΠ΄Π° Π²Ρ‹Ρ‚Π΅ΠΊΠ°Π΅Ρ‚ главная Π·Π°Π΄Π°Ρ‡Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ логичСского ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€Π° – исполнСниС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, которая осущСствляСт руководство тСхнологичСского процСсса.

Какой Π½Π°Π±ΠΎΡ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ доступСн для ΠŸΠ›Πš? Π’ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅ любой Π½Π°Π±ΠΎΡ€ Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½. Π“Π»Π°Π²Π½ΠΎΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·ΠΌΠ΅Ρ€ свободных рСсурсов, Π΄Π°Π½Π½ΠΎΠ³ΠΎ инструмСнта, Π²Π°ΠΌ Π±Ρ‹Π» Π½Π΅ ΠΏΠΎΠΌΠ΅Ρ…ΠΎΠΉ. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΡˆΠΈΡ€ΠΎΠΊΠΈΠ΅ возмоТности ΠΏΠΎ написанию ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

Π§Ρ‚ΠΎ ΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°? Π’ΠΎ – ΠΏΠ΅Ρ€Π²Ρ‹Ρ… Π½ΡƒΠΆΠ΅Π½ программист, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±Ρ‹ досконально разбирался Π² Π΄Π°Π½Π½ΠΎΠΌ вопросС. Π’ΠΎ – Π²Ρ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ сам ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ ΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» срСдств Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ поставляСтся Π·Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΏΠ»Π°Ρ‚Ρƒ. Π₯отя Π² ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅ часто встрСчаСтся, Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚ ΡƒΠΆΠ΅ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС ΠΏΠΎ инсталляции.

Какой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ?

И Π½Π°ΠΊΠΎΠ½Π΅Ρ† Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ Π³Π»Π°Π²Π½ΠΎΠ΅ достоинство – это ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° порядка ΡˆΠ΅ΡΡ‚ΠΈ языков программирования. ЕдинствСнным нСдостатком являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π½Π° Π½ΠΈΠ·ΠΊΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅. ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈ ΠŸΠ›Πš Π½Π΅ ΠΏΡ€ΠΈΡˆΠ»ΠΈ ΠΊ ΡƒΠ½ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ выпускаСт, Π΄Π°Π½Π½ΠΎΠ΅ устройство, со своСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ срСдой.

Π’ΠΈΠ΄Ρ‹ языков программирования для ΠŸΠ›Πš

LD (Ladder) – это срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, которая основана Π½Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠ΅. Π‘Π²ΠΎΠ΅Π³ΠΎ Ρ€ΠΎΠ΄Π°, ΠΎΠ½Π° прСдставляСт собой ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ Ρ€Π΅Π»Π΅ΠΉΠ½ΠΎΠΉ схСмы. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ стандарта ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ использованиС Ρ‚Π°ΠΊΠΎΠ³ΠΎ Π²ΠΈΠ΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ срСды сущСствСнно ΠΎΠ±Π»Π΅Π³Ρ‡Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ² Ρ€Π΅Π»Π΅ΠΉΠ½ΠΎΠΉ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠΊΠΈ Π½Π° ΠŸΠ›Πš.

К Π³Π»Π°Π²Π½Ρ‹ΠΌ нСдостаткам, Π΄Π°Π½Π½ΠΎΠ³ΠΎ языка программирования, ΠΌΠΎΠΆΠ½ΠΎ отнСсти Π½Π΅ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ процСссов с большим количСством Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ построСн для прСдставлСния процСссов с дискрСтным Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΎΠΌ.

FBD ( Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… Π‘Π»ΠΎΠΊΠΎΠ²) – здСсь Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ графичСскоС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. ΠžΠ±Ρ€Π°Π·Π½ΠΎ говоря, FBD опрСдСляСт собой Π½Π΅ΠΊΡƒΡŽ ΠΌΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… Π±Π»ΠΎΠΊΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ соСдинСния ΠΌΠ΅ΠΆΠ΄Ρƒ собой (Π²Ρ…ΠΎΠ΄ ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄).

Π”Π°Π½Π½Ρ‹Π΅ связи ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ пСрСсылку ΠΌΠ΅ΠΆΠ΄Ρƒ Π±Π»ΠΎΠΊΠ°ΠΌΠΈ. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Π±Π»ΠΎΠΊ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ( Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€, логичСскоС β€œΠΈΠ»ΠΈβ€ ΠΈ Ρ‚.Π΄.). ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π·Π°Π΄Π°ΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Π±Π»ΠΎΠΊΠΎΠ², Π° Ρ†Π΅ΠΏΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ связи с ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π°ΠΌΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° ΠΈΠ»ΠΈ связи с Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ.

SFC ( Sequential Function Chart) – ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ с языками ST ΠΈ IL, ΠΎΠ½ Ρ‚Π°ΠΊΠΆΠ΅ основан Π½Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠ΅. ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ Π΅Π³ΠΎ построСния Π±Π»ΠΈΠ·ΠΎΠΊ ΠΊ ΠΎΠ±Ρ€Π°Π·Ρƒ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚Π°, Π΄Π°Π½Π½ΠΎΠ΅ условиС относит Π΅Π³ΠΎ ΠΊ самым ΠΌΠΎΡ‰Π½Ρ‹ΠΌ языкам программирования.

ВСхнологичСскиС процСссы, Π² Π΄Π°Π½Π½ΠΎΠΌ языкС, построСны ΠΏΠΎ Ρ‚ΠΈΠΏΡƒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… шагов. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° шагов состоит ΠΈΠ· Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΠΈ, которая ΠΈΠ΄Π΅Ρ‚ свСрху Π²Π½ΠΈΠ·. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ шаг – это ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. ΠžΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ SFC, Π½ΠΎ ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ST ΠΈ IL.

Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ шаг Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½, Ρ‚ΠΎ ΠΈΠ΄Π΅Ρ‚ дСйствиС ΠΏΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ управлСния ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ ΡˆΠ°Π³Ρƒ. ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΌΠ΅ΠΆΠ΄Ρƒ шагами ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π΄Π²ΡƒΡ… Π²ΠΈΠ΄ΠΎΠ². Если Π½Π° шагС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ ΠΊΠ°ΠΊΠΎΠ΅ – Ρ‚ΠΎ условиС ΠΈ дальнСйшим дСйствиСм являСтся ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ шаг, Π·Π½Π°Ρ‡ΠΈΡ‚ – это условный ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄. Π’ случаС ΠΆΠ΅, Ссли происходит ΠΏΠΎΠ»Π½ΠΎΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ всСх условий Π½Π° Π΄Π°Π½Π½ΠΎΠΌ шагС ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΡ‚ΠΎΠΌ осущСствляСтся ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ шаг, Ρ‚ΠΎ-это бСзусловный ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄.

НСдостатком SFC ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π² процСссС Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ нСсколько шагов, Π½Π΅ Π² ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠΎΡ‚ΠΎΠΊΠ°Ρ…. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ со стороны программиста.

ST ( Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ВСкст) – относится ΠΊ языкам высокого уровня ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ сходного с Pascal ΠΈ Basic.

ST позволяСт ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚ΠΈ Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с логичСскими опСрациями, цикличСскими вычислСниями ΠΈ Ρ‚.Π΄.

НСбольшим нСдостатком ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ отсутствиС графичСской срСды. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ прСдставлСны Π² Π²ΠΈΠ΄Π΅ тСкста ΠΈ Π΄Π°Π½Π½ΠΎΠ΅ условиС услоТняСт освоСниС Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ.

IL ( Бписок Команд) – язык ΠΏΠΎΠ΄ΠΎΠ±Π΅Π½ АссСмблСру, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ Π±Π»ΠΎΠΊΠΎΠ² ΠΏΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Плюсом являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹Π΅ Π±Π»ΠΎΠΊΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈ Π½ΠΈΠ·ΠΊΡƒΡŽ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΊ рСсурсам.

CFC ( Continuous Flow Chart) – относится ΠΊ языкам высокого уровня. Π’ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅ – это явноС ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ языка FBD.

ΠŸΡ€ΠΎΡ†Π΅ΡΡ проСктирования состоит ΠΈΠ· использования Π³ΠΎΡ‚ΠΎΠ²Ρ‹Ρ… Π±Π»ΠΎΠΊΠΎΠ² ΠΈ размСщСния ΠΈΡ… Π½Π° экранС. Π”Π°Π»Π΅Π΅ происходит ΠΈΡ… настройка ΠΈ размСщСния соСдинСний ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ.

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Π±Π»ΠΎΠΊ – это ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ тСхнологичСским процСссом. Π—Π΄Π΅ΡΡŒ ΠΈΠ΄Π΅Ρ‚ основной ΡƒΠΊΠ»ΠΎΠ½ Π½Π° тСхнологичСский процСсс, ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ° ΡƒΡ…ΠΎΠ΄ΠΈΡ‚ Π½Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΠ»Π°Π½.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠŸΠ›Πš β€” Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅?

Π”ΠΎΠ±Ρ€ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ суток, ΡƒΠ²Π°ΠΆΠ°Π΅ΠΌΡ‹Π΅ ΠΆΠΈΡ‚Π΅Π»ΠΈ Π₯Π°Π±Ρ€Π°!
ΠŸΡ€ΠΎΡ‡ΠΈΡ‚Π°Π² пост ΠΏΡ€ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠŸΠ›Πš Siemens сСрии S7, я Π·Π°Π»Π΅Π· Π² поиск ΠΏΠΎ Π₯Π°Π±Ρ€Ρƒ, ΠΈ Π±Ρ‹Π» вСсьма ΡƒΠ΄ΠΈΠ²Π»Π΅Π½, Ρ‡Ρ‚ΠΎ Ρ‚Π΅ΠΌΠ° ΠΏΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΎΠΉ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠΊΠΈ Π²ΠΎΠΎΠ±Ρ‰Π΅, ΠΈ программирования ΠŸΠ›Πš Π² частности, освСщСна вСсьма ΠΈ вСсьма скудно. Π’ΠΎΠ·ΡŒΠΌΡƒ Π½Π° сСбя ΡΠΌΠ΅Π»ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ своим ΠΎΠΏΡ‹Ρ‚ΠΎΠΌ Π² Π΄Π°Π½Π½ΠΎΠΉ области, описав Π±Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ программирования ΠŸΠ›Πš, Π² частности, производства ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Beckhoff.

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

Π― занимаюсь Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ Π·Π΄Π°Π½ΠΈΠΉ. БлоТилось Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ Π² основном ΠΌΡ‹ строим свои систСмы Π½Π° Π±Π°Π·Π΅ ΠŸΠ›Πš Beckhoff. Π’Π°ΠΊΠΎΠΉ Π²Ρ‹Π±ΠΎΡ€ Π±Ρ‹Π» сдСлан ΠΏΡ€Π΅ΠΆΠ΄Π΅ всСго ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ эти ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ ΡΠ²Π»ΡΡŽΡ‚ΡΡ свободно-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌΠΈ Π² ΠΏΠΎΠ»Π½ΠΎΠΌ смыслС этих слов. Π§Ρ‚ΠΎ это Π·Π½Π°Ρ‡ΠΈΡ‚? Π’ΠΎΠ·ΡŒΠΌΠΈΡ‚Π΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ TAC Xenta, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΈ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Π½Π° Π½Π΅ΠΌ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΠΌΠ΅Π½ с внСшним устройством Ρ‡Π΅Ρ€Π΅Π· RS232 ΠΏΠΎ собствСнному ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρƒ, Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Β«Π±Π°ΠΉΡ‚ послал β€” Π±Π°ΠΉΡ‚ принял». НС получится, эти ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ Ρ‚Π°ΠΊ Π½Π΅ ΡƒΠΌΠ΅ΡŽΡ‚ β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² Π½ΠΈΡ… Π·Π°Π»ΠΎΠΆΠΈΠ» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ. А Beckhoff ΡƒΠΌΠ΅Π΅Ρ‚. Но ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π»Π΅Π·Ρ‚ΡŒ Π² Ρ‚Π°ΠΊΠΈΠ΅ Π΄Π΅Π±Ρ€ΠΈ, Π΄Π°Π²Π°ΠΉΡ‚Π΅ посмотрим Π½Π° срСду Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ? На ΠΊΠ°ΠΊΠΎΠΌ, собствСнно, языкС, ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ?

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚ МЭК 61131-3

ΠŸΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½Ρ‹Π΅ ΠŸΠ›Πš ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π½Π° языках стандарта МЭК 61131-3. ВсСго этих языков 5, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ свои. Π―Π·Ρ‹ΠΊΠΈ Π΄Ρ€ΡƒΠ³ Π½Π° Π΄Ρ€ΡƒΠ³Π° совсСм Π½Π΅ ΠΏΠΎΡ…ΠΎΠΆΠΈ, ΠΈ, наблюдая Π·Π° ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌΠΈ, ΠΌΠΎΠ³Ρƒ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹Π±ΠΎΡ€ Ρ‚ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ³ΠΎ языка связан ΠΏΡ€Π΅ΠΆΠ΄Π΅ всСго с Ρ‚Π΅ΠΌ, Ρ‡Π΅ΠΌ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ занимался Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ½ ΠΏΡ€ΠΈΡˆΠ΅Π» Π² эту ΠΎΡ‚Ρ€Π°ΡΠ»ΡŒ.

Из Π½Π΅ всСми ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… языков стоит ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ язык CFC (continuous flow chart), Beckhoff Π΅Π³ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚. Π­Ρ‚ΠΎ дальнСйшСС Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ языка FBD, ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ сущСствСнных ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΉ, Π½Π° ΠΌΠΎΠΉ взгляд, являСтся ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° явной ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ связи Π² схСмах. Π—Π°Ρ‡Π΅ΠΌ это Π½ΡƒΠΆΠ½ΠΎ? НапримСр, Π²ΠΎΡ‚ Ρ‚Π°ΠΊΠΎΠΉ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΡ… ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠΎΠ² Π½Π° CFC Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, Π° Π½Π° FBD – Π½Π΅Ρ‚.
Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΡŽΡ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΡŽΡ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΡŽΡ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΡŽΡ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹. Π€ΠΎΡ‚ΠΎ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΡŽΡ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹
Π‘Π»ΠΎΠΊ TON β€” это стандартный Π±Π»ΠΎΠΊ, Ρ‚Π°ΠΉΠΌΠ΅Ρ€ с Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ. Π›ΠΎΠ³ΠΈΠΊΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹: Π²Ρ‹Ρ…ΠΎΠ΄ Q становится TRUE, ΠΊΠΎΠ³Π΄Π° Π½Π° Π²Ρ…ΠΎΠ΄Π΅ IN сигнал TRUE Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ PT.
Бамая популярная, Π½Π°Π²Π΅Ρ€Π½ΠΎΠ΅, срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠ΄ ΠŸΠ›Πš β€” это CoDeSys. МногиС ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈ Π±Π΅Ρ€ΡƒΡ‚ Π΅Π΅ Π·Π° основу, ΠΈ Π»ΠΈΠ±ΠΎ Π΄Π΅Π»Π°ΡŽΡ‚ ΠΊ Π½Π΅ΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со своим ΠŸΠ›Πš, Π»ΠΈΠ±ΠΎ Π΄ΠΎΠ΄Π΅Π»Ρ‹Π²Π°ΡŽΡ‚ срСду ΠΏΠΎΠ΄ сСбя.

Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠŸΠ›Πš?

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠŸΠ›Πš Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ†ΠΈΠΊΠ»ΠΈΡ‡Π½ΠΎ. ВрСмя Ρ†ΠΈΠΊΠ»Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚ Π΅Π΄ΠΈΠ½ΠΈΡ† миллисСкунд Π΄ΠΎ Π΅Π΄ΠΈΠ½ΠΈΡ† сСкунд, Π² зависимости ΠΎΡ‚ Π·Π°Π΄Π°Ρ‡, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π° этот ΠŸΠ›Πš Π²ΠΎΠ·Π»ΠΎΠΆΠ΅Π½Ρ‹. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠŸΠ›Πš ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ врСмя Ρ†ΠΈΠΊΠ»Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΎΠ΄Π½Π°ΠΊΠΎ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… модСлях Ρ‚Π°ΠΊΠΎΠΉ возмоТности Π½Π΅Ρ‚. МногиС ΠŸΠ›Πš, Π² частности Beckhoff, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠΉ цикличСски выполняСмой Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΈ Π·Π°Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ для этих Π·Π°Π΄Π°Ρ‡. Π§Ρ‚ΠΎ Π½Π°ΠΌ Π΄Π°Π΅Ρ‚ эта Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ?
ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΠΌ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ: ΠŸΠ›Πš управляСт вСнтиляционной установкой, ΠΈ ΠΊ Π½Π΅ΠΌΡƒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π° панСль управлСния Ρ‡Π΅Ρ€Π΅Π· RS232. Π’Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Π° Π² помСщСниях мСняСтся Π½Π΅ быстро, ΠΈ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ управлСния вСнтиляциСй Ρ‡Π°Ρ‰Π΅, Ρ‡Π΅ΠΌ Ρ€Π°Π· Π² 50 β€” 100 мс просто Π½Π΅Ρ‚ смысла. Π—Π°Ρ‚ΠΎ панСль ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΠΎΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ постоянно, ΠΈ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΎΡ‚Π²Π΅Ρ‚Π° ΠŸΠ›Πš Π±ΠΎΠ»Π΅Π΅ 10 мс ΡƒΠΆΠ΅ выраТаСтся Π² Β«ΠΏΡ€ΠΈΡ‚ΠΎΡ€ΠΌΠ°ΠΆΠΈΠ²Π°Π½ΠΈΠΈΒ» интСрфСйса ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π° ΠΏΡ€ΠΈ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ΅ 20 мс Ρƒ нас пСрСполнится Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹ΠΉ Π±ΡƒΡ„Π΅Ρ€ COM-ΠΏΠΎΡ€Ρ‚Π°. НаличиС Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π·Π°Π΄Π°Ρ‡ позволяСт Π½Π°ΠΌ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ красиво: ΠΏΡƒΡΡ‚ΡŒ «быстрая» Π·Π°Π΄Π°Ρ‡Π° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с COM-ΠΏΠΎΡ€Ρ‚ΠΎΠΌ, ΠΈ вызываСтся ΠΊΠ°ΠΆΠ΄Ρ‹Π΅ 2 мс, Π° «мСдлСнная» Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ Π»ΠΎΠ³ΠΈΠΊΡƒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ вСнтиляции, ΠΈ вызываСтся ΠΊΠ°ΠΆΠ΄Ρ‹Π΅ 50 мс. ВсС Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ…ΠΎΡ€ΠΎΡˆΠΎ, панСль ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° Π½Π΅ Ρ‚ΠΎΡ€ΠΌΠΎΠ·ΠΈΡ‚, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π΄ΠΎΠ²ΠΎΠ»Π΅Π½.

А Ρ‡Ρ‚ΠΎ Ρƒ этих ΠΆΠ΅Π»Π΅Π·ΠΎΠΊ Π²Π½ΡƒΡ‚Ρ€ΠΈ?

Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΡŽΡ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΡŽΡ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΡŽΡ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΡŽΡ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹. Π€ΠΎΡ‚ΠΎ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΡŽΡ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹
А Π²ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ β€” Π³ΠΎΠ»ΠΎΠ²Π° Beckhoff сСрии CX9000 (слСва Π½Π° Ρ„ΠΎΡ‚ΠΎ) с Π½Π°Π±ΠΎΡ€ΠΎΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π°.

Помимо всСго ΠΏΡ€ΠΎΡ‡Π΅Π³ΠΎ, Π½Π° Π³ΠΎΠ»ΠΎΠ²Π΅ Π΅Ρ‰Π΅ имССтся нСкая шина, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ ΠŸΠ›Πš Π² ΡΠ΅Ρ‚ΡŒ, Π° Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ Π΅Ρ‰Π΅ ΠΈ ΠΌΠ΅Π½ΡΡ‚ΡŒ Π΅Π³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Ρ‡Π΅Ρ€Π΅Π· эту ΠΆΠ΅ ΡΠ΅Ρ‚ΡŒ. Какая это Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ΅Ρ‚ΡŒ β€” зависит ΠΎΡ‚ ΠŸΠ›Πš. Π­Ρ‚ΠΎ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈ Π½Π΅Π·Π½Π°ΠΊΠΎΠΌΡ‹Π΅ Ρ‚Π΅ΠΌ, ΠΊΡ‚ΠΎ Π½Π΅ сталкивался с ΠΏΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½Ρ‹ΠΌΠΈ сСтями EIA-485, Profibus, CAN, Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈ Π²ΠΏΠΎΠ»Π½Π΅ ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½Ρ‹ΠΉ Ethernet. ИмСнно Ρ‡Π΅Ρ€Π΅Π· эту ΡΠ΅Ρ‚ΡŒ, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡƒΡŽ fieldbus, ΠΈ осущСствляСтся ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠŸΠ›Πš ΠΊ Π²Π΅Ρ€Ρ…Π½Π΅ΠΌΡƒ ΡƒΡ€ΠΎΠ²Π½ΡŽ β€” ΠΊ Π‘ΠšΠΠ”Π-систСмС, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€. На Ρ„ΠΎΡ‚ΠΎ Π²Ρ‹ΡˆΠ΅ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π²ΠΈΠ΄Π½Ρ‹ 2 Ρ€Π°Π·ΡŠΠ΅ΠΌΠ° 8P8C Π½Π° Π³ΠΎΠ»ΠΎΠ²Π΅ Beckhoff’Π° β€” это Ethernet, Π° Ρƒ Carel свСрху слСва Π²ΠΈΠ΄Π½Ρ‹ (ΠΏΠ»ΠΎΡ…ΠΎΠ²Π°Ρ‚ΠΎ, ΠΏΡ€Π°Π²Π΄Π°) 2 Ρ€Π°Π·ΡŠΠ΅ΠΌΠ° 6P4C β€” Ρ‚Π°ΠΊ ΠΎΠ½ΠΈ сдСлали RS-485. Π£ этого интСрфСйса, ΠΊ соТалСнию, Π½Π΅Ρ‚ общСпринятого Ρ€Π°Π·ΡŠΠ΅ΠΌΠ°.

Π’Π°ΠΊ всС ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ Π½Π΅Π³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΈΡΠ°Ρ‚ΡŒ-Ρ‚ΠΎ?

Π’ΠΎΠΎΠ±Ρ‰Π΅, это Ρ‚Π΅ΠΌΠ° Π½Π΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ, Π° Ρ†Π΅Π»ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ. Но расскаТу Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Π» Π½Π° Π»ΠΈΡ‡Π½ΠΎΠΌ ΠΎΠΏΡ‹Ρ‚Π΅, ΠΈ ΠΏΡƒΡΡ‚ΡŒ это Π±ΡƒΠ΄Π΅Ρ‚ Π»ΠΎΠΆΠΊΠΎΠΉ дСгтя.
Для ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… программистов освоСниС ΠŸΠ›Πš Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ покаТСтся Π΄Π΅Π³Ρ€Π°Π΄Π°Ρ†ΠΈΠ΅ΠΉ. ООП? Π˜Ρ… Π½Π΅Ρ‚ Ρƒ нас, Π΅ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ структуры, пСрСчислСния, ΠΈ Π½Π΅ΠΊΠΎΠ΅ ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ класса, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ называСтся Β«Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ Π±Π»ΠΎΠΊΒ». Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Private, Public ΠΈ ΠΏΡ€ΠΎΡ‡Π΅Π΅, Ρ‚ΠΎΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π±Ρ‹Ρ‚ΡŒ сразу β€” Π½Π΅ пригодится. Из любого мСста вашСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ Π»ΡŽΠ±ΠΎΠΌΡƒ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ мСсту.
ДинамичСскоС Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ памяти? Π˜Ρ… Π½Π΅Ρ‚ Ρƒ нас совсСм. НС ΡƒΠ²Π΅Ρ€Π΅Π½, сколько Ρ‚Π΅Π±Π΅ ΠΏΡ€ΠΈΡˆΠ»ΡŽΡ‚ Π΄Π°Π½Π½Ρ‹Ρ…? ВыдСляй Π±ΡƒΡ„Π΅Ρ€ с запасом, ΠΈ Π·Π°Π±ΡƒΠ΄ΡŒ ΠΏΡ€ΠΎ эту ΠΏΠ°ΠΌΡΡ‚ΡŒ β€” ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡ‚ΡŒ Π΅Π΅ Π½Π΅ получится. Π›ΠΈΠ±ΠΎ проявляй чудСса скорости ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΠΉ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° Π»Π΅Ρ‚Ρƒ, Ссли ΡƒΡΠΏΠ΅Π΅ΡˆΡŒ ΡƒΠ»ΠΎΠΆΠΈΡ‚ΡŒΡΡ Π² Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ врСмя Ρ†ΠΈΠΊΠ»Π°.
Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ? Π”Π° Ρ‡Ρ‚ΠΎ вы… Π²ΠΈΠ΄Π΅Π» я ΠΎΠ΄Π½ΠΎ Ρ‡ΡƒΠ΄ΠΎ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π½Π°ΠΌΠ΅Ρ€Ρ‚Π²ΠΎ висло ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ конструкции Π²ΠΈΠ΄Π°:

ΠŸΠΎΠ½ΡΡ‚Π½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, Π½Π΅ Π²Π»Π°Π·ΠΈΡ‚ foo * bar Π² 16 Π±ΠΈΡ‚, Π½ΠΎ Π·Π°Ρ‡Π΅ΠΌ ΠΆΠ΅ Π²ΠΈΡΠ½ΡƒΡ‚ΡŒ-Ρ‚ΠΎ? Π”Π° Π΅Ρ‰Π΅ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ Π½ΠΈΡ‡Π΅Π³ΠΎ, ΠΊΡ€ΠΎΠΌΠ΅ сброса ΠΏΠΎ ΠΏΠΈΡ‚Π°Π½ΠΈΡŽ Π½Π΅ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚.
Π‘Ρ€Π΅Π΄Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ? НС Ρƒ всСх CoDeSys, ΠΌΠ½ΠΎΠ³ΠΈΠΌ хочСтся ΠΏΠΎΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΈΡ‡Π°Ρ‚ΡŒ ΠΈ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Π½ΠΈΡ‚ΡŒ своС. Одна ΠΈΠ· Ρ‚Π°ΠΊΠΈΡ… самописных срСд Π²Ρ‹Π»Π΅Ρ‚Π°Π»Π° с runtime error ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ число 86400 Π² 16-Π±ΠΈΡ‚Π½Ρ‹ΠΉ INT. А Π²Ρ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚Π΅, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ Π½Π° ΠŸΠ›Πš. Π•Π΅ ΠΈ Π² срСдС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ-Ρ‚ΠΎ Π½Π΅ всСгда Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ.

НО! Π—Π°Ρ‚ΠΎ для Π»ΡŽΠ±ΠΈΡ‚Π΅Π»Π΅ΠΉ Ρ‚ΠΎΠΉ Ρ‚ΠΎΠ½ΠΊΠΎΠΉ Π³Ρ€Π°Π½ΠΈ, которая отдСляСт ΠΆΠ΅Π»Π΅Π·ΠΎ ΠΎΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, софта Π² просторСчии β€” это ΠΎΡ‡Π΅Π½ΡŒ интСрСсная Π²Π΅Ρ‚Π²ΡŒ Π°ΠΉ-Ρ‚ΠΈ, ΠΏΡ€Π°Π²Π΄Π°.

НадСюсь, Ρ‡Ρ‚ΠΎ этот нСбольшой ΠΎΠ±Π·ΠΎΡ€ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π΅Π½. Если хабрасообщСству Π±ΡƒΠ΄Π΅Ρ‚ интСрСсна эта Ρ‚Π΅ΠΌΠ°, Ρ‚ΠΎ расскаТу ΠΏΡ€ΠΎ ΠŸΠ›Πš ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ соврСмСнных ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ²: лСкция 1

ΠšΠΎΠ½ΡΠΏΠ΅ΠΊΡ‚ ΠΏΠ΅Ρ€Π²ΠΎΠΉ Π»Π΅ΠΊΡ†ΠΈΠΈ ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ соврСмСнных ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ STM32 ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы RIOT. Π›Π΅ΠΊΡ†ΠΈΠΈ Ρ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ Π² Π˜Π½ΡΡ‚ΠΈΡ‚ΡƒΡ‚Π΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ МИРЭА ΠΏΠΎ субботам, с 12:50 Π² Π°ΠΊΡ‚ΠΎΠ²ΠΎΠΌ Π·Π°Π»Π΅ Π½Π° 4 этаТС корпуса Π”. Π’ занятиях отводится 1,5 часа Π½Π° саму Π»Π΅ΠΊΡ†ΠΈΡŽ ΠΈ 3 часа Π½Π° практичСскиС занятия Π² Π»Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€ΠΈΠΈ IoT АкадСмии Samsung ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅ Π»Π΅ΠΊΡ†ΠΈΠΈ.

ΠŸΡ€ΠΈΠ²Π΅Ρ‚, Гиктаймс! Как ΠΌΡ‹ ΠΈ ΠΎΠ±Π΅Ρ‰Π°Π»ΠΈ, Π½Π°Ρ‡ΠΈΠ½Π°Π΅ΠΌ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΡŽ конспСктов Π»Π΅ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ сСйчас Ρ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ Π² Π˜Π½ΡΡ‚ΠΈΡ‚ΡƒΡ‚Π΅ ИВ МИРЭА. По Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌ ΠΏΠ΅Ρ€Π²ΠΎΠΉ, Π²Π²ΠΎΠ΄Π½ΠΎΠΉ Π»Π΅ΠΊΡ†ΠΈΠΈ ΠΌΡ‹ Ρ€Π΅ΡˆΠΈΠ»ΠΈ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ структуру курса β€” вмСсто ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π²ΡˆΠΈΡ…ΡΡ Π΄Π²ΡƒΡ… ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² ΠΏΠΎ 5 занятий Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½ ΠΏΠΎΡ‚ΠΎΠΊ Π½Π° 7 занятий. Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π² Π±ΠΎΠ»Π΅Π΅ спокойном Ρ‚Π΅ΠΌΠΏΠ΅ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒ ряд Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… вопросов, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ с конспСктом Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΡΠ²Π»ΡΡ‚ΡŒΡΡ Π½Π° GT ΠΊΠ°ΠΆΠ΄ΡƒΡŽ нСдСлю Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ всСго ΠΌΠ°Ρ€Ρ‚Π° ΠΈ апрСля, Π° Π½Π΅ Ρ‡Π΅Ρ€Π΅Π· нСдСлю, ΠΊΠ°ΠΊ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π»ΠΎΡΡŒ Ρ€Π°Π½ΡŒΡˆΠ΅.

Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π² сСмь Π»Π΅ΠΊΡ†ΠΈΠΉ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΡƒΠ»ΠΎΠΆΠΈΡ‚ΡŒ ΡΡ‚ΠΎΠ»ΡŒ ΠΎΠ±ΡˆΠΈΡ€Π½ΡƒΡŽ Ρ‚Π΅ΠΌΡƒ, поэтому мСстами ΠΈΠ·Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ тСзисным β€” хотя для компСнсации этого ΠΌΡ‹ постараСмся ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ, Π² ΠΊΠ°ΠΊΡƒΡŽ сторону ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ‚Π΅ΠΌ, ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‡Π΅Ρ‚ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Π³Π»ΡƒΠ±ΠΆΠ΅ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π² Ρ‚ΠΎΠΌ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΌ вопросС.

ΠšΡƒΡ€Ρ рассчитан Π½Π° студСнтов Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΈ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅Π³ΠΎ курсов, Π·Π½Π°ΠΊΠΎΠΌΡ‹Ρ… с языком C ΠΈ Π±Π°Π·ΠΎΠ²Ρ‹ΠΌΠΈ понятиями элСктроники ΠΈ элСктротСхники. ΠŸΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ знакомство с ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°ΠΌΠΈ Π½Π΅ трСбуСтся.

ЦСль курса β€” освоСниС Π½Π°Π²Ρ‹ΠΊΠΎΠ², ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… свободно Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°ΠΌΠΈ Π½Π° ядрС ARM Cortex-M Π½Π° соврСмСнном ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΈ, ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ Ρ‚Π°ΠΊΠΎΠ³ΠΎ ТСлания, Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒΡΡ Π² сторону дальнСйшСго углублСния своих Π·Π½Π°Π½ΠΈΠΉ.

Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΡŽΡ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΡŽΡ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΡŽΡ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΡŽΡ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹. Π€ΠΎΡ‚ΠΎ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΡŽΡ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹

БСгодняшняя лСкция β€” пСрвая, поэтому Π½Π° Π½Π΅ΠΉ Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ΡŒΡΡ ΠΎΠ±Ρ‰ΠΈΠ΅ понятия: Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π²ΠΎΠΎΠ±Ρ‰Π΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠ° ΠΈ ΠΊΠ°ΠΊ ΠΎΠ½Π° получаСтся, Π·Π°Ρ‡Π΅ΠΌ Π½Π°ΠΌ Π½ΡƒΠΆΠ½Π° опСрационная систСма, ΠΈ Π½Π°ΠΊΠΎΠ½Π΅Ρ† β€” ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с git. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ практичСского занятия β€” собствСнный Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚Π°Ρ€ΠΈΠΉ Π½Π° GitHub с исходными ΠΊΠΎΠ΄Π°ΠΌΠΈ ОБ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ настроСнная срСда сборки Π½Π° локальном ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅.

ΠœΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€

Если Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎ, Ρ‚ΠΎ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ β€” это классичСский ΠΏΡ€ΠΈΠΌΠ΅Ρ€ «систСмы Π½Π° Ρ‡ΠΈΠΏΠ΅Β», Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅ΠΉ Π² сСбя ΠΊΠ°ΠΊ процСссорноС ядро, Ρ‚Π°ΠΊ ΠΈ Π½Π°Π±ΠΎΡ€ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΈ ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠΉΠ½Ρ‹Ρ… устройств, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρƒ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… случаях Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ самодостаточным.

Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΡŽΡ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΡŽΡ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΡŽΡ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΡŽΡ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹. Π€ΠΎΡ‚ΠΎ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΡŽΡ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹

Π’ Ρ‚ΠΈΠΏΠΎΠ²ΠΎΠΌ микропроцСссорС, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΌ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ стоит Π² любом ПК ΠΈΠ»ΠΈ смартфонС, практичСски всС ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ отнСсти ΠΊ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ (ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅, Ρ‚Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Π΄Π°ΠΆΠ΅ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠΉΠ½Ρ‹Π΅ устройства), вынСсСны Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ самого Ρ‡ΠΈΠΏΠ°, нСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π±Π΅Π· Π½ΠΈΡ… микропроцСссор Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚.

Π’ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π΅ ΠΆΠ΅, Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚, Π½Π° ΠΎΠ΄Π½ΠΎΠΌ кристаллС с ядром Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρ‹ подсистСмы, Π½ΠΎ ΠΈ масса ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠΉΠ½Ρ‹Ρ… устройств, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… практичСских Π·Π°Π΄Π°Ρ‡Π°Ρ…. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² ΡΠΎΡ€Π΅Π²Π½ΡƒΡŽΡ‚ΡΡ Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ Π½Π΅ ΠΏΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ядра ΠΈΠ»ΠΈ ΠΎΠ±ΡŠΡ‘ΠΌΡƒ памяти, Π° ΠΏΠΎ обилию ΠΈ функциям ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠΉΠ½Ρ‹Ρ… устройств.

ΠœΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ ΡƒΠΆΠ΅ достаточно Π΄Π°Π²Π½ΠΎ Ρ€Π°Π·Π²ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ с микропроцСссорами β€” Ρ‚Π°ΠΊ, Π΄ΠΎ сих ΠΏΠΎΡ€ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‰Π°ΡΡΡ Π² ΠΏΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½Ρ‹Ρ… издСлиях Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° Intel 8051 Π±Ρ‹Π»Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° Π² 1980 Π³ΠΎΠ΄Ρƒ. Π’ ΠΊΠ°ΠΊΠΈΡ…-Ρ‚ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°Ρ… Π»ΠΈΠ½ΠΈΠΈ ΠΈΡ… развития Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ ΠΏΠ΅Ρ€Π΅ΡΠ΅ΠΊΠ°Ρ‚ΡŒΡΡ с микропроцСссорами β€” Ρ‚Π°ΠΊ, ΡΡ‚Π°Ρ€ΡˆΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² ΠΈΠΌΠ΅ΡŽΡ‚ интСрфСйсы для внСшнСго ΠžΠ—Π£, Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈ микропроцСссоров ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΡƒΡŽΡ‚ Π½Π° кристалл всё большС ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠΉΠ½Ρ‹Ρ… устройств (достаточно Π²ΡΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½Π° Π·Π°Ρ€Π΅ «пСрсоналок» Π΄Π°ΠΆΠ΅ кэш-ΠΏΠ°ΠΌΡΡ‚ΡŒ Π½Π°Π±ΠΈΡ€Π°Π»Π°ΡΡŒ внСшними микросхСмами) β€” Π½ΠΎ Π² любом случаС ΠΎΠ½ΠΈ ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ двумя сущСствСнно ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‰ΠΈΠΌΠΈΡΡ вСтвями развития.

БобствСнно, Ρ†Π΅Π»ΡŒΡŽ создания ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² Π±Ρ‹Π»Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡƒΠ΄Π΅ΡˆΠ΅Π²Π»Π΅Π½ΠΈΡ ΠΈ ΠΌΠΈΠ½ΠΈΠ°Ρ‚ΡŽΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… устройств, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΡ… Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ нСбольшой Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ мощности: использованиС ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‡ΠΈΠΏΠ°, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ для Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρ‹ достаточно просто ΠΏΠΎΠ΄Π°Ρ‚ΡŒ ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅, сущСствСнно ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΈ производство ΠΏΠ΅Ρ‡Π°Ρ‚Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ‹ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Π½Π°Π±ΠΎΡ€ΠΎΠΌ ΠΈΠ· 4-5 ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ‡ΠΈΠΏΠΎΠ².

РазумССтся, Ρƒ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° Π΅ΡΡ‚ΡŒ свои ограничСния β€” тСхничСски Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΎΠ΄ΠΈΠ½ кристалл Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π² большом ПК Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρƒ нСмалСнькой ΠΏΠ»Π°Ρ‚Ρ‹.

ΠŸΠ°ΠΌΡΡ‚ΡŒ

Π’ ΠΎΠ±Ρ‰Π΅ΠΌ случаС Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ Π²ΠΈΠ΄Π° памяти:

НСтрудно Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ всС Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ Π²ΠΈΠ΄Π° памяти, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΡ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ, Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ ΠΎΡ‡Π΅Π½ΡŒ нСбольшой кусочСк ΠΊΠ°Ρ€Ρ‚Ρ‹ β€” Π° Π½Π° большСй части ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ располоТился ΠΏΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ всСх ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ…ΡΡ Π² ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π΅ ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠΉΠ½Ρ‹Ρ… устройств.

РСгистры

Π”Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ всё β€” Π²ΠΎΠΎΠ±Ρ‰Π΅ всё β€” ΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ со всСми ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠΉΠ½Ρ‹ΠΌΠΈ устройствами ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° ΠΈ всСми Π΅Π³ΠΎ настройками осущСствляСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ всСго Π΄Π²ΡƒΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ:

Π’Π°ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ссли ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π° Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΉ Π½ΠΎΠΆΠΊΠ΅ ΠΏΠΎΡ€Ρ‚Π° А ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° (PA2, нумСрация ΠΈΠ΄Ρ‘Ρ‚ с нуля) появилась Β«1Β», Π½Π°ΠΌ Π½Π°Π΄ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Β«1Β» Π² Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ Π±ΠΈΡ‚ рСгистра, располоТСнного ΠΏΠΎ адрСсу 0x4002014. А Ссли эта Π½ΠΎΠΆΠΊΠ° настроСна ΠΊΠ°ΠΊ Π²Ρ…ΠΎΠ΄ ΠΈ ΠΌΡ‹, Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚, Ρ…ΠΎΡ‚ΠΈΠΌ ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠ΅ Π½Π° Π½Π΅ΠΉ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ β€” Π½Π°ΠΌ Π½Π°Π΄ΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ Π±ΠΈΡ‚ рСгистра ΠΏΠΎ адрСсу 0x40020010.

Π”Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρƒ, Π²Ρ…ΠΎΠ΄ΠΎΠΌ ΠΈΠ»ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠΌ являСтся эта Π½ΠΎΠΆΠΊΠ° β€” Π½Π°Π΄ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ значСния Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π±ΠΈΡ‚Ρ‹ ΠΏΠΎ адрСсу 0x40020000.

Π­Ρ‚ΠΎ β€” Π²Π°ΠΆΠ½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π² ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°: Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ всё, Ρ‡Ρ‚ΠΎ Π½Π΅ являСтся Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ опСрациями, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ само ядро процСссора, осущСствляСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ записи ΠΈΠ»ΠΈ чтСния Ρ‚ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ³ΠΎ рСгистра. КакиС Π±Ρ‹ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π½Π΅ Π±Ρ‹Π»ΠΈ Π½Π°Π²ΠΎΡ€ΠΎΡ‡Π΅Π½Ρ‹ Π² вашСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ свСрху β€” Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅ всё сводится ΠΊ рСгистрам.

РазумССтся, Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с числовыми адрСсами довольно Π½Π΅ΡƒΠ΄ΠΎΠ±Π½ΠΎ, поэтому для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° Π½Π° ядрС Cortex-M сущСствуСт Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° CMSIS (Cortex Microcontroller Software Interface Standard), самый Π²Π°ΠΆΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ для нас β€” Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ», ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠΉ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ΡΡ Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π΅ рСгистры ΠΈ Π΄Π°ΡŽΡ‰ΠΈΠΉ ΠΈΠΌ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎΡ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹Π΅ ΠΈΠΌΠ΅Π½Π°.

Π‘ использованиСм CMSIS описанныС Π²Ρ‹ΡˆΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Π½ΠΎΠΆΠΊΠΎΠΉ PA Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

ВсС названия рСгистров ΠΈ значСния ΠΏΠΎΠ»Π΅ΠΉ Π² Π½ΠΈΡ… описаны Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π‘ΠΈΠ±Π»ΠΈΠ΅ΠΉ программиста ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² β€” Reference Manual (ΠΎΠ½, разумССтся, свой для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ сСмСйства ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ², ссылка Π΄Π°Π½Π° Π½Π° RM0038, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ сСмСйству STM32L1). ΠžΡ‚ΠΌΠ΅Ρ‡Ρƒ, Ρ‡Ρ‚ΠΎ Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ 900 страниц RM0038 β€” это Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ большой ΠΎΠ±ΡŠΡ‘ΠΌ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, Π»Π΅Π³ΠΊΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡ‚Ρ€Π΅Ρ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ с руководствами ΠΏΠΎ 1500-2000 страниц. Вряд Π»ΠΈ Π΅ΡΡ‚ΡŒ ΠΊΡ‚ΠΎ-Ρ‚ΠΎ, помнящий хотя Π±Ρ‹ Ρ‚Ρ€Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊΠΎΠ³ΠΎ руководства Π½Π°ΠΈΠ·ΡƒΡΡ‚ΡŒ, Π½ΠΎ ΡƒΠΌΠ΅Π½ΠΈΠ΅ быстро Π² Π½Ρ‘ΠΌ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ β€” ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ качСство для Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π³ΠΎ программиста.

РазумССтся, этот ΠΊΠΎΠ΄ β€” лишь условно чСловСкопонятный. ИспользованиС Π±ΡƒΠΊΠ²Π΅Π½Π½Ρ‹Ρ… Π½Π°Π·Π²Π°Π½ΠΈΠΉ вмСсто адрСсов Ρ€Π°Π΄ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎ сниТаСт ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ ошибок Π² ΠΊΠΎΠ΄Π΅ ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ Π΅Π³ΠΎ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΡΡ‚ΡŒ, Π½ΠΎ всё Π΅Ρ‰Ρ‘ ΠΊΡ€Π°ΠΉΠ½Π΅ Π΄Π°Π»Π΅ΠΊΠΎ ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ людСй Π½Π°Π·ΠΎΠ²Ρ‘Ρ‚ Β«Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌΒ» ΠΊΠΎΠ΄ΠΎΠΌ.

Понимая это, ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² Π½Π°Ρ‡Π°Π»ΠΈ Π²Ρ‹ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡ‰ΠΈΠ΅ Π½Π°Π±ΠΎΡ€Ρ‹ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΉ ΠΊ рСгистрам Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ β€” Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ссли ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с рСгистрами Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ Ρ‚Π°ΠΊΠΎΠ²ΠΎΠ³ΠΎ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° Π²Π°ΠΌ Π½Π°Π΄ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²Π° дСйствия (ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π² 1 Π±ΠΈΡ‚, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΉ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€, ΠΈ ΠΏΠΎΠ΄ΠΎΠΆΠ΄Π°Ρ‚ΡŒ, ΠΏΠΎΠΊΠ° Π² 1 встанСт Ρ„Π»Π°Π³, ΠΈΠ½Π΄ΠΈΡ†ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ, Ρ‡Ρ‚ΠΎ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ Π²Ρ‹ΡˆΠ΅Π» Π½Π° Ρ€Π΅ΠΆΠΈΠΌ), Ρ‚ΠΎ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° Π² Ρ‚Π°ΠΊΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½Ρ‹.

Π’ случаС с STM32 основная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° называСтся Standard Peripherals Library, ΠΎΠ½Π° ΠΆΠ΅ StdPeriphLib, ΠΎΠ½Π° ΠΆΠ΅ SPL. Помимо Π½Π΅Ρ‘, сущСствуСт выпускаСмая ST Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° LL, ΠΈ ряд сторонних Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ β€” Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, LibOpenCM3. Π‘Ρ‚ΠΎΡ€ΠΎΠ½Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ часто ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ, Π½ΠΎ Π² силу распространённости STM32 ΠΎΠ½ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π½Π° ΠΏΠ΅Ρ€Π²ΠΎΠΌ мСстС.

Π’Π°ΠΊ, ΠΏΡ€ΠΈ использовании SPL обращСния ΠΊ рСгистрам, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ ΡΠΎΠ²Π΅Ρ€ΡˆΠ°Π»ΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΆΠ΅Ρ‡ΡŒ свСтодиод, прСвратятся Π² обращСния ΠΊ функциям GPIO_Init ΠΈ GPIO_Write.

Π’ΠΏΡ€ΠΎΡ‡Π΅ΠΌ, нСльзя Π½Π΅ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ срСди ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΊ SPL β€” двойствСнноС.

Π‘ ΠΎΠ΄Π½ΠΎΠΉ стороны, SPL позволяСт Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ быстрСС Π½Π°Π±Ρ€ΠΎΡΠ°Ρ‚ΡŒ «скСлСт» ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, особСнно ΠΏΡ€ΠΈ использовании графичСских срСдств конфигурирования ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ STM32 CubeMX. ΠŸΡ€ΠΈ этом ΠΊΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ довольно Ρ…ΠΎΡ€ΠΎΡˆΠΎ (Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ, насколько Ρƒ Π½ΠΈΡ… совпадаСт Π½Π°Π±ΠΎΡ€ ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠΉΠ½Ρ‹Ρ… устройств ΠΈ возмоТностСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π²Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ΡΡŒ) ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΡ‚ΡŒΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°ΠΌΠΈ сСмСйства STM32.

Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°, Π² слоТном ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ Π½Π΅Ρ‚ вопроса Β«Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π΅ Ρ‚Π°ΠΊΒ» β€” Π² Π½Ρ‘ΠΌ Π΅ΡΡ‚ΡŒ вопрос Β«Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° всё Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π΅ Ρ‚Π°ΠΊΒ». Π’ SPL, ΠΊΠ°ΠΊ ΠΈ Π² любой Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅, ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ошибки, ΠΊΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π»ΠΎΠ³ΠΈΠΊΠ° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² SPL ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°Ρ‚ΡŒ с вашим прСдставлСниСм ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ с ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠΌ ΠΏΡ€ΠΈ Ρ‚Π΅Ρ… ΠΈΠ»ΠΈ ΠΈΠ½Ρ‹Ρ… дСйствиях β€” Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΏΡ€ΠΈ ΠΏΠΎΠΏΠ°Π΄Π°Π½ΠΈΠΈ Π² Ρ‚Π°ΠΊΡƒΡŽ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ Π²Π°ΠΌ всё Ρ€Π°Π²Π½ΠΎ придётся ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ исходники SPL ΠΈ ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ Ρ‚Π°ΠΌ происходит Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ рСгистров. На ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ это ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ½ΠΎΠ³Π΄Π° Π·Π°Π½ΡΡ‚ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π΅ мСньшС, Ρ‡Π΅ΠΌ написаниС Π½ΡƒΠΆΠ½ΠΎΠΉ Π²Π°ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ с нуля.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Π΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΌ Ρ‡ΠΈΠΏΠΎΠ², Ρ…ΠΎΡ‚ΡŒ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π² ΠΊΠ°ΠΊΠΈΡ…-Ρ‚ΠΎ ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… ΠΌΠΈΠ³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‡ΠΈΠΏΠ°ΠΌΠΈ этого производитСля, Π½ΠΎ ΠΏΠ΅Ρ€Π΅ΡΠΊΠΎΡ‡ΠΈΡ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, с STM32L1 Π½Π° ATSAMD21 с ΠΊΠΎΠ΄ΠΎΠΌ, написанным для SPL, Ρƒ вас Π½Π΅ получится ΠΏΡ€ΠΈ всём ΠΆΠ΅Π»Π°Π½ΠΈΠΈ.

НС всСгда ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ SPL ΠΈ читаСмости ΠΊΠΎΠ΄Π° β€” Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ…, написанных с Π΅Ρ‘ использованиСм, Π½Π΅Ρ€Π΅Π΄ΠΊΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ простыни Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ Π² полстраницы, состоящиС ΠΈΠ· ΠΎΠ΄Π½ΠΈΡ… Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² SPL.

НаконСц, SPL Ρ€Π΅ΡˆΠ°Π΅Ρ‚ лишь ΠΎΠ΄Π½Ρƒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ β€” абстрагирования ΠΎΡ‚ Β«ΠΆΠ΅Π»Π΅Π·Π°Β» ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с рСгистрами. Однако ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ развития ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π²Ρ‹ ΡΡ‚ΠΎΠ»ΠΊΠ½Ρ‘Ρ‚Π΅ΡΡŒ Π΅Ρ‰Ρ‘ с нСсколькими, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ОБ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ для своСго сущСствования Π΄Π΅Ρ„ΠΈΡ†ΠΈΡ‚Π½Ρ‹Ρ… рСсурсов ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ 5-20 ΠšΠ‘ постоянной памяти ΠΈ Π΅Ρ‰Ρ‘ ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΆΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ), прСимущСства использования ОБ Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Π΅Π»ΠΈΠΊΠΈ, Ρ‡Ρ‚ΠΎ Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π² ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ для встраиваСмых систСм ΠΎΠΊΠΎΠ»ΠΎ 70 % ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Ρ‚Ρƒ ΠΈΠ»ΠΈ ΠΈΠ½ΡƒΡŽ ОБ.

Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΡŽΡ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΡŽΡ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΡŽΡ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΡŽΡ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹. Π€ΠΎΡ‚ΠΎ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΡŽΡ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹

Π‘Ρ‚Ρ€ΠΎΠ³ΠΎ говоря, Π½Π° Π½ΠΈΠΆΠ½Π΅ΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ ОБ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ вСндорскиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ SPL. Однако Π² Ρ€Π°ΠΌΠΊΠ°Ρ… нашСго курса ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с RIOT OS, Π½ΠΈΠΆΠ½Π΅ΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ для сСмСйства STM32 написан Π½Π° рСгистрах β€” Ρ€Π°Π±ΠΎΡ‚Ρƒ с SPL ΠΆΠ΅ ΠΌΡ‹ Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°Ρ‚ΡŒ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ Π²ΠΎΠΎΠ±Ρ‰Π΅.

ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π° этого проста: хотя Π² Ρ†Π΅Π»ΠΎΠΌ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ ОБ ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° Π½Π° Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅, Π½ΠΎ Π² Ρ‚Π΅Ρ… случаях, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Π·Π°Ρ…ΠΎΡ‚ΠΈΠΌ ΡƒΠ³Π»ΡƒΠ±ΠΈΡ‚ΡŒΡΡ Π² Π΄Π΅Ρ‚Π°Π»ΠΈ ΠΈΡ… функционирования, Π½Π°ΠΌ всё Ρ€Π°Π²Π½ΠΎ придётся ΡΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ Π½Π° ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ рСгистров, ΠΈ прослойка Π² Π²ΠΈΠ΄Π΅ SPL довольно сильно Π±Ρ‹ этому мСшала. Освоив ΠΆΠ΅ ΠΎΠ±Ρ‰ΠΈΠ΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°ΠΌΠΈ, ΠΏΡ€ΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ с Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ SPL Π²Ρ‹ смоТСтС Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‚Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅, Ρ‡Ρ‚ΠΎ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎΠ΅ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΡƒΡ‡Π΅Π±Π½ΠΈΠΊΠΎΠ² ΠΏΠΎ STM32, доступных ΠΎΠ½Π»Π°ΠΉΠ½, построСны Π½Π° Π΅Ρ‘ Π±Π°Π·Π΅.

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ систСма

Π’ Π²ΠΈΠ΄Π΅ максимально ΡƒΠΏΡ€ΠΎΡ‰Ρ‘Π½Π½ΠΎΠΉ схСмы ОБ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², выстроСнных Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΡƒΡŽ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΡŽ:

Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΡŽΡ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΡŽΡ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΡŽΡ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΡŽΡ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹. Π€ΠΎΡ‚ΠΎ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΡŽΡ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹

Π’ΠΎΡ‡Π½Π΅Π΅, Ссли Π²ΡΠΏΠΎΠΌΠΈΠ½Π°Ρ‚ΡŒ Ρ„Ρ€Π°Π·Ρƒ Артура ΠšΠ»Π°Ρ€ΠΊΠ° ΠΏΡ€ΠΎ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, Π½Π΅ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΌΡ‹Π΅ ΠΎΡ‚ ΠΌΠ°Π³ΠΈΠΈ, Ρ‚ΠΎ это ΠΌΡ‹ΡˆΠ»Π΅Π½ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ скорСС Π½Π°Π·Π²Π°Ρ‚ΡŒ псСвдомагичСским, ΠΏΠ΅Ρ€Π΅Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Π² Π°Ρ„ΠΎΡ€ΠΈΠ·ΠΌ ΠΊΠ°ΠΊ «любая тСхнология, достаточно Ρ…ΠΎΡ€ΠΎΡˆΠΎ спрятанная ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, становится Π½Π΅ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΌΠ° ΠΎΡ‚ ΠΌΠ°Π³ΠΈΠΈΒ».

На самом Π΄Π΅Π»Π΅, разумССтся, Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ особСнной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ мСню Π² Arduino IDE, ΠΊΠ°ΠΊ ΠΈ Π² любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ IDE, Π½Π΅ нСсёт β€” это лишь графичСская ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° для доступа ΠΊ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ стандартным функциям ΠΈ особСнностям соврСмСнных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… систСм.

Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΡŽΡ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΡŽΡ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΡŽΡ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΡŽΡ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹. Π€ΠΎΡ‚ΠΎ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΡŽΡ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹

Если ΠΌΡ‹ посмотрим Π½Π° Ρ‚ΠΎ, ΠΊΠ°ΠΊ выглядит RIOT OS Π² Π²ΠΈΠ΄Π΅ Π½Π°Π±ΠΎΡ€Π° Ρ„Π°ΠΉΠ»ΠΎΠ² Π½Π° дискС, Ρ‚ΠΎ Π±Π΅Π· Ρ‚Ρ€ΡƒΠ΄Π° ΠΎΠΏΠΎΠ·Π½Π°Π΅ΠΌ Ρ€Π°Π·Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ ΠΏΠΎ ΠΏΠ°ΠΏΠΎΡ‡ΠΊΠ°ΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ систСмы: HAL Π»Π΅ΠΆΠΈΡ‚ Π² ΠΏΠ°ΠΏΠΊΠ΅ cpu (ΠΈ Ссли ΠΌΡ‹ Π΅Ρ‘ ΠΎΡ‚ΠΊΡ€ΠΎΠ΅ΠΌ, Ρ‚ΠΎ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ описания для дСсятков Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ², ΠΎΡ‚ AVR Π΄ΠΎ PIC32), описания построСнных Π½Π° этих ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°Ρ… ΠΏΠ»Π°Ρ‚ β€” boards, Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ Π²Π½Π΅ΡˆΠ½ΠΈΡ… устройств β€” drivers, ядро ОБ β€” core, систСмныС ΠΈ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ сСрвисы ОБ β€” sys, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ прилоТСния β€” examples.

Один ΠΈΠ· Π²Π°ΠΆΠ½Ρ‹Ρ… ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡ‚Π»ΠΈΡ‡Π°Π΅Ρ‚ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ ΠΎΡ‚ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… систСм β€” Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ практичСски всСгда (Π° Π² нашСм случаС совсСм всСгда) ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ прилоТСния ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π½Π΅ ΠΊΠ°ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΡ‹Π΅ нСзависимо ΠΎΡ‚ ОБ, Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ вмСстС с ОБ, всСм Π½Π°Π±ΠΎΡ€ΠΎΠΌ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² ΠΈ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π² Π΅Π΄ΠΈΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ», Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΡ‹ΠΉ Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°. ΠŸΡ€ΠΈΡ‡ΠΈΠ½ этому нСсколько β€” начиная с отсутствия нСобходимости Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Ρ‡Ρ‚ΠΎ позволяСт ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ всю систСму, ΠΈ заканчивая Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ΠΌ нСобходимости ΡΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒ ОБ ΠΈ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² ΠΈ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΏΠΎΠ΄ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ΅ устройство Ρ€Π°Π΄ΠΈ экономии Π΅Π³ΠΎ ΠΎΡ‚Π½ΡŽΠ΄ΡŒ Π½Π΅ бСсконСчной памяти.

Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹Π΅ ΠΊΠΎΠ΄Ρ‹ ОБ

ΠœΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с исходными ΠΊΠΎΠ΄Π°ΠΌΠΈ Π² вСрсии https://github.com/unwireddevices/RIOT/tree/mirea β€” это ΠΎΡ‚Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΡ‚ основной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ RIOT OS, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ силами Unwired Devices ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² STM32L1, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ сСрвисы, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‚Π°ΠΉΠΌΠ΅Ρ€Ρ‹ Π½Π° Π±Π°Π·Π΅ часов Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ миллисСкундный Ρ‚Π°ΠΉΠΌΠ΅Ρ€.

Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹Π΅ ΠΊΠΎΠ΄Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ с Github, Π²Ρ‹Π±Ρ€Π°Π² ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«Clone/DownloadΒ» ΠΈ Β«Download ZIPΒ», Π½ΠΎ Π»ΡƒΡ‡ΡˆΠΈΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ созданиС собствСнного рСпозитория. Для этого Π·Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΡƒΠΉΡ‚Π΅ΡΡŒ Π½Π° GitHub, послС Ρ‡Π΅Π³ΠΎ Π²Π΅Ρ€Π½ΠΈΡ‚Π΅ΡΡŒ Π² ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Π²Ρ‹ΡˆΠ΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«ForkΒ» β€” исходныС ΠΊΠΎΠ΄Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ скопированы Π² ваш Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚, ΠΎΡ‚ΠΊΡƒΠ΄Π° Π²Ρ‹ смоТСтС ΡƒΠΆΠ΅ Π±Π΅Π· ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π½ΠΈΠΌΠΈ.

Π― Π½Π΅ Π±ΡƒΠ΄Ρƒ ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ здСсь Π΄Π΅Ρ‚Π°Π»ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с GitHub ΠΈ Git β€” Π² ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅ Π΅ΡΡ‚ΡŒ масса ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠΎΡˆΠ°Π³ΠΎΠ²Ρ‹Ρ… руководств, ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅Ρ‚ смысла.

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠ΅Π³ΠΎ прилоТСния

Благодаря Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ОБ Π±Π΅Ρ€Ρ‘Ρ‚ Π½Π° сСбя всё взаимодСйствиС с ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠΌ, ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠ΅Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΎΠ±Ρ‰Π΅ΠΌ-Ρ‚ΠΎ Π½ΠΈΡ‡ΡƒΡ‚ΡŒ Π½Π΅ слоТнСС, Ρ‡Π΅ΠΌ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Β«Hello worldΒ» Π½Π° большом ПК:

Π’ структурС нашСй ОБ это ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ располагаСтся Π² ΠΏΠ°ΠΏΠΊΠ΅ example/hello-world Π² Ρ„Π°ΠΉΠ»Π΅ main.c (ΠΎΠ½ΠΎ Ρ‚Π°ΠΌ ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ).

Однако, ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΅Π³ΠΎ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ сначала Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ срСду сборки. Π­Ρ‚ΠΎ дСлаСтся ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ Π² Ρ€Π°Π·Π½Ρ‹Ρ… ОБ.

1. Windows 8 ΠΈ старСС. К соТалСнию, придётся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ срСду MinGW, ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡƒΡŽ ΠΈ Π½Π΅ΡƒΠ΄ΠΎΠ±Π½ΡƒΡŽ. ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° установки Π½ΡƒΠΆΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² достаточно ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ описана здСсь. ΠžΡ‚ΠΌΠ΅Ρ‡Ρƒ, Ρ‡Ρ‚ΠΎ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Git/GitHub придётся Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Git for Windows, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€ΠΈΡ‚Π°Ρ‰ΠΈΡ‚ свою ΡƒΡ€Π΅Π·Π°Π½Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ MinGW. ΠŸΡ€ΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ всё это ΠΌΠΎΠΆΠ½ΠΎ свСсти Π² ΠΎΠ΄ΠΈΠ½ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» MinGW, Π½ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с ΠΎΡ‡Π΅Π½ΡŒ Π½ΠΈΠ·ΠΊΠΎΠΉ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρ‹ MinGW ΠΈ ΠΎΠ±Ρ‰ΠΈΠΌ Π΅Π³ΠΎ нСудобством это Π½Π΅ Ρ€Π΅ΡˆΠΈΡ‚.

Π’ Ρ†Π΅Π»ΠΎΠΌ, Windows 7 ΠΈ Windows 8, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π½Π΅ самым ΡƒΠ΄Π°Ρ‡Π½Ρ‹ΠΌ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

2. Windows 10. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ΠΌΠ°Π³Π°Π·ΠΈΠ½ Microsoft Store, Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ Π² Π½Ρ‘ΠΌ Ubuntu ΠΈ установитС. Если ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΌ запускС Ubuntu Π±ΡƒΠ΄Π΅Ρ‚ Ρ€ΡƒΠ³Π°Ρ‚ΡŒΡΡ Π½Π° Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Windows, ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ систСмноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Β«Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² WindowsΒ», Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ Ρ‚Π°ΠΌ Β«ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Windows для LinuxΒ» ΠΈ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅.

Вся дальнСйшая Ρ€Π°Π±ΠΎΡ‚Π° происходит Π² срСдС Ubuntu, Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠΌΡ„ΠΎΡ€Ρ‚Π½ΠΎΠΉ ΠΈ быстрой, Π½Π΅ΠΆΠ΅Π»ΠΈ MinGW.

Π‘ΠΊΠ°Ρ‡Π°ΠΉΡ‚Π΅ компилятор ΠΈ ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°ΡŽΡ‰ΠΈΠ΅ Π΅Π³ΠΎ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ ΠΎΡ‚ΡΡŽΠ΄Π° (Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π²Π°ΠΌ Π½ΡƒΠΆΠ½Π° 64-битная вСрсия для Linux!), ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ubuntu, распакуйтС Π°Ρ€Ρ…ΠΈΠ² ΠΈ ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ систСмС ΠΏΡƒΡ‚ΠΈ ΠΊ Π½Π΅ΠΌΡƒ:

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Git Π²Π°ΠΌ потрСбуСтся ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Ρƒ ΠΈΠ· ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½ΠΎΠ³ΠΎ ΠΈ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ ssh-keygen, послС Ρ‡Π΅Π³ΠΎ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ (Π² Ubuntu ΠΏΠΎΠ΄ Windows это ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ cat

/.ssh/id_rsa.pub, ΠΏΠΎΡ‚ΠΎΠΌ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ Π²Ρ‹Π²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ ΠΌΡ‹ΡˆΠΊΠΎΠΉ ΠΈ Π½Π°ΠΆΠ°Ρ‚ΡŒ Enter β€” ΠΎΠ½ΠΎ скопируСтся Π² Π±ΡƒΡ„Π΅Ρ€ ΠΎΠ±ΠΌΠ΅Π½Π°) ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π² ваш Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚ GitHub. ПослС этого ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с GitHub ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ git.

NB: Ссли Π²Ρ‹ Ρ€Π°Π½Π΅Π΅ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС Linux, Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π΄Π²Π° ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°: курсорныС стрСлки Π²Π²Π΅Ρ€Ρ… ΠΈ Π²Π½ΠΈΠ· ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π»ΠΈΡΡ‚Π°Ρ‚ΡŒ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ Π²Π²Π΅Π΄Ρ‘Π½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄, Π° клавиша Tab дополняСт Π½Π°Π±Ρ€Π°Π½Π½Ρ‹ΠΉ Π²Π°ΠΌΠΈ ΠΏΡƒΡ‚ΡŒ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ ΠΈΠ»ΠΈ ΠΏΠ°ΠΏΠΊΠ΅ Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ cd /opt/gcc- прСвратится Π² строку cd /opt/gcc-arm-none-eabi-7-2017-q4-major). ПослСднСС слуТит Ρ‚Π°ΠΊΠΆΠ΅ Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΉ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ, ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π»ΠΈ Π²Ρ‹ Π½Π°Π±ΠΈΡ€Π°Π΅Ρ‚Π΅ ΠΏΡƒΡ‚ΡŒ β€” Ссли Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ ΠΎΠ½ ΠΏΠΎ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎΠΉ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚. Если Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² дополнСния нСсколько, Ρ‚ΠΎ Π΄Π²ΠΎΠΉΠ½ΠΎΠ΅ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ Tab Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ ΠΈΡ… всС.

NB: Π² Windows Π²Π°ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, Ссли сами исходныС ΠΊΠΎΠ΄Ρ‹ ОБ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π² ΠΏΠ°ΠΏΠΊΠ΅, Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ доступной ΠΈΠ· Windows, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Documents/git/RIOT. Из-ΠΏΠΎΠ΄ MinGW ΠΎΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ доступна ΠΏΠΎ ΠΏΡƒΡ‚ΠΈ /c/Users/vasya/Documents/git/RIOT, ΠΈΠ·-ΠΏΠΎΠ΄ Ubuntu β€” /mnt/c/Users/vasya/Documents/git/RIOT. Π’ этом случаС Π²Ρ‹ смоТСтС свободно ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΊΠΎΠ΄ΠΎΠΌ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, тСкстовыми Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°ΠΌΠΈ, написанными для Windows, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ Notepad++.

3. Linux. Установка срСды сборки Π½ΠΈΡ‡Π΅ΠΌ Π½Π΅ отличаСтся ΠΎΡ‚ инструкции для Windows 10, ΠΊΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Microsoft Store Π²Π°ΠΌ Π½Π΅ потрСбуСтся. Π’Π°ΠΊΠΆΠ΅ Π½Π΅ ΠΈΡ‰ΠΈΡ‚Π΅ gcc-arm-none-eabi Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ вашСго дистрибутива β€” скачайтС Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ²Π΅ΠΆΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ с Π΅Π³ΠΎ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ сайта.

ПослС установки срСды сборки ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ консоль, ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² ΠΏΠ°ΠΏΠΊΡƒ с RIOT ΠΈ Π² ΠΏΠΎΠ΄ΠΏΠ°ΠΏΠΊΡƒ examples/hello-world, послС Ρ‡Π΅Π³ΠΎ запуститС ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ make.

Π‘ΠΊΠΎΡ€Π΅Π΅ всСго, ΠΎΠ½Π° быстро прСрвётся ошибкой ΠΈ сообщСниСм, Ρ‡Ρ‚ΠΎ Ρƒ вас Π½Π΅ Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚ unzip (ΠΏΠΎΠ΄ Windows 10 ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΎΠ½ Π½Π΅ устанавливаСтся), make ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΡƒΡ‚ΠΈΠ»ΠΈΡ‚. Π’ Windows 10 ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ (ΠΏΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ Π½Π΅Π΄ΠΎΡΡ‚Π°ΡŽΡ‰Π΅Π³ΠΎ даётся простым списком Ρ‡Π΅Ρ€Π΅Π· ΠΏΡ€ΠΎΠ±Π΅Π»):

ПослС установки ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Π΅Ρ‰Ρ‘ Ρ€Π°Π· Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ make β€” Ρ‚ΠΎΡ‡Π½Π΅Π΅, ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠΌ являСтся Π²Ρ‹Π·ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Β«make clean && makeΒ»: пСрвая ΠΎΡ‡ΠΈΡ‰Π°Π΅Ρ‚ мусор, ΠΎΡΡ‚Π°Π²ΡˆΠΈΠΉΡΡ ΠΎΡ‚ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ. Π‘Π΅Π· Π½Π΅ΠΉ компилятор ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½ΠΎ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΈΠ· ΡƒΠΆΠ΅ собранных ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π½Π΅ мСнялся, ΠΈ Π½Π΅ ΠΏΠ΅Ρ€Π΅ΡΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒ Π΅Π³ΠΎ β€” Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΡƒ, ΡΠΎΠ±Ρ€Π°Π½Π½ΡƒΡŽ ΠΈΠ· кусков старого ΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.

NB: Π² ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠΌ RIOT ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ hello-world собираСтся для Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ native, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ, Π² нашСм случаС Π½ΠΎΡƒΡ‚Π±ΡƒΠΊΠ° ΠΈΠ»ΠΈ дСсктопа, x86. Однако Π² нашСм ΠΊΠΎΠ΄Π΅ Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°Ρ… сборки ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΡƒΠΆΠ΅ ΡƒΠΊΠ°Π·Π°Π½Π° ΠΏΠ»Π°Ρ‚Π° unwd-range-l1-r3, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π°Ρ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ stm32, поэтому Π² Π½Π°Ρ‡Π°Π»Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ строку

Π’ случаС успСха Π·Π° Π½Π΅ΠΉ Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ дСсяток-Π΄Π²Π° строчСк, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…ΡΡ с ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ make β€” это сборка ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы. Закончится всё сообщСниСм ΠΎΠ± ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΌ создании Ρ„Π°ΠΉΠ»Π° ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ mirea.elf с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… (ΠΎΠ±ΡŠΡ‘ΠΌΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ Ρ„Π»ΡΡˆ-памяти ΠΈ ΠžΠ—Π£).

Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΡŽΡ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΡŽΡ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΡŽΡ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΡŽΡ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹. Π€ΠΎΡ‚ΠΎ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΡŽΡ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹

Π˜Ρ‚Π°ΠΊ, ΠΌΡ‹ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Π»ΠΈΡΡŒ с Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ выглядит ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€, скачали исходныС ΠΊΠΎΠ΄Ρ‹ нашСй ОБ, настроили срСду сборки ΠΈ ΡƒΠ±Π΅Π΄ΠΈΠ»ΠΈΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.

На ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ занятии ΠΌΡ‹ рассмотрим ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ устройство ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°, начиная с ΠΏΠΎΡ€Ρ‚ΠΎΠ² GPIO, ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΠΌ Π² Π½Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ β€” ΠΎΠ½ΠΎ, ΠΏΠΎ старой Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΈ, Π±ΡƒΠ΄Π΅Ρ‚ ΠΌΠΈΠ³Π°Ρ‚ΡŒ свСтодиодом β€” Π° Π΄Π°Π»Π΅Π΅ вСрнёмся ΠΊ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС ΠΈ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½Π΅Π΅ ΠΈΠ·ΡƒΡ‡ΠΈΠΌ, ΠΈΠ· ΠΊΠ°ΠΊΠΈΡ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΎΠ½Π° состоит ΠΈ ΠΊΠ°ΠΊ настраиваСтся Π΅Ρ‘ сборка.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *