ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

Π’Π΅ΠΊΡ‚ΠΎΡ€Ρ‹ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ

Π Π΅Ρ„Π΅Ρ€Π°Ρ‚ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ систСмы Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Cortex-M3 ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ достаточно большой Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΌΠΎΡ‰Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ сопоставимыми ΠΏΠΎ ΡΡ‚оимости ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°ΠΌΠΈ ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠžΠ‘Π Π’. Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‰ΠΈΠΌΠΈ нСбольшоС мСсто Π² ΠΏΠ°ΠΌΡΡ‚ΠΈ. ΠŸΡ€ΠΈ освоСнии этого ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° Π²Π°ΠΆΠ½ΠΎ ΡƒΠ΄Π΅Π»ΠΈΡ‚ΡŒ Π΅Π΅ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΡŽ особоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅. ИспользованиС ΠžΠ‘Π Π’ Π΄Π°Π΅Ρ‚ прСимущСства Π±ΠΎΠ»Π΅Π΅… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

Π’Π΅ΠΊΡ‚ΠΎΡ€Ρ‹ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

Π’Π°Π±Π»ΠΈΡ†Π° Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ² ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² Cortex начинаСтся с Π°Π΄Ρ€Π΅ΡΠ° 0×4. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ² ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ 4 Π±Π°ΠΉΡ‚Π° ΠΈ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ адрСс ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ прСрывания. ΠŸΠ΅Ρ€Π²Ρ‹Π΅ 15 Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ² (Π½ΠΎΠΌΠ΅Ρ€Π° 1−15) — адрСса ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ситуаций, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰ΠΈΡ… Π² ΡΠ΄Ρ€Π΅ Cortex. Начиная с 16-Π³ΠΎ Π²Π΅ΠΊΡ‚ΠΎΡ€Π°, ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ адрСса ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… Π£Π’Π’. Π˜Ρ… Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ зависит ΠΎΡ‚ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ производитСля. Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Ρ‚Π°Π±Π»ΠΈΡ†Π° Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ² приводится Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ ΠΈ ΡΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ адрСса ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ (см. Ρ€ΠΈΡ. 1.7). <

p>Π’ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ срСдС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Keil uVision ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ оборудования для ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² 1986 сСрии. Π’ ΡΡ‚ΠΈΡ… Ρ„Π°ΠΉΠ»Π°Ρ… ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ Π²Π΅ΠΊΡ‚ΠΎΡ€Ρ‹ ΠΈ ΠΈΠΌΠ΅Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ. Π€Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ этого списка для систСмного Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° ΠΈ IRQ0-IRQ31 ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ Π² Ρ‚Π°Π±Π». 3.4. НСкоторыС ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ оставлСны нСзанятыми для использования Π² ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Напомним, Ρ‡Ρ‚ΠΎ внСсСниС ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΡ‚ΠΎΡ‚ список Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅.

Π’Π°Π±Π»ΠΈΡ†Π° 3.4

Π’Π°Π±Π»ΠΈΡ†Π° ΠΈΠΌΠ΅Π½ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π²Π΅ΠΊΡ‚ΠΎΡ€Π½Ρ‹Ρ… ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ.

IRQ.

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ прСрывания.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅.

SysTick.

SysTick Handler.

БистСмный Ρ‚Π°ΠΉΠΌΠ΅Ρ€

CAN1 lRQHandler.

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ CAN 1.

CAN2 lRQHandler.

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ CAN2.

USB lRQHandler.

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ USB.

DMA lRQHandler.

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ ΠŸΠ”ΠŸ.

UARTI lRQHandler.

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ UART1.

UART2 lRQHandler.

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ UART2.

SSP1 lRQHandler.

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ SSP1.

I2C lRQHandler.

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ I2C.

POWER lRQHandler.

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ PWR.

WWDGIRQ Handler.

ΠžΠΊΠΎΠΏΠ½Ρ‹ΠΉ WDT.

Timerl_IRQHandler.

Π‘Ρ‡Π΅Ρ‚Ρ‡ΠΈΠΊ/Ρ‚Π°ΠΉΠΌΠ΅Ρ€ 1.

Timer2_lRQI landlcr.

Бчстчик/таймср2.

Timer3 lRQHandler.

Π‘Ρ‡Π΅Ρ‚Ρ‡ΠΈΠΊ/Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π—.

ADC lRQHandler.

АЦП.

COMPARATOR lRQHandler.

Аналоговый ΠΊΠΎΠΌΠΏΠ°Ρ€Π°Ρ‚ΠΎΡ€

SSP2 lRQHandler.

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ SSP2.

BACKUP lRQHandler.

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Π’ΠšΠ .

EXT INTI lRQHandler.

Π’Π½Π΅ΡˆΠ½ΠΈΠΉ INTI.

EXT INT2 lRQHandler.

Π’Π½Π΅ΡˆΠ½ΠΈΠΉ INT2.

EXT INT3 lRQHandler.

Π’Π½Π΅ΡˆΠ½ΠΈΠΉ INT3.

EXT INT4 lRQHandler.

Π’Π½Π΅ΡˆΠ½ΠΈΠΉ INT4.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° 13. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° (рис. 3.30) для дСмонстрации Ρ€Π°Π±ΠΎΡ‚Ρ‹ счСтчика Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° Π‘Π’1 Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ выполняСт ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ оборудования (Ρ‚Π°ΠΊΡ‚ΠΎΠ²Ρ‹ΠΉ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€, ΠΏΠΎΡ€Ρ‚Ρ‹ Π²Ρ‹Π²ΠΎΠ΄Π°, счСтчиктаймСр Π‘Π’1 ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Π²Π΅ΠΊΡ‚ΠΎΡ€Π½Ρ‹Ρ… ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ NVIC). ΠŸΡ€ΠΈ этом Ρ‚Π°ΠΊΡ‚ΠΎΠ²Ρ‹ΠΉ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΈ ΡΡ‡Π΅Ρ‚Ρ‡ΠΈΠΊ-Ρ‚Π°ΠΉΠΌΠ΅Ρ€ Π‘Π’1 ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΡŽΡ‚ΡΡ для Π²Ρ‹Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π° Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ 1 с. ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ прСрывания IRQ 14, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡƒ ΡΠΎΠ±Ρ‹Ρ‚ΠΈΡŽ Π² ΡΡ‡Π΅Ρ‚Ρ‡ΠΈΠΊΠ΅Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π΅ CTI. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ прСрывания (Timcrl_IRQHandler) ΠΊΠ°ΠΆΠ΄ΡƒΡŽ сСкунду осущСствляСт пСрСзапуск счСтчика-Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° с Π²Ρ‹Π²ΠΎΠ΄ΠΎΠΌ состояния Π½Π° ΡΠ²Π΅Ρ‚ΠΎΠ΄ΠΈΠΎΠ΄Π½Ρ‹Π΅ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹.

БСкция Include содСрТит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ссылки Π½Π° Π΄Π²Π° стандартных Ρ„Π°ΠΉΠ»Π° описания оборудования (MDR32F*.h).

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° для дСмонстрации Ρ€Π°Π±ΠΎΡ‚Ρ‹ счСтчика Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° Π‘Π’1 Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ с Π²Ρ‹Π²ΠΎΠ΄ΠΎΠΌ состояния Π½Π° свСтодиодныС ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹.

Рис. 3.30. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° для дСмонстрации Ρ€Π°Π±ΠΎΡ‚Ρ‹ счСтчика Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° Π‘Π’1 Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ с Π²Ρ‹Π²ΠΎΠ΄ΠΎΠΌ состояния Π½Π° ΡΠ²Π΅Ρ‚ΠΎΠ΄ΠΈΠΎΠ΄Π½Ρ‹Π΅ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹.

БСкция Define содСрТит опрСдСлСния Ρ‚Ρ€Π΅Ρ… констант:

VD0 — линия ΠΏΠΎΡ€Ρ‚Π° PORTC, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ свСтодиодный ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ VD0;

WR_CMPL — Ρ„Π»Π°Π³ готовности рСгистров CNT, PSG ΠΈ ARR ΠΊ Π·Π°ΠΏΠΈΡΠΈ; CNT_ARR_EVENT — Ρ„Π»Π°Π³ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ прСрывания ΠΏΠΎ ΡΠΎΠ±Ρ‹Ρ‚ΠΈΡŽ совпадСния CNT ΠΈ ARR.

Π’ ΡΠ΅ΠΊΡ†ΠΈΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠΎΠ² описаны ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ: frqjnit — настройка тактирования (HSE-Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€) ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° Π½Π° Ρ‡Π°ΡΡ‚ΠΎΡ‚Ρƒ 8 ΠœΠ“ Ρ† (8 388 608 Π“ Ρ†); Timerljnit — инициализация счСтчика-Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° Π‘Π’1 ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ; io_init — инициализация ΠΏΠΎΡ€Ρ‚ΠΎΠ² Π²Π²ΠΎΠ΄Π°Π²Ρ‹Π²ΠΎΠ΄Π°; led_on ΠΈ lcd_off — Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ управлСния (Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΈ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ соотвСтствСнно) свСтодиодными ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°ΠΌΠΈ.

Π’ ΡΠ΅ΠΊΡ†ΠΈΠΈ main осущСствляСтся инициализация Ρ‚Π°ΠΊΡ‚ΠΎΠ²ΠΎΠ³ΠΎ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°, ΠΏΠΎΡ€Ρ‚ΠΎΠ² Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π°, счСтчика-Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° Π‘Π’1 ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ. Π”Π°Π»Π΅Π΅ слСдуСт бСсконСчный Ρ†ΠΈΠΊΠ» while. ВсС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Π·Π°Π΄Π°Π½Π½Ρ‹Π΅ дСйствия Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ΅ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ.

Ѐункция Timerl_init () (см. Ρ€ΠΈΡ. 3.30) ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ счСтчика-Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° Π‘Π’1 Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ. Она Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² ΡΠ΅Π±Ρ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ этапы:

  • — Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ тактирования Π‘Π’1 (Π±ΠΈΡ‚ 14 Π² Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π΅ PER_CLOCK);
  • — Π²Ρ‹Π±ΠΎΡ€ частоты HCLK/128 (8 388 608/128=65 536 Π“Ρ†) Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ источника счСтного сигнала (Π±ΠΈΡ‚ 24 ΠΈ Π±ΠΈΡ‚Ρ‹ 2:0 Π² Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π΅ TIM_CLOCK);
  • — ΠΎΡΡ‚Π°Π½ΠΎΠ² Π‘Π’1 (Π±ΠΈΡ‚ 0 Π² Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π΅ TIMER 1->CNTRL) ΠΈ ΠΎΠ±Π½ΡƒΠ»Π΅Π½ΠΈΠ΅ счСтного рСгистра CNT;
  • — Π²Ρ‹Π±ΠΎΡ€ коэффициСнта дСлСния f/64 для прСддСлитСля (рСгистр TIMER 1->PSG). Частота счСтного сигнала Π½Π° Π²Ρ…ΠΎΠ΄Π΅ прСддСлитСля ΠΏΡ€ΠΈ этом составляСт 65 536/64= 1024 Π“Ρ†. Π—Π°ΠΏΠΈΡΡŒ Π² Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ PSG сопровоТдаСтся ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ Π±ΠΈΡ‚Π° VR_CMPL;
  • — Π²Ρ‹Π±ΠΎΡ€ Π±Π°Π·Ρ‹ основного счСтчика 1024 (рСгистр TIMER 1->ARR). ΠŸΡ€ΠΈ частотС счСтного сигнала 1024 Π“Ρ† Ρ‚акая Π±Π°Π·Π° соотвСтствуСт ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Ρƒ счСта Π² 1 с. Π—Π°ΠΏΠΈΡΡŒ Π² Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ ARR сопровоТдаСтся ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ Π±ΠΈΡ‚Π° WR_CMPL;
  • — Π²Ρ‹Π±ΠΎΡ€ события «CNT==ARR» для гСнСрирования сигнала «Π—Π°ΠΏΡ€ΠΎΡ Π½Π° ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅» ΠΎΡ‚ ΡΡ‡Π΅Ρ‚Ρ‡ΠΈΠΊΠ°-Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° Π‘Π’1 (Π±ΠΈΡ‚ 1 рСгистра счСтчика-Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° TIMER1->IE);
  • — Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ прСрывания IRQ 14 Π² ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π΅ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ NVIC (Π±ΠΈΡ‚ 14 рСгистра ISER[0]);
  • — ΠΏΡƒΡΠΊ счСтчика-Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° Π‘Π’1 (Π±ΠΈΡ‚ 0 Π² Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π΅ TIMER 1->CNTRL).

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ прСрывания Timer MRQHandler ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для пСриодичСского (ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· Π² ΡΠ΅ΠΊΡƒΠ½Π΄Ρƒ) выполнСния ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… дСйствий:

  • — ΠΎΡΡ‚Π°Π½ΠΎΠ² счСтчика-Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° Π‘Π’1 (Π±ΠΈΡ‚ 0 Π² Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π΅ состояния счСтчика-Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° TIMER 1->CNTRL);
  • — ΡΠ±Ρ€ΠΎΡ Ρ„Π»Π°Π³Π° прСрывания CNT_ARRJEVENT Π² Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π΅ состояния счСтчика-Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° TIMER1->STATUS;
  • — ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡ ΠΏΠΎΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠ³ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ свСтодиодных ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² ΠΏΡƒΡ‚Π΅ΠΌ Π°Π½Π°Π»ΠΈΠ·Π° состояния Π±ΠΈΡ‚Π° VD0;
  • — ΠΎΠ±Π½ΡƒΠ»Π΅Π½ΠΈΠ΅ счСтного рСгистра CNT;

Π²Ρ‹Π±ΠΎΡ€ события «CNT—ARR» для гСнСрирования сигнала «Π—Π°ΠΏΡ€ΠΎΡ Π½Π° ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅» ΠΎΡ‚ ΡΡ‡Π΅Ρ‚Ρ‡ΠΈΠΊΠ°-Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° Π‘Π’1 (Π±ΠΈΡ‚ 1 ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π΅Π³ΠΎ рСгистра TIMERI-XE);

— ΠΏΡƒΡΠΊ счСтчика-Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° Π‘Π’1 (Π±ΠΈΡ‚ΠžΠ² рСгистрС TIMER 1->CNTRL).

Π’ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π² Π³Π»Π°Π²Π΅ 3 Π±Ρ‹Π»ΠΈ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ рассмотрСны авторскиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (с 1-ΠΉ ΠΏΠΎ 13-ю). Π­Ρ‚ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ достаточно ΡˆΠΈΡ€ΠΎΠΊΠΈΠΉ ΠΊΡ€ΡƒΠ³ возмоТностСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Cortex-ΠœΠ— ΠΈ Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎ-отладочная ΠΏΠ»Π°Ρ‚Π° Ρ„ΠΈΡ€ΠΌΡ‹ «ΠŸ ΠšΠš ΠœΠΈΠ»Π°Π½Π΄Ρ€». ВсС рассмотрСнныС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ носят ΡƒΡ‡Π΅Π±Π½Ρ‹ΠΉ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€, ΠΈ ΠΈΡ… ΠΎΠ±ΡΡƒΠΆΠ΄Π΅Π½ΠΈΠ΅ проводится Π² ΠΏΠΎΡ€ΡΠ΄ΠΊΠ΅ ΠΎΡ‚ ΠΏΡ€ΠΎΡΡ‚ΠΎΠ³ΠΎ ΠΊ Π±ΠΎΠ»Π΅Π΅ слоТному. Π’Π°ΠΊ, пСрвая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° касаСтся элСмСнтарных дСйствий ΠΏΠΎ ΠΊΠΎΠΌΠΌΡƒΡ‚Π°Ρ†ΠΈΠΈ свСтодиодных ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ². Π’ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ рассмотрСны вопросы программирования часов Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π² Π·ΠΎΠ½Π΅ Π±Π°Ρ‚Π°Ρ€Π΅ΠΉΠ½ΠΎΠ³ΠΎ питания ΠΈ ΡΡ‡Π΅Ρ‚Ρ‡ΠΈΠΊΠ°-Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ. Π’Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΡƒΡ‡Π΅Π±Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ с ΠΏΡ€ΠΈΠ²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ΠΌ тСорСтичСского ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π° ΠΏΠ΅Ρ€Π²Ρ‹Ρ… Π΄Π²ΡƒΡ… Π³Π»Π°Π² Π΄Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π² ΡΡƒΡ‚ΠΈ обсуТдаСмых вопросов.

НСобходимо ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠ½ΡƒΡ‚ΡŒ Π΄Π²Π° Π²Π°ΠΆΠ½Ρ‹Ρ… Ρ„Π°ΠΊΡ‚Π°, обусловлСнныС ΡƒΡ‡Π΅Π±Π½ΠΎΠΉ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°.

Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, всС ΡƒΡ‡Π΅Π±Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ написаны Π±Π΅Π· использования стандартных Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° (SPL) ΠΈΠ»ΠΈ стандарта CMSIS. Π’ΠΎ Π²ΡΠ΅Ρ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… использован Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ систСмного программирования, Π·Π°ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΉΡΡ Π² ΠΏΡ€ΡΠΌΠΎΠΌ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊ Π½ΡƒΠΆΠ½Ρ‹ΠΌ рСгистрам ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°. Π’ΠΎ Π²ΡΠ΅Ρ… случаях оказалось достаточно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π²Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ„Π°ΠΉΠ»Π°: ΠΎΠ±Ρ‰ΠΈΠΉ Ρ„Π°ΠΉΠ»Π° MDR32Fx. h Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ рСсурсов ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² сСмСйства Cortex-ΠœΠ— ΠΈ Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ MDR32F9Qx_conf ig. h Π΄Π»Ρ настройки Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ΅ ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠΉΠ½ΠΎΠ΅ ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅.

Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, Π·Π° Ρ€Π°ΠΌΠΊΠ°ΠΌΠΈ обсуТдаСмых вопросов остался ΠΎΠ±ΡˆΠΈΡ€Π½Ρ‹ΠΉ ΠΊΡ€ΡƒΠ³ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… возмоТностСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Cortex-ΠœΠ— ΠΈ Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎ-отладочная ΠΏΠ»Π°Ρ‚Π° Ρ„ΠΈΡ€ΠΌΡ‹ «ΠŸ ΠšΠš ΠœΠΈΠ»Π°Π½Π΄Ρ€». Π’Π°ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΌΡ‹ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ интСрфСсных ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² (USART, I2C/SPI. CAN, USB) ΠΈΠ»ΠΈ использовании ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ (ΠžΠ‘Π Π’). Π­Ρ‚Π° ΠΎΠ±ΡˆΠΈΡ€Π½Π°Ρ Ρ‚Π΅ΠΌΠ° Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ обсуТдСния. УпомянСм лишь Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ возмоТности, прСдоставлСмыС Π² Ρ€Π°ΡΠΏΠΎΡ€ΡΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΡŒΠ½Ρ‹Π΅ стСки. Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΌΠΎΡ‡ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ Π² ΡƒΡΠΊΠΎΡ€Π΅Π½ΠΈΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, компания STM Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π»Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ для ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² STM32, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠΆΠ½ΠΎ свободно Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ с Π²Π΅Π±-сайта ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня всСх встроСнных устройств Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° (Π£Π’Π’). ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ составныС Π±Π»ΠΎΠΊΠΈ, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ собствСнный ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. USB-ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ являСтся Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ слоТным устройством Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π°. Для облСгчСния Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространСнных USB-классов компания ST ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ бСсплатный Π½Π°Π±ΠΎΡ€ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ USB-устройств. Π­Ρ‚ΠΎΡ‚ Π½Π°Π±ΠΎΡ€, Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΊΠ°ΠΊ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ с Π²Π΅Π±-сайта ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ STM. Π’ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚ Π½Π°Π±ΠΎΡ€Π° для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ USB-устройств входят USB-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΈ Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для классов HID, Mass Storage, Audio ΠΈ Device Field Upgrade.

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ систСмы Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Cortex-M3 ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ достаточно большой Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΌΠΎΡ‰Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ сопоставимыми ΠΏΠΎ ΡΡ‚оимости ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°ΠΌΠΈ ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠžΠ‘Π Π’. Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‰ΠΈΠΌΠΈ нСбольшоС мСсто Π² ΠΏΠ°ΠΌΡΡ‚ΠΈ. ΠŸΡ€ΠΈ освоСнии этого ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° Π²Π°ΠΆΠ½ΠΎ ΡƒΠ΄Π΅Π»ΠΈΡ‚ΡŒ Π΅Π΅ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΡŽ особоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅. ИспользованиС ΠžΠ‘Π Π’ Π΄Π°Π΅Ρ‚ прСимущСства Π±ΠΎΠ»Π΅Π΅ абстрактной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π±ΠΎΠ»Π΅Π΅ ΡˆΠΈΡ€ΠΎΠΊΠΈΡ… возмоТностСй ΠΏΠΎ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠΌΡƒ использованию ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Π±ΠΎΠ»Π΅Π΅ простого управлСния ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡˆΠΈΡ€ΠΎΠΊΠΈΡ… возмоТностСй ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ. ИспользованиС ΠžΠ‘Π Π’ Ρ‚Π°ΠΊΠΆΠ΅ позволяСт ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ. МногиС поставщики компиляторов ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ свои собствСнныС ΠžΠ‘Π Π’, ΠΎΠ΄Π½Π°ΠΊΠΎ Π½Π°ΠΈΠ±ΠΎΠ»ΡŒΡˆΡƒΡŽ ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ срСди ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ ΠΈΠΌΠ΅Π΅Ρ‚ FreeRTOS. Π•Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ с ΡΠ°ΠΉ Π³Π° http://www.freertos.org. ΠšΠΎΠΌΠΌΠ΅Ρ€Ρ‡Π΅ΡΠΊΠ°Ρ вСрсия FreeRTOS называСтся SafeRTOS. Она протСстирована Π½Π° ΡΠΎΠΎΡ‚вСтствиС стандарту бСзопасности IEC 61 508 ΠΈ Π΄ΠΎΡΡ‚ΡƒΠΏΠ½Π° Π½Π° Ρ‚ΠΎΠΌ ΠΆΠ΅ сайтС.

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ