Как ΠΈ Π·Π°Ρ‰ΠΎ Π΄Π° Ρ‡Π΅Ρ‚Π΅ΠΌ Π΄Π°Ρ‚Π°ΡˆΠΈΡ‚ΠΈ, Π°ΠΊΠΎ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ΠΈΡ‚Π΅ са Π²Π°ΡˆΠ΅Ρ‚ΠΎ Ρ…ΠΎΠ±ΠΈ

Как ΠΈ Π·Π°Ρ‰ΠΎ Π΄Π° Ρ‡Π΅Ρ‚Π΅ΠΌ Π΄Π°Ρ‚Π°ΡˆΠΈΡ‚ΠΈ, Π°ΠΊΠΎ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ΠΈΡ‚Π΅ са Π²Π°ΡˆΠ΅Ρ‚ΠΎ Ρ…ΠΎΠ±ΠΈ

ΠœΠΈΠΊΡ€ΠΎΠ΅Π»Π΅ΠΊΡ‚Ρ€ΠΎΠ½ΠΈΠΊΠ°Ρ‚Π° Π΅ ΠΌΠΎΠ΄Π½ΠΎ ΡƒΠ²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π² послСднитС Π³ΠΎΠ΄ΠΈΠ½ΠΈ, Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅ Π½Π° магичСския Arduino. Но Π΅Ρ‚ΠΎ Π³ΠΎ ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚: ΠΏΡ€ΠΈ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π΅Π½ интСрСс, Π±ΡŠΡ€Π·ΠΎ ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π²Π°ΠΌΠ΅ ΠΏΠΎΠΊΡ€Π°ΠΉ DigitalWrite(), Π° ΠΊΠ°ΠΊΠ²ΠΎ Π΄Π° ΠΏΡ€Π°Π²ΠΈΠΌ слСд Ρ‚ΠΎΠ²Π° Π½Π΅ Π΅ съвсСм ясно. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ Π½Π° Arduino ΠΏΠΎΠ»ΠΎΠΆΠΈΡ…Π° ΠΌΠ½ΠΎΠ³ΠΎ усилия, Π·Π° Π΄Π° намалят ΠΏΡ€Π°Π³Π° Π½Π° Π²Π»ΠΈΠ·Π°Π½Π΅ Π² своята СкосистСма, Π½ΠΎ извън нСя всС ΠΎΡ‰Π΅ сС Ρ‚ΡŠΠ»ΠΏΡΡ‚ Ρ‚ΡŠΠΌΠ½ΠΈΠ½Π°Ρ‚Π° Π½Π° суровата схСмотСхника, Π½Π΅Π΄ΠΎΡΡ‚ΡŠΠΏΠ½Π° Π·Π° Π»ΡŽΠ±ΠΈΡ‚Π΅Π»Ρ.

НапримСр, Π΄Π°Ρ‚Π°ΡˆΠΈΡ‚ΠΈ. ИзглСТда, Ρ‡Π΅ Π² тях ΠΈΠΌΠ° всичко, Π²Π·ΠΈΠΌΠ°ΠΉ ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉ. Но Π°Π²Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ ΠΈΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ Π½Π΅ поставят ΠΏΡ€Π΅Π΄ сСбС си Π·Π°Π΄Π°Ρ‡Π°Ρ‚Π° Π΄Π° популяризират ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ΠΈΡ‚Π΅; понякога ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π°, Ρ‡Π΅ ΡƒΠΌΠΈΡˆΠ»Π΅Π½ΠΎ злоупотрСбяват с Π½Π΅Ρ€Π°Π·Π±ΠΈΡ€Π°Π΅ΠΌΠΈ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΈ ΠΈ Π°Π±Ρ€Π΅Π²ΠΈΠ°Ρ‚ΡƒΡ€ΠΈ ΠΏΡ€ΠΈ описаниС Π½Π° проститС Π½Π΅Ρ‰Π°, Π·Π° Π΄Π° ΠΎΠ±ΡŠΡ€ΠΊΠ°Ρ‚ максимално нСпосвСтСнитС. Но Π½Π΅ всичко Π΅ Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° лошо, ΠΏΡ€ΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ Ρ‚Π°ΠΉΠ½ΠΈΡ†Π°Ρ‚Π° сС отваря.

Π’ Ρ‚Π°Π·ΠΈ статия Ρ‰Π΅ сподСля ΠΎΠΏΠΈΡ‚ ΠΎΡ‚ ΠΎΠ±Ρ‰ΡƒΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° хуманитарист с Π΄Π°Ρ‚Π°ΡˆΠΈΡ‚ΠΈΡ‚Π΅ Π² Ρ…ΠΎΠ±ΠΈ Ρ†Π΅Π»ΠΈ. Π’Π΅ΠΊΡΡ‚ΡŠΡ‚ Π΅ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ Π·Π° Π»ΡŽΠ±ΠΈΡ‚Π΅Π»ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ са израснали ΠΎΡ‚ ΡˆΡ‚Π°Π½ΠΈΡˆΠΊΠΈΡ‚Π΅ Π½Π° Arduino, ΠΈ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π° извСстно прСдставлСниС Π·Π° ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΡ‚Π΅ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° Π½Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ΠΈΡ‚Π΅.

Π©Π΅ Π·Π°ΠΏΠΎΡ‡Π½Π° с Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎΡ‚ΠΎ

МигаСм свСтодиод Π½Π° Arduino

И вСднага код:

void setup() {
DDRB |= (1<<5);
}

void loop() {
PINB = (1<<5);
for (volatile uint32_t k=0; k<100000; k++);
}

β€žΠšΠ°ΠΊΠ²ΠΎ Π΅ Ρ‚ΠΎΠ²Π°? – Ρ‰Π΅ ΠΏΠΎΠΏΠΈΡ‚Π° опитният Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π». – Π—Π°Ρ‰ΠΎ пишСш Π½Π΅Ρ‰ΠΎ Π² входния Ρ€Π΅Π³ΠΈΡΡ‚ΡŠΡ€ PINB? Π’ΠΎΠΉ Π΅ само Π·Π° Ρ‡Π΅Ρ‚Π΅Π½Π΅!β€œ Π’ дСйствитСлност, докумСнтацията Π½Π° Arduino, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ ΠΏΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ ΡƒΡ‡Π΅Π±Π½ΠΈ статии Π² ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚, Ρ‚Π²ΡŠΡ€Π΄ΠΈ, Ρ‡Π΅ Ρ‚ΠΎΠ·ΠΈ Ρ€Π΅Π³ΠΈΡΡ‚ΡŠΡ€ Π΅ само Π·Π° Ρ‡Π΅Ρ‚Π΅Π½Π΅. И Π°Π· самият мислСх Ρ‚Π°ΠΊΠ°, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ Π½Π΅ ΠΏΡ€Π΅Π³Π»Π΅Π΄Π°Ρ… Π΄Π°Ρ‚Π°ΡˆΠΈΡ‚ Atmega328p, подготвяйки Ρ‚Π°Π·ΠΈ статия. А Ρ‚Π°ΠΌ:

Как ΠΈ Π·Π°Ρ‰ΠΎ Π΄Π° Ρ‡Π΅Ρ‚Π΅ΠΌ Π΄Π°Ρ‚Π°ΡˆΠΈΡ‚ΠΈ, Π°ΠΊΠΎ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ΠΈΡ‚Π΅ са Π²Π°ΡˆΠ΅Ρ‚ΠΎ Ρ…ΠΎΠ±ΠΈ

Π’ΠΎΠ²Π° Π΅ сравнитСлно Π½ΠΎΠ²Π° функционалност, която Π½Π΅ Π΅ Π±ΠΈΠ»Π° Π½Π°Π»ΠΈΡ‡Π½Π° ΠΏΡ€ΠΈ Atmega8, Π·Π° нСя Π½Π΅ всички знаят ΠΈΠ»ΠΈ Π½Π΅ спомСнават ΠΏΠΎΡ€Π°Π΄ΠΈ ΡΡŠΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡ Π·Π° ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚. Но Π΅ напълно подходяща Π·Π° дСмонстриранС Π½Π° ΠΌΠΈΡΡŠΠ»Ρ‚Π°, Ρ‡Π΅ Π΄Π°Ρ‚Π°ΡˆΠΈΡ‚ΠΈΡ‚Π΅ трябва Π΄Π° сС Ρ‡Π΅Ρ‚Π°Ρ‚, Π·Π° Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ всички Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ Π½Π° Ρ‡ΠΈΠΏΠ°, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΈ ΠΌΠ°Π»ΠΊΠΎ извСстнитС. И Ρ‚ΠΎΠ²Π° Π½Π΅ Π΅ СдинствСната ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°.

Π—Π°Ρ‰ΠΎ ΠΎΡ‰Π΅ Π΄Π° Ρ‡Π΅Ρ‚Π΅ΠΌ Π΄Π°Ρ‚Π°ΡˆΠΈΡ‚ΠΈ

ОбикновСно Π°Ρ€Π΄ΡƒΠΈΠ½ΠΈΡ‚Π΅, слСд ΠΊΠ°Ρ‚ΠΎ сС поиграят с Π΄ΠΈΠΎΠ΄ΠΈΡ‚Π΅ ΠΈ AnalogWrite-ΠΎΠ²Π΅Ρ‚Π΅, Π·Π°ΠΏΠΎΡ‡Π²Π°Ρ‚ Π΄Π° ΡΠ²ΡŠΡ€Π·Π²Π°Ρ‚ към ΠΏΠ»Π°Ρ‚ΠΊΠ°Ρ‚Π° всякакви ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΈ Ρ‡ΠΈΠΏΠΎΠ²Π΅, Π·Π° ΠΊΠΎΠΈΡ‚ΠΎ Π²Π΅Ρ‡Π΅ са написани Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ. Π Π°Π½ΠΎ ΠΈΠ»ΠΈ късно сС появява Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°, която Π½Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΊΠ°ΠΊΡ‚ΠΎ трябва. Π’ΠΎΠ³Π°Π²Π° Π»ΡŽΠ±ΠΈΡ‚Π΅Π»ΡΡ‚ Π·Π°ΠΏΠΎΡ‡Π²Π° Π΄Π° я ΠΊΠΎΠ²Π΅, Π·Π° Π΄Π° я ΠΏΠΎΠΏΡ€Π°Π²ΠΈ, Π° Ρ‚Π°ΠΌ...

А Ρ‚Π°ΠΌ сС случва Π½Π΅Ρ‰ΠΎ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΡ‡Π½ΠΎ Π½Π΅Ρ€Π°Π·Π±ΠΈΡ€Π°Π΅ΠΌΠΎ, Π·Π°Ρ‚ΠΎΠ²Π° сС Π½Π°Π»Π°Π³Π° Π΄Π° сС ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΠΌ към Π“ΡƒΠ³ΡŠΠ», Π΄Π° Ρ‡Π΅Ρ‚Π΅ΠΌ ΠΌΠ½ΠΎΠ³ΠΎΠ±Ρ€ΠΎΠΉΠ½ΠΈ Ρ‚ΡŽΡ‚ΠΎΡ€ΠΈΠ°Π»ΠΈ, Π΄Π° ΠΈΠ·Π²Π»ΠΈΡ‡Π°ΠΌΠ΅ Π½Π° части Π½Π΅Ρ‡ΠΈΠΉ подходящ ΠΊΠΎΠ΄ ΠΈ накрая Π΄Π° постигнСм Ρ†Π΅Π»Ρ‚Π° си. Π’ΠΎΠ²Π° Π΄Π°Π²Π° силно усСщанС Π·Π° постиТСниС, Π½ΠΎ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° ΠΏΡ€ΠΎΡ†Π΅ΡΡŠΡ‚ напомня Π½Π° изобрСтяванСто Π½Π° вСлосипСда Ρ‡Ρ€Π΅Π· рСвСрс-ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΈΠ½Π³ Π½Π° ΠΌΠΎΡ‚ΠΎΡ†ΠΈΠΊΠ»Π΅Ρ‚Π°. Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‚ΠΎΠ²Π°, Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚ΠΈ Ρ‚ΠΎΠ·ΠΈ вСлосипСд Π½Π΅ сС ΡƒΠ²Π΅Π»ΠΈΡ‡Π°Π²Π°. Π—Π½Π°ΠΌ, Π·Π°Ρ‰ΠΎΡ‚ΠΎ сам сС Π·Π°Π½ΠΈΠΌΠ°Π²Π°Ρ… с Ρ‚ΠΎΠ²Π° доста дълго.

Ако вмСсто Ρ‚ΠΎΠ²Π° Π·Π°Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ бях ΠΏΡ€Π΅ΠΊΠ°Ρ€Π°Π» няколко Π΄Π½ΠΈ Π² ΠΈΠ·ΡƒΡ‡Π°Π²Π°Π½Π΅ Π½Π° докумСнтацията Π½Π° Atmega328, Π±ΠΈΡ… спСстил ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎ количСство Π²Ρ€Π΅ΠΌΠ΅. Π’ ΠΊΡ€Π°ΠΉΠ½Π° смСтка, Ρ‚ΠΎΠ²Π° Π΅ доста прост ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€.

Π’Π°ΠΊΠ° Ρ‡Π΅, Π²Π°ΠΆΠ½ΠΎ Π΅ Π΄Π° Ρ‡Π΅Ρ‚Π΅ΠΌ Π΄Π°Ρ‚Π°ΡˆΠΈΡ‚ΠΈΡ‚Π΅, ΠΏΠΎΠ½Π΅ Π·Π° Π΄Π° ΠΈΠΌΠ°ΠΌΠ΅ прСдстава ΠΊΠ°ΠΊΠ²ΠΎ Π΅ ΠΈΠ·ΠΎΠ±Ρ‰ΠΎ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ΡŠΡ‚ ΠΈ ΠΊΠ°ΠΊΠ²ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡ€Π°Π²ΠΈ. И ΠΎΡ‰Π΅:

  • Π·Π° Π΄Π° провСрявамС ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°ΠΌΠ΅ Ρ‡ΡƒΠΆΠ΄ΠΈΡ‚Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ. ЧСсто Π³ΠΈ ΠΏΠΈΡˆΠ°Ρ‚ ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Π»ΡŽΠ±ΠΈΡ‚Π΅Π»ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ изобрСтяват вСлосипСда; ΠΈΠ»ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ, Π°Π²Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ ΡƒΠΌΠΈΡˆΠ»Π΅Π½ΠΎ правят излишна Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ нСкомпСтСнтност. НСка Π΄Π° Π΅ Ρ‚Ρ€ΠΈ ΠΏΡŠΡ‚ΠΈ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΈ ΠΏΠΎ-Π±Π°Π²Π½ΠΎ, Π½ΠΎ ΠΏΠΎΠ½Π΅ Π΄Π° сработи;

  • Π·Π° Π΄Π° ΠΈΠΌΠ°ΠΌΠ΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Ρ‡ΠΈΠΏΠΎΠ²Π΅, Π·Π° ΠΊΠΎΠΈΡ‚ΠΎ Π½ΠΈΠΊΠΎΠΉ Π½Π΅ Π΅ написал Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°;

  • Π·Π° Π΄Π° си улСсним Π·Π°Π΄Π°Ρ‡Π°Ρ‚Π° ΠΏΡ€ΠΈ миграция ΠΎΡ‚ Π΅Π΄Π½Π° линия MC Π½Π° Π΄Ρ€ΡƒΠ³Π°;

  • Π·Π° Π΄Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°ΠΌΠ΅ стария си ΠΊΠΎΠ΄, ΠΊΠΎΠΉΡ‚ΠΎ Π½Π΅ моТСшС Π΄Π° Π²Π»Π΅Π·Π΅ Π² Ардуино;

  • Π·Π° Π΄Π° сС Π½Π°ΡƒΡ‡ΠΈΠΌ Π΄Π° управлявамС всСки Ρ‡ΠΈΠΏ Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ Ρ‡Ρ€Π΅Π· Π½Π΅Π³ΠΎΠ²ΠΈΡ‚Π΅ рСгистри, Π±Π΅Π· Π΄Π° сС затруднявамС с ΠΈΠ·ΡƒΡ‡Π°Π²Π°Π½Π΅ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈΡ‚Π΅ ΠΌΡƒ, Π°ΠΊΠΎ ΠΈΠ·ΠΎΠ±Ρ‰ΠΎ ΠΈΠΌΠ° Ρ‚Π°ΠΊΠΈΠ²Π°.

Π—Π°Ρ‰ΠΎ Π΄Π° пишСм Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ Π² рСгистритС, ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΈΠΌΠ°ΠΌΠ΅ HAL ΠΈ LL?

Глосар
HAL, High Abstraction Layer – Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ с високастСпСни абстракция. Ако Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° интСрфСйс SPI1, просто Π³ΠΎ настройвамС ΠΈ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°ΠΌΠ΅, Π±Π΅Π· Π΄Π° сС замислямС ΠΊΠΎΠΈ рСгистри Π·Π° ΠΊΠ°ΠΊΠ²ΠΎ отговарят.
LL, Low Level API – Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°, ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Ρ‰Π° макроси ΠΈΠ»ΠΈ структури с адрСси Π½Π° рСгистри, позволяваща Π΄Π° сС Π΄ΠΎΡΡ‚ΡŠΠΏΠ²Π° Π΄ΠΎ тях ΠΏΠΎ ΠΈΠΌΠ΅. DDRx, PORTx, PINx Π½Π° АтмСга – Ρ‚ΠΎΠ²Π° Π΅ LL.

Π‘ΠΏΠΎΡ€ΠΎΠ²Π΅Ρ‚Π΅ относно 'HAL, LL ΠΈΠ»ΠΈ рСгистри' рСгулярно сС случват Π² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΡ‚Π΅ Π½Π° Π₯Π°Π±Ρ€Π°. Π‘Π΅Π· Π΄Π° ΠΏΡ€Π΅Ρ‚Π΅Π½Π΄ΠΈΡ€Π°ΠΌ Π·Π° Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ астрално Π·Π½Π°Π½ΠΈΠ΅, просто Ρ‰Π΅ сподСля собствСния си ΠΎΠΏΠΈΡ‚ ΠΈ размисли.

Π‘Π»Π΅Π΄ ΠΊΠ°Ρ‚ΠΎ Π³ΠΎΡ€Π΅-Π΄ΠΎΠ»Ρƒ Ρ€Π°Π·Π±Ρ€Π°Ρ… АтмСгата ΠΈ ΠΏΡ€ΠΎΡ‡Π΅Ρ‚ΠΎΡ… статии Π·Π° чудСсата Π½Π° STM32, Π·Π°ΠΊΡƒΠΏΠΈΡ… полдюТина Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΏΠ»Π°Ρ‚ΠΊΠΈ – ΠΎΡ‚ Discovery Π΄ΠΎ β€žΠ‘ΠΈΠ½ΠΈΡ‚Π΅ Π’Π°Π±Π»Π΅Ρ‚ΠΊΠΈβ€œ ΠΈ Π΄ΠΎΡ€ΠΈ само Ρ‡ΠΈΠΏΠΎΠ²Π΅ Π·Π° ΠΌΠΎΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ. Π’Π΅ стояха Π΄Π²Π΅ Π³ΠΎΠ΄ΠΈΠ½ΠΈ Π² кутия. Понякога си ΠΊΠ°Π·Π²Π°Ρ…: β€žΠ•Ρ‚ΠΎ, ΠΎΡ‚ Ρ‚Π΅Π·ΠΈ ΡƒΠΈΠΊΠ΅Π½Π΄ΠΈ Ρ‰Π΅ сС Π½Π°ΡƒΡ‡Π° Π½Π° STMβ€œ, стартирах CubeMX, Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Ρ… настройка Π·Π° SPI, Π³Π»Π΅Π΄Π°Ρ… Π½Π° ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π°Ρ‚Π° стСна с тСкст, Ρ‰Π΅Π΄Ρ€ΠΎ украсСна с авторски ΠΏΡ€Π°Π²Π° Π½Π° STM, ΠΈ Ρ€Π΅ΡˆΠ°Π²Π°Ρ…, Ρ‡Π΅ Ρ‚ΠΎΠ²Π° Π΅ Π½Π΅Ρ‰ΠΎ Ρ‚Π²ΡŠΡ€Π΄Π΅ слоТно.

Как ΠΈ Π·Π°Ρ‰ΠΎ Π΄Π° Ρ‡Π΅Ρ‚Π΅ΠΌ Π΄Π°Ρ‚Π°ΡˆΠΈΡ‚ΠΈ, Π°ΠΊΠΎ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ΠΈΡ‚Π΅ са Π²Π°ΡˆΠ΅Ρ‚ΠΎ Ρ…ΠΎΠ±ΠΈ

Π Π°Π·Π±ΠΈΡ€Π° сС, Ρ‡Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° сС Ρ€Π°Π·Π±Π΅Ρ€Π΅ ΠΊΠ°ΠΊΠ²ΠΎ Π΅ написал CubeMX. Но Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π΅ ясно, Ρ‡Π΅ запомнянСто Π½Π° всички Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²ΠΊΠΈ, Π·Π° Π΄Π° ΠΌΠΎΠ³Π° послС Π΄Π° Π³ΠΈ пиша Π½Π° Ρ€ΡŠΠΊΠ°, Π΅ Π½Π΅Ρ€Π΅Π°Π»Π½ΠΎ. А пък Π°ΠΊΠΎ случайно забравя Π² ΠšΡƒΠ±Π° Π΄Π° слоТа някаква ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠ°, ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π° страна, Π΅ Π½Π°ΠΏΡ€Π°Π²ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ.

Π”Π²Π΅ Π³ΠΎΠ΄ΠΈΠ½ΠΈ ΠΌΠΈΠ½Π°Ρ…Π°, Π°Π· всС ΠΎΡ‰Π΅ сС запасявам с ST MCU Finder Π·Π° всякакви вкусни, Π½ΠΎ Π½Π΅Π΄ΠΎΡΡ‚ΡŠΠΏΠ½ΠΈ Π·Π° ΠΌΠ΅Π½ Ρ‡ΠΈΠΏΠΎΠ²Π΅ ΠΈ случайно сС Π½Π°Ρ‚ΡŠΠΊΠ½Π°Ρ… Π½Π° страхотна статия, ΠΌΠ°ΠΊΠ°Ρ€ ΠΈ Π·Π° STM8. И извСднъТ ΠΎΡΡŠΠ·Π½Π°Ρ…, Ρ‡Π΅ ΠΏΡ€Π΅Π· цялото Π²Ρ€Π΅ΠΌΠ΅ съм Ρ‡ΡƒΠΊΠ°Π» Π½Π° ΠΎΡ‚Π²ΠΎΡ€Π΅Π½Π° Π²Ρ€Π°Ρ‚Π°: рСгистритС Π½Π° STM са устроСни ΠΏΠΎ ΡΡŠΡ‰ΠΈΡ Π½Π°Ρ‡ΠΈΠ½, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΏΡ€ΠΈ всяко Π΄Ρ€ΡƒΠ³ΠΎ МК, ΠΈ Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° с тях ΠšΡƒΠ±ΡŠΡ‚ Π½Π΅ Π΅ Π·Π°Π΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π΅Π½. Какво, наистина моТСшС Π»ΠΈ?...

HAL ΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ STM32CubeMX са инструмСнт Π·Π° профСсионални ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ работят ΠΏΠ»ΡŠΡ‚Π½ΠΎ с Ρ‡ΠΈΠΏΠΎΠ²Π΅Ρ‚Π΅ STM32. ΠžΡΠ½ΠΎΠ²Π½ΠΎΡ‚ΠΎ прСдимство Π΅ високото Π½ΠΈΠ²ΠΎ Π½Π° абстракция, Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° Π±ΡŠΡ€Π·ΠΎ ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅ ΠΎΡ‚ Π΅Π΄ΠΈΠ½ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ Π½Π° Π΄Ρ€ΡƒΠ³ ΠΈ Π΄ΠΎΡ€ΠΈ ΠΎΡ‚ Π΅Π΄Π½ΠΎ ядро Π½Π° Π΄Ρ€ΡƒΠ³ΠΎ, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ остават Π² Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° сСмСйството STM32. Π›ΡŽΠ±ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅ рядко сС ΡΠ±Π»ΡŠΡΠΊΠ²Π°Ρ‚ с Ρ‚Π°ΠΊΠΈΠ²Π° Π·Π°Π΄Π°Ρ‡ΠΈ – Π½Π°ΡˆΠΈΡΡ‚ ΠΈΠ·Π±ΠΎΡ€ Π½Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ΠΈ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ Π΄ΠΎ асортимСнта Π½Π° AliExpress, ΠΈ Π½ΠΈΠ΅ ΠΏΠΎ-чСсто ΠΌΠΈΠ³Ρ€ΠΈΡ€Π°ΠΌΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ напълно Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Ρ‡ΠΈΠΏΠΎΠ²Π΅ – ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π²Π°ΠΌΠ΅ ΠΎΡ‚ АтмСга Π½Π° STM, ΠΎΡ‚ STM Π½Π° ESP ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠ²ΠΎΡ‚ΠΎ Ρ‚Π°ΠΌ Π½ΠΎΠ²ΠΎ Π½ΠΈ ΠΏΠΎΠ΄Ρ…Π²ΡŠΡ€Π»ΡΡ‚ китайскитС приятСли. HAL Ρ‚ΡƒΠΊ няма Π΄Π° ΠΏΠΎΠΌΠΎΠ³Π½Π΅, Π° ΠΈΠ·ΡƒΡ‡Π°Π²Π°Π½Π΅Ρ‚ΠΎ ΠΌΡƒ ΠΎΡ‚Π½Π΅ΠΌΠ° доста Π²Ρ€Π΅ΠΌΠ΅.

ΠžΡΡ‚Π°Π²Π° LL – Π½ΠΎ Π΄ΠΎ рСгистритС ΠΈΠΌΠ° само Π΅Π΄Π½Π° ΠΊΡ€Π°Ρ‡ΠΊΠ°. Π›ΠΈΡ‡Π½ΠΎ Π°Π· Π½Π°ΠΌΠΈΡ€Π°ΠΌ написванСто Π½Π° своитС макроси с адрСситС Π½Π° рСгистритС Π·Π° ΠΏΠΎΠ»Π΅Π·Π½ΠΎ: ΠΏΠΎ-Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»Π½ΠΎ ΠΈΠ·ΡƒΡ‡Π°Π²Π°ΠΌ Π΄Π°Ρ‚Π°Ρ‰ΠΈΡ‚Π°, обмислям ΠΊΠ°ΠΊΠ²ΠΎ Ρ‰Π΅ ΠΌΠΈ бъдС Π½ΡƒΠΆΠ½ΠΎ Π² Π±ΡŠΠ΄Π΅Ρ‰Π΅, Π° ΠΊΠ°ΠΊΠ²ΠΎ със сигурност Π½Π΅, Π½Π°ΠΉ-Π΄ΠΎΠ±Ρ€Π΅ структурирах ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ‚Π΅ си, Π° ΠΈ прСодоляванСто Π½Π° трудноститС ΠΏΠΎΠΌΠ°Π³Π° Π·Π° запомнянС.

ОсвСн Ρ‚ΠΎΠ²Π°, ΠΈΠΌΠ° нюанс с популярния STM32F103 – Π·Π° Π½Π΅Π³ΠΎ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‚ Π΄Π²Π΅ Π½Π΅ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΈ вСрсии Π½Π° LL, Π΅Π΄Π½Π°Ρ‚Π° ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»Π½Π° ΠΎΡ‚ STM, Π° Π΄Ρ€ΡƒΠ³Π°Ρ‚Π° – ΠΎΡ‚ Leaf Labs, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π° Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° STM32duino. Ако пиша open-source Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° (Π° Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊΠ°Π²Π° бСшС Π·Π°Π΄Π°Ρ‡Π°Ρ‚Π° ΠΌΠΈ), трябва ΠΈΠ»ΠΈ Π΄Π° направя Π΄Π²Π΅ вСрсии, ΠΈΠ»ΠΈ Π΄Π° сС ΠΎΠ±Ρ€Π°Ρ‰Π°ΠΌ Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ към рСгистритС.

Накрая, ΠΎΡ‚ΠΊΠ°Π·ΡŠΡ‚ ΠΎΡ‚ LL, Π½Π° ΠΌΠΎΠ΅ ΠΌΠ½Π΅Π½ΠΈΠ΅, опрости миграцията, особСно Π°ΠΊΠΎ сС Π·Π°Π»ΠΎΠΆΠΈ Π½Π° Π½Π΅Π³ΠΎ ΠΎΡ‰Π΅ ΠΎΡ‚ Π½Π°Ρ‡Π°Π»ΠΎΡ‚ΠΎ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° ΠΏΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. ΠŸΡ€Π΅ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€: Ρ‰Π΅ напишСм Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ-Π±Π»ΠΈΠ½ΠΊ Π² Atmel Studio Π±Π΅Π· LL:

#include <stdint.h>

#define _REG(addr) (*(volatile uint8_t*)(addr))

#define DDR_B 0x24
#define OUT_B 0x25

int main(void)
{
    volatile uint32_t k;

    _REG(DDR_B) |= (1<<5);

    while(1)
    {
        _REG(OUT_B) |= (1<<5);
        for (k=0; k<50000; k++);
        _REG(OUT_B) &= ~(1<<5);
        for (k=0; k<50000; k++);
    } 
}

Π—Π° Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅ Ρ‚ΠΎΠ·ΠΈ ΠΊΠΎΠ΄ Π΄Π° ΠΌΠΈΠ³Π° с LED Π½Π° китайската ΠΏΠ»Π°Ρ‚ΠΊΠ° с STM8 (ΠΎΡ‚ ST Visual Desktop), Π΅ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ Π΄Π° смСня Π΄Π²Π° адрСса:

#define DDR_B 0x5007
#define OUT_B 0x5005

Π”Π°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌ особСността Π½Π° ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° LED Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Π°Ρ‚Π° ΠΏΠ»Π°Ρ‚ΠΊΠ°, Ρ‰Π΅ ΠΌΠΈΠ³Π° ΠΌΠ½ΠΎΠ³ΠΎ Π±Π°Π²Π½ΠΎ, Π½ΠΎ всС ΠΏΠ°ΠΊ Ρ‰Π΅ ΠΈΠΌΠ°!

Какви са Π²ΠΈΠ΄ΠΎΠ²Π΅ Π΄Π°Ρ‚Π°ΡˆΠΈΡ‚ΠΈ

Π’ статиитС ΠΈ Ρ„ΠΎΡ€ΡƒΠΌΠΈΡ‚Π΅, ΠΊΠ°ΠΊΡ‚ΠΎ Π½Π° руски, Ρ‚Π°ΠΊΠ° ΠΈ Π½Π° английски, ΠΏΠΎΠ΄ β€žΠ΄Π°Ρ‚Π°ΡˆΠΈΡ‚ΠΈβ€œ сС ΠΈΠΌΠ° ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ всяка тСхничСска докумСнтация Π·Π° Ρ‡ΠΈΠΏΠΎΠ²Π΅Ρ‚Π΅, Ρ‚Π°ΠΊΠ° ΠΏΠΎΡΡ‚ΡŠΠΏΠ²Π°ΠΌ ΠΈ Π°Π· Π² Ρ‚ΠΎΠ·ΠΈ тСкст. Π€ΠΎΡ€ΠΌΠ°Π»Π½ΠΎ Ρ‚Π΅ са само Π΅Π΄ΠΈΠ½ ΠΎΡ‚ Π²ΠΈΠ΄ΠΎΠ²Π΅Ρ‚Π΅ Ρ‚Π°ΠΊΠ°Π²Π° докумСнтация:

Datasheet – Π’Π’Π₯, Ρ‚Π°ΠΊΡ‚ΠΈΠΊΠΎ-тСхничСски характСристики. НавсякъдС ΠΏΡ€ΠΈΡΡŠΡΡ‚Π²Π° ΠΏΡ€ΠΈ всСки Π΅Π»Π΅ΠΊΡ‚Ρ€ΠΎΠ½Π΅Π½ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚. Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½Π° информация, ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π΅ Π΄Π° я ΠΈΠΌΠ°Ρ‚Π΅ ΠΏΠΎΠ΄ Ρ€ΡŠΠΊΠ°, Π½ΠΎ Π½Π΅ Π΅ Π½ΡƒΠΆΠ½ΠΎ Π΄Π° я Ρ‡Π΅Ρ‚Π΅Ρ‚Π΅ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»Π½ΠΎ. Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‚ΠΎΠ²Π°, ΠΏΠΎ-проститС Ρ‡ΠΈΠΏΠΎΠ²Π΅ чСсто са ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈ Π΄ΠΎ Π΄Π°Ρ‚Π°ΡˆΠΈΡ‚Π°, Π·Π° Π΄Π° Π½Π΅ сС ΠΌΠ½ΠΎΠΆΠ°Ρ‚ излишни Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈ; Π² Ρ‚ΠΎΠ·ΠΈ случай Reference Manual сС Π²ΠΊΠ»ΡŽΡ‡Π²Π° Ρ‚ΡƒΠΊ.

Reference Manual – Π²ΡΡŠΡ‰Π½ΠΎΡΡ‚ инструкция, голяма ΠΊΠ½ΠΈΠ³Π° с 1000+ страници. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ описва Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° всичко, ΠΊΠΎΠ΅Ρ‚ΠΎ Π΅ Π²Π³Ρ€Π°Π΄Π΅Π½ΠΈ Π² Ρ‡ΠΈΠΏΠ°. Главният Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ Π·Π° усвояванС Π½Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€Π°. Π—Π° Ρ€Π°Π·Π»ΠΈΠΊΠ° ΠΎΡ‚ datasheet, инструкциитС сС ΠΏΠΈΡˆΠ°Ρ‚ Π·Π° ΡˆΠΈΡ€ΠΎΠΊΠ° Π³Π°ΠΌΠ° ΠΎΡ‚ МК, ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ информация Π·Π° пСрифСрия, която Π½Π΅ ΠΏΡ€ΠΈΡΡŠΡΡ‚Π²Π° Π² конкрСтния ΠΌΠΎΠ΄Π΅Π» Π½Π° Ρ‡ΠΈΠΏΠ°.

Programming Manual ΠΈΠ»ΠΈ Instruction Set Manual – инструкция Π·Π° ΡƒΠ½ΠΈΠΊΠ°Π»Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π½Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€Π°. ΠŸΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° Π·Π° Ρ‚Π΅Π·ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Ρ‚ Π½Π° АссСмблСр. АвторитС Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ я ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π·Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΊΠΎΠ΄Π°, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ Π² общия случай Π½Π΅ Π½ΠΈ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ°. Но Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π΄Π° Π½Π°Π΄Π½ΠΈΠΊΠ½Π΅Ρ‚Π΅ Ρ‚ΡƒΠΊ Π·Π° ΠΎΠ±Ρ‰ΠΎ Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅, ΠΏΡ€ΠΈ спСцифични ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ, ΠΊΠ°Ρ‚ΠΎ ΠΈΠ·Ρ…ΠΎΠ΄ ΠΎΡ‚ ΠΏΡ€Π΅ΠΊΡŠΡΠ²Π°Π½Π΅, Π° ΡΡŠΡ‰ΠΎ ΠΈ ΠΏΡ€ΠΈ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π΄Π΅Π±ΡŠΠ³Π΅Ρ€Π°.

Application Note – ΠΏΠΎΠ»Π΅Π·Π½ΠΈ ΡΡŠΠ²Π΅Ρ‚ΠΈ Π·Π° Ρ€Π΅ΡˆΠ°Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ, чСсто с ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈ Π·Π° ΠΊΠΎΠ΄.

Errata Sheet – описаниС Π½Π° случаи Π½Π° нСстандартно ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π½Π° Ρ‡ΠΈΠΏΠ° с Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΈ Π·Π° ΠΎΠ±Ρ…ΠΎΠ΄, Π°ΠΊΠΎ ΠΈΠΌΠ°.

Какво ΠΈΠΌΠ° Π² Π΄Π°Ρ‚Π°ΡˆΠΈΡ‚ΠΈΡ‚Π΅

НСпосрСдствСно Π² Datasheet ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° сС Π½ΡƒΠΆΠ΄Π°Π΅ΠΌ ΠΎΡ‚ слСднитС Ρ€Π°Π·Π΄Π΅Π»ΠΈ:

Device Summary – ΠΏΡŠΡ€Π²Π°Ρ‚Π° страница Π½Π° Π΄Π°Ρ‚Π°ΡˆΠΈΡ‚Π° Π½Π°ΠΊΡ€Π°Ρ‚ΠΊΠΎ Ρ€Π°Π·ΠΊΠ°Π·Π²Π° Π·Π° устройството. Много ΠΏΠΎΠ»Π΅Π·Π½Π° Π² ситуации, ΠΊΠΎΠ³Π°Ρ‚ΠΎ стС срСщнали Ρ‡ΠΈΠΏ (Π²ΠΈΠ΄Π΅Π»ΠΈ стС Π³ΠΎ Π² ΠΌΠ°Π³Π°Π·ΠΈΠ½Π°, ΠΈΠ·Π²Π°Π΄ΠΈΠ»ΠΈ стС Π³ΠΎ, срСщнали стС спомСнаванС) ΠΈ искатС Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅Ρ‚Π΅ ΠΊΠ°ΠΊΠ²ΠΎ прСдставлява.

General Description – ΠΏΠΎ-ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ описаниС Π½Π° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈΡ‚Π΅ Π½Π° Ρ‡ΠΈΠΏΠΎΠ²Π΅Ρ‚Π΅ ΠΎΡ‚ сСрията.

Pinouts – схСми Π½Π° ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅ Π·Π° всички възмоТни корпуси Π½Π° Ρ‡ΠΈΠΏΠ° (Π½Π° ΠΊΠΎΠΉ ΠΊΡ€Π°ΠΊ ΠΊΠΎΠΉ ΠΏΠΈΠ½).

Pin Description – описаниС Π½Π° ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Ρ‚ΠΎ ΠΈ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈΡ‚Π΅ Π½Π° всСки ΠΏΠΈΠ½.

Memory Map – ΠΊΠ°Ρ€Ρ‚Π°Ρ‚Π° Π½Π° адрСситС Π² ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° Π΅Π΄Π²Π° Π»ΠΈ Ρ‰Π΅ Π½ΠΈ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ°, Π½ΠΎ понякога Π²ΠΊΠ»ΡŽΡ‡Π²Π° ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π° Π½Π° адрСситС Π½Π° рСгистровитС Π±Π»ΠΎΠΊΠΎΠ²Π΅.

Register Map – Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ‚Π° Π½Π° адрСситС Π½Π° рСгистровитС Π±Π»ΠΎΠΊΠΎΠ²Π΅ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ сС Π½Π°ΠΌΠΈΡ€Π° ΠΈΠΌΠ΅Π½Π½ΠΎ Π² Π΄Π°Ρ‚Π°ΡˆΠΈΡ‚Π°, Π° Π² Ref Manual – само адрСсни отклонСния (address offsets).

Electrical Characteristics – Π² Ρ‚Π°Π·ΠΈ сСкция Π½Π°ΠΉ-Π²Π΅Ρ‡Π΅ Π½ΠΈ интСрСсуват absolute maximum ratings, описващи максималнитС натоварвания Π½Π° Ρ‡ΠΈΠΏΠ°. Π—Π° Ρ€Π°Π·Π»ΠΈΠΊΠ° ΠΎΡ‚ Π½Π΅ΡƒΠ½ΠΈΡ‰ΠΎΠΆΠΈΠΌΠ°Ρ‚Π° Atmega328p, ΠΏΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ МК Π½Π΅ позволяват Π΄Π° сС ΡΠ²ΡŠΡ€Π·Π²Π°Ρ‚ сСриозни натоварвания към ΠΏΠΈΠ½ΠΎΠ²Π΅Ρ‚Π΅, ΠΊΠΎΠ΅Ρ‚ΠΎ Π΅ нСприятна ΠΈΠ·Π½Π΅Π½Π°Π΄Π° Π·Π° Π°Ρ€Π΄ΡƒΠΈΠ½Π΅Ρ€ΠΈΡ‚Π΅.

Package Information – Ρ‡Π΅Ρ€Ρ‚Π΅ΠΆΠΈ Π½Π° Π½Π°Π»ΠΈΡ‡Π½ΠΈΡ‚Π΅ корпуси, ΠΏΠΎΠ»Π΅Π·Π½ΠΈ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€Π°Π½Π΅ Π½Π° собствСни ΠΏΠ»Π°Ρ‚ΠΊΠΈ.

Reference Manual структурно сС ΡΡŠΡΡ‚ΠΎΠΈ ΠΎΡ‚ Ρ€Π°Π·Π΄Π΅Π»ΠΈ, посвСтСни Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΈ ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€Π½ΠΈ устройства, посочСни Π² Ρ‚Π΅Ρ…Π½ΠΈΡ‚Π΅ заглавия. Всяка Π³Π»Π°Π²Π° ΠΌΠΎΠΆΠ΅ условно Π΄Π° бъдС Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π° Π½Π° Ρ‚Ρ€ΠΈ части:

ΠžΠ±Ρ‰ ΠΏΡ€Π΅Π³Π»Π΅Π΄, Π’ΡŠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, Features – ΠΏΡ€Π΅Π³Π»Π΅Π΄ Π½Π° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈΡ‚Π΅ Π½Π° пСрифСрията;

Functional Description, Usage Guide ΠΈΠ»ΠΈ просто основният Π±Π»ΠΎΠΊ Π² Ρ€Π°Π·Π΄Π΅Π»Π° – ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ тСкстово описаниС Π½Π° ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΡ‚Π΅ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° Π½Π° пСрифСрията ΠΈ Π½Π°Ρ‡ΠΈΠ½ΠΈΡ‚Π΅ Π·Π° Π½Π΅ΠΉΠ½ΠΎΡ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅;

Registers – описаниС Π½Π° управляващитС рСгистри. Π’ прости случаи ΠΊΠ°Ρ‚ΠΎ GPIO ΠΈΠ»ΠΈ SPI Ρ‚ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Π΅ напълно Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ, Π·Π° Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅Ρ‚Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ пСрифСрията, Π½ΠΎ чСсто всС ΠΏΠ°ΠΊ Π΅ Π½ΡƒΠΆΠ½ΠΎ Π΄Π° сС ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π°Ρ‚ ΠΈ ΠΏΡ€Π΅Π΄ΠΈΡˆΠ½ΠΈΡ‚Π΅ части.

Как Π΄Π° Ρ‡Π΅Ρ‚Π΅ΠΌ Π΄Π°Ρ‚Π°ΡˆΠΈΡ‚ΠΈ

Π”Π°Ρ‚Π°ΡˆΠΈΡ‚ΠΈΡ‚Π΅ с нСпривичност ΠΎΡ‚Π±Π»ΡŠΡΠΊΠ²Π°Ρ‚ с ΠΎΠ±Π΅ΠΌΠ° си ΠΈ ΠΈΠ·ΠΎΠ±ΠΈΠ»ΠΈΠ΅Ρ‚ΠΎ ΠΎΡ‚ Π½Π΅ΠΏΠΎΠ·Π½Π°Ρ‚ΠΈ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΈ. Π’ΡΡŠΡ‰Π½ΠΎΡΡ‚, всичко Π½Π΅ Π΅ Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° ΡΡ‚Ρ€Π°ΡˆΠ½ΠΎ, Π°ΠΊΠΎ Π·Π½Π°Π΅Ρ‚Π΅ няколко Ρ‚Ρ€ΠΈΠΊΠ°.

Π˜Π½ΡΡ‚Π°Π»ΠΈΡ€Π°ΠΉΡ‚Π΅ Π΄ΠΎΠ±Ρ€Π° PDF Ρ‡ΠΈΡ‚Π°Π»ΠΊΠ°. Π”Π°Ρ‚Π°ΡˆΠΈΡ‚ΠΈΡ‚Π΅ сС ΠΏΠΈΡˆΠ°Ρ‚ Π² славнитС Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΈ Π½Π° ΠΏΠ΅Ρ‡Π°Ρ‚Π½ΠΈΡ‚Π΅ инструкции, Π΄ΠΎΠ±Ρ€Π΅ Π΅ Π΄Π° сС ΠΎΡ‚ΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚, Π΄Π° сС ΠΎΡ‚Π±Π΅Π»Π΅ΠΆΠ°Ρ‚ с пластмасови Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΠΈ ΠΈ Π΄Π° сС ΡΡŠΠ΅Π΄ΠΈΠ½ΡΡ‚. Π₯ΠΈΠΏΠ΅Ρ€Ρ‚Π΅ΠΊΡΡ‚ΡŠΡ‚ Π² тях сС наблюдава Π² ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΈ количСства. Π—Π° щастиС, ΠΏΠΎΠ½Π΅ структурата Π½Π° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° Π΅ ΠΎΡ„ΠΎΡ€ΠΌΠ΅Π½Π° с Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΠΈ, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ качСствСна Ρ‡ΠΈΡ‚Π°Π»ΠΊΠ° с ΡƒΠ΄ΠΎΠ±Π½Π° навигация Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ°.

Π”Π°Ρ‚Π°ΡˆΠΈΡ‚ΡŠΡ‚ – Π½Π΅ Π΅ ΡƒΡ‡Π΅Π±Π½ΠΈΠΊ Π½Π° Бтрауструп, Π² Π½Π΅Π³ΠΎ Π½Π΅ трябва Π΄Π° сС Ρ‡Π΅Ρ‚Π΅ всичко ΠΏΠΎΠ΄Ρ€Π΅Π΄. Ако стС сС възползвали ΠΎΡ‚ ΠΏΡ€Π΅Π΄ΠΈΡˆΠ½ΠΈΡ ΡΡŠΠ²Π΅Ρ‚ – просто Π½Π°ΠΌΠ΅Ρ€Π΅Ρ‚Π΅ нуТния Ρ€Π°Π·Π΄Π΅Π» Π² ΠΏΠ°Π½Π΅Π»Π° с Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅.

Π”Π°Ρ‚Π°ΡˆΠΈΡ‚ΠΈΡ‚Π΅, особСно Reference Manuals, ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° описват Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈΡ‚Π΅ Π½Π΅ Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π΅Π½ Ρ‡ΠΈΠΏ, Π° Π½Π° цСлия Π½Π°Π±ΠΎΡ€. Π’ΠΎΠ²Π° ΠΎΠ·Π½Π°Ρ‡Π°Π²Π°, Ρ‡Π΅ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π°Ρ‚Π°, Π° понякога ΠΈ Π΄Π²Π΅ Ρ‚Ρ€Π΅Ρ‚ΠΈ ΠΎΡ‚ информацията Π½Π΅ сС отнасят Π΄ΠΎ вашия Ρ‡ΠΈΠΏ. ΠŸΡ€Π΅Π΄ΠΈ Π΄Π° ΠΈΠ·ΡƒΡ‡Π°Π²Π°Ρ‚Π΅ рСгистритС Π½Π° TIM7, ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Ρ‚Π΅ Π² General Description, Π΄Π°Π»ΠΈ Π³ΠΎ ΠΈΠΌΠ°Ρ‚Π΅.

Π”Π° Π·Π½Π°Π΅Ρ‚Π΅ английски Π΅ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ Π½Π° Π±Π°Π·ΠΎΠ²ΠΎ Π½ΠΈΠ²ΠΎ. Π‘ΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈΡ‚Π΅ Π½Π°ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° сС ΡΡŠΡΡ‚ΠΎΡΡ‚ ΠΎΡ‚ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΈ, Π½Π΅ΠΏΠΎΠ·Π½Π°Ρ‚ΠΈ Π½Π° срСдностатистичСския носитСл Π½Π° Π΅Π·ΠΈΠΊΠ°, ΠΈ Π½Π°ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° – ΠΎΡ‚ прости ΡΠ²ΡŠΡ€Π·Π²Π°Ρ‰ΠΈ конструкции. Понякога ΠΈΠΌΠ° чудСсни китайски спСцификации Π½Π° китайски английски, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π°Ρ‚Π° ΡΡŠΡ‰ΠΎ са Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΈ, Π° Π΄Ρ€ΡƒΠ³Π°Ρ‚Π° ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° – ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»Π΅Π½ Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ Π΄ΡƒΠΌΠΈ.

Ако срСщнСтС Π½Π΅ΠΏΠΎΠ·Π½Π°Ρ‚Π° Π΄ΡƒΠΌΠ°, Π½Π΅ сС ΠΎΠΏΠΈΡ‚Π²Π°ΠΉΡ‚Π΅ Π΄Π° я ΠΏΡ€Π΅Π²Π΅Π΄Π΅Ρ‚Π΅ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° Π°Π½Π³Π»ΠΎ-руски Ρ€Π΅Ρ‡Π½ΠΈΠΊ. Ако Π²ΠΈ ΠΎΠ±ΡŠΡ€ΠΊΠ²Π° hysteresis, ΠΏΡ€Π΅Π²ΠΎΠ΄ΡŠΡ‚ β€žΠ³ΠΈΡΡ‚Π΅Ρ€Π΅Π·ΠΈΡβ€œ няма Π΄Π° Π²ΠΈ Π΅ ΠΎΡ‚ ΠΏΠΎΠΌΠΎΡ‰. Π˜Π·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡ‚Π΅ Google, Stack Overflow, УикипСдия, Ρ„ΠΎΡ€ΡƒΠΌΠΈ, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ нуТният Ρ‚Π΅Ρ€ΠΌΠΈΠ½ Π΅ обяснСн с прости Π΄ΡƒΠΌΠΈ ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈ.

Най-добрият Π½Π°Ρ‡ΠΈΠ½ Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅Ρ‚Π΅ ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅Π½ΠΎΡ‚ΠΎ Π΅ Π΄Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚Π΅ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°. Π—Π°Ρ‚ΠΎΠ²Π° Π΄Ρ€ΡŠΠΆΡ‚Π΅ ΠΏΠΎΠ΄ Ρ€ΡŠΠΊΠ° ΠΎΡ‚Π»Π°Π΄ΡŠΡ‡Π½Π° ΠΏΠ»Π°Ρ‚ΠΊΠ°, с която сС Π·Π°ΠΏΠΎΠ·Π½Π°Π²Π°Ρ‚Π΅, Π° ΠΎΡ‰Π΅ ΠΏΠΎ-Π΄ΠΎΠ±Ρ€Π΅ Π΄Π²Π΅ – Π·Π° случая, Π°ΠΊΠΎ Π½Π΅Ρ‰ΠΎ Π½Π΅Ρ€Π°Π·Π±Ρ€Π°Π½ΠΎ ΠΈ Π²ΠΈΠ΄ΠΈΡ‚Π΅ магичСския Π΄ΠΈΠΌ.

ПолСзно Π΅ Π΄Π° ΠΈΠΌΠ°Ρ‚Π΅ ΠΏΠΎΠ΄ Ρ€ΡŠΠΊΠ° спСцификация, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Ρ‡Π΅Ρ‚Π΅Ρ‚Π΅ Ρ‡ΡƒΠΆΠ΄ Ρ‚ΡƒΡ‚ΠΎΡ€ΠΈΠ°Π» ΠΈΠ»ΠΈ ΠΈΠ·ΡƒΡ‡Π°Π²Π°Ρ‚Π΅ Ρ‡ΡƒΠΆΠ΄Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°. Напълно Π΅ възмоТно Π² нСя Π΄Π° Π½Π°ΠΌΠ΅Ρ€ΠΈΡ‚Π΅ ΠΏΠΎ-ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»Π½ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π½Π° Π·Π°Π΄Π°Ρ‡Π°Ρ‚Π° си. И ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΡ‚ΠΎ – Π°ΠΊΠΎ ΠΎΡ‚ спСцификацията Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅Ρ‚Π΅ ΠΊΠ°ΠΊ Ρ‚ΠΎΡ‡Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚ΠΈ Ρ€Π΅Π³ΠΈΡΡ‚ΡŠΡ€ΡŠΡ‚, ΠΏΠΎΡ‚ΡŠΡ€ΡΠ΅Ρ‚Π΅ Π³ΠΎ Π² Google: Π½Π°ΠΉ-вСроятно някой Π²Π΅Ρ‡Π΅ Π΅ описал всичко с прости Π΄ΡƒΠΌΠΈ ΠΈΠ»ΠΈ Π΅ оставил Ρ€Π°Π·Π±ΠΈΡ€Π°Π΅ΠΌ ΠΊΠΎΠ΄ Π² GitHub.

Глосар

Няколко ΠΏΠΎΠ»Π΅Π·Π½ΠΈ Π΄ΡƒΠΌΠΈ ΠΈ обозначСния, ΠΊΠΎΠΈΡ‚ΠΎ ΠΏΠΎΠΌΠ°Π³Π°Ρ‚ Π±ΡŠΡ€Π·ΠΎ Π΄Π° сС Π·Π°ΠΏΠΎΠ·Π½Π°Π΅ с спСцификациитС. Π’ΠΎΠ²Π°, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΌΠΈ Π΄ΠΎΠΉΠ΄Π΅ Π½Π°ΡƒΠΌ ΠΏΡ€Π΅Π· послСднитС Π΄Π½ΠΈ, допълнСния ΠΈ ΠΊΠΎΡ€Π΅ΠΊΡ†ΠΈΠΈ са Π΄ΠΎΠ±Ρ€Π΅ дошли.

ЕлСктричСство
Vcc, Vdd – β€žΠΏΠ»ΡŽΡβ€œ, Π·Π°Ρ…Ρ€Π°Π½Π²Π°Π½Π΅
Vss, Vee – β€žΠΌΠΈΠ½ΡƒΡβ€œ, зСмя
current – Ρ‚ΠΎΠΊ
voltage – Π½Π°ΠΏΡ€Π΅ΠΆΠ΅Π½ΠΈΠ΅
to sink current – Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ β€žΠ·Π΅ΠΌΡβ€œ Π·Π° външно Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅
to source current – Π΄Π° Π·Π°Ρ…Ρ€Π°Π½Π²Π° външно Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅
high sink/source pin – ΠΏΠΈΠ½ с повишСна β€žΡ‚ΠΎΠ»Π΅Ρ€Π°Π½Ρ‚Π½ΠΎΡΡ‚β€œ към Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅

IO
H, High – Π½Π° ΠΏΠΈΠ½Π° Vcc
L, Low – Π½Π° ΠΏΠΈΠ½Π° Vss
High Impedance, Hi-Z, floating – Π½Π° ΠΏΠΈΠ½Π° няма Π½ΠΈΡ‰ΠΎ, β€žΠ²ΠΈΡΠΎΠΊΠ° ΡΡŠΠΏΡ€ΠΎΡ‚ΠΈΠ²Π°β€œ, Ρ‚ΠΎΠΉ фактичСски Π΅ Π½Π΅Π²ΠΈΠ΄ΠΈΠΌ Π·Π° външния свят.
weak pull up, weak pull down – Π²Π³Ρ€Π°Π΄Π΅Π½ ΠΏΠΎΠ΄Ρ‚Π΅Π³Π°Ρ‚Π΅Π»Π΅Π½/отпускащ рСзистор, ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»Π΅Π½ Π°Π½Π°Π»ΠΎΠ³ 50 кОм (Π²ΠΈΠΆΡ‚Π΅ спСцификацията). Използва сС Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π·Π° Π΄Π° Π½Π΅ сС Π²ΡŠΡ€Ρ‚ΠΈ входният ΠΏΠΈΠ½ във Π²ΡŠΠ·Π΄ΡƒΡ…Π°, ΠΏΡ€Π΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ²Π°ΠΉΠΊΠΈ Ρ„Π°Π»ΡˆΠΈΠ²ΠΈ сработка. Weak – Π·Π°Ρ‰ΠΎΡ‚ΠΎ лСсно ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС β€žΠΏΡ€Π΅ΠΊΡŠΡΠ½Π°Ρ‚β€œ.
push pull – ΠΈΠ·Ρ…ΠΎΠ΄Π΅Π½ Ρ€Π΅ΠΆΠΈΠΌ Π½Π° ΠΏΠΈΠ½Π°, Π² ΠΊΠΎΠΉΡ‚ΠΎ Ρ‚ΠΎΠΉ ΠΏΡ€Π΅Π²ΠΊΠ»ΡŽΡ‡Π²Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Високо ΠΈ Ниско – ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ OUTPUT с Arduino.
open drain – ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π° ΠΈΠ·Ρ…ΠΎΠ΄Π΅Π½ Ρ€Π΅ΠΆΠΈΠΌ, Π² ΠΊΠΎΠΉΡ‚ΠΎ ΠΏΠΈΠ½ΡŠΡ‚ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΠΈΠ»ΠΈ Ниско, ΠΈΠ»ΠΈ Висока ИмпСдансия / ΠŸΠ»Π°Π²Π°Ρ‰. ΠŸΡ€ΠΈ Ρ‚ΠΎΠ²Π° ΠΏΠΎΡ‡Ρ‚ΠΈ Π²ΠΈΠ½Π°Π³ΠΈ Ρ‚ΠΎΠ²Π° Π½Π΅ Π΅ "истински" ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ Π΄Ρ€Π΅Π½Π°ΠΆ, ΠΈΠΌΠ° Π·Π°Ρ‰ΠΈΡ‚Π½ΠΈ Π΄ΠΈΠΎΠ΄ΠΈ, рСзистори ΠΈ Π΄Ρ€. Π’ΠΎΠ²Π° просто ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π²Π° Ρ€Π΅ΠΆΠΈΠΌ зСмя/Π½ΠΈΡ‰ΠΎ.
истински open drain – Π° Ρ‚ΠΎΠ²Π° Π²Π΅Ρ‡Π΅ Π΅ истинският ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ Π΄Ρ€Π΅Π½Π°ΠΆ: ΠΏΠΈΠ½ΡŠΡ‚ Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ ΡΠ²ΡŠΡ€Π·Π²Π° с зСмя, Π°ΠΊΠΎ Π΅ ΠΎΡ‚Π²ΠΎΡ€Π΅Π½, ΠΈΠ»ΠΈ остава във висящо ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅, Π°ΠΊΠΎ Π΅ Π·Π°Ρ‚Π²ΠΎΡ€Π΅Π½. Π’ΠΎΠ²Π° Π·Π½Π°Ρ‡ΠΈ, Ρ‡Π΅ ΠΏΡ€Π΅Π· Π½Π΅Π³ΠΎ ΠΏΡ€ΠΈ нСобходимост ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π²Π° Π½Π°ΠΏΡ€Π΅ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ-голямо ΠΎΡ‚ Vcc, Π½ΠΎ ΠΌΠ°ΠΊΡΠΈΠΌΡƒΠΌΡŠΡ‚ всС ΠΏΠ°ΠΊ сС уточнява Π² Π΄Π°Ρ‚Π°ΡˆΠΈΡ‚Π° Π² Ρ€Π°Π·Π΄Π΅Π» ΠΠ±ΡΠΎΠ»ΡŽΡ‚Π½ΠΈ Максимални Π Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ / НапрСТСниС.

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΠΈ
Π² сСрия – ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ послСдоватСлно
Π²Π΅Ρ€ΠΈΠ³Π° – ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅ Π½Π° Ρ‡ΠΈΠΏΠΎΠ²Π΅ Π² Ρ€Π΅Π΄ΠΈΡ†Π° Ρ‡Ρ€Π΅Π· послСдоватСлно ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅, ΡƒΠ²Π΅Π»ΠΈΡ‡Π°Π²Π°ΠΉΠΊΠΈ броя Π½Π° ΠΈΠ·Ρ…ΠΎΠ΄ΠΈΡ‚Π΅.
shift – измСстванС, ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π²Π° измСстванС Π½Π° Π±ΠΈΡ‚ΠΎΠ²Π΅. Π‘ΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΎ, Π΄Π° Π²ΠΌΡŠΠΊΠ½Π΅Ρ‚Π΅ ΠΈ Π΄Π° ΠΈΠ·Π²Π΅Π΄Π΅Ρ‚Π΅ – ΠΏΡ€ΠΈΠ΅ΠΌΠ°Π½Π΅ ΠΈ ΠΏΡ€Π΅Π΄Π°Π²Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ Π½Π° Π±ΠΈΡ‚ΠΎΠ²ΠΎ Π½ΠΈΠ²ΠΎ.
Π·Π°Π΄Π²ΠΈΠΆΠΊΠ° – Π·Π°Π΄Π²ΠΈΠΆΠΊΠ°, която Π·Π°ΠΊΡ€ΠΈΠ²Π° Π±ΡƒΡ„Π΅Ρ€Π°, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ ΠΏΡ€Π΅Π· Π½Π΅Π³ΠΎ сС измСстват Π±ΠΈΡ‚ΠΎΠ²Π΅Ρ‚Π΅. ΠšΠΎΠ³Π°Ρ‚ΠΎ ΠΏΡ€Π΅Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ ΠΏΡ€ΠΈΠΊΠ»ΡŽΡ‡ΠΈ, Π·Π°Π΄Π²ΠΈΠΆΠΊΠ°Ρ‚Π° сС отваря, Π±ΠΈΡ‚ΠΎΠ²Π΅Ρ‚Π΅ Π·Π°ΠΏΠΎΡ‡Π²Π°Ρ‚ Π΄Π° работят.
Π΄Π° Π²ΠΌΡŠΠΊΠ½Π΅Ρ‚Π΅ Π΄Π°Ρ‚ΠΈ – Π΄Π° ΠΈΠ·Π²ΡŠΡ€ΡˆΠΈΡ‚Π΅ Π±ΠΈΡ‚ΠΎΠ²ΠΎ ΠΏΡ€Π΅Π΄Π°Π²Π°Π½Π΅, Π΄Π° прСмСститС всички Π±ΠΈΡ‚ΠΎΠ²Π΅ Π½Π° Π½ΡƒΠΆΠ½ΠΈΡ‚Π΅ мСста.
Π΄Π²ΠΎΠΉΠ½Π° Π±ΡƒΡ„Π΅Ρ€, ΡΠ²ΡŠΡ€Ρ‚ Ρ€Π΅Π³ΠΈΡΡ‚ΡŠΡ€, ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½ΠΎ Π·Π°Ρ€Π΅Π΄Π΅Π½Π° Ρ€Π΅Π³ΠΈΡΡ‚ΡŠΡ€ – обозначСния Π½Π° история, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Ρ€Π΅Π³ΠΈΡΡ‚ΡŠΡ€ΡŠΡ‚ трябва Π΄Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡ€ΠΈΠ΅ΠΌΠ° Π½ΠΎΠ²ΠΈ Π΄Π°Π½Π½ΠΈ, Π½ΠΎ Π΄Π° Π³ΠΈ Π·Π°Π΄ΡŠΡ€ΠΆΠ° Π΄ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ ΠΌΠΎΠΌΠ΅Π½Ρ‚. НапримСр, Π·Π° ΠΊΠΎΡ€Π΅ΠΊΡ‚Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° Π½Π° PWM, ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΡ‚Π΅ ΠΌΡƒ (дълТина Π½Π° импулса, чСстота) Π½Π΅ трябва Π΄Π° сС промСнят, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ тСкущият Ρ†ΠΈΠΊΡŠΠ» Π½Π΅ ΠΏΡ€ΠΈΠΊΠ»ΡŽΡ‡ΠΈ, Π½ΠΎ Π½ΠΎΠ²ΠΈΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ Π²Π΅Ρ‡Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΏΡ€Π΅Π΄Π°Π΄Π΅Π½ΠΈ. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»Π½ΠΎ, Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΡ‚Π΅ остават Π² ΡΠ²ΡŠΡ€Ρ‚ Ρ€Π΅Π³ΠΈΡΡ‚ΡŠΡ€, Π° Π½ΠΎΠ²ΠΈΡ‚Π΅ ΠΏΠΎΡΡ‚ΡŠΠΏΠ²Π°Ρ‚ Π² ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½ΠΎ Π·Π°Ρ€Π΅Π΄Π΅Π½Π° Ρ€Π΅Π³ΠΈΡΡ‚ΡŠΡ€, записани Π² ΡΡŠΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²Π°Ρ‰ΠΈΡ Ρ€Π΅Π³ΠΈΡΡ‚ΡŠΡ€ Π½Π° Ρ‡ΠΈΠΏΠ°.

Π Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΠ΅
ΠΏΡ€Π΅Π΄Π΄Π΅Π»ΠΈΡ‚Π΅Π» – ΠΏΡ€Π΅Π΄Π΄Π΅Π»ΠΈΡ‚Π΅Π» Π½Π° чСстотата
Π΄Π° установитС Π±ΠΈΡ‚ – Π΄Π° Π·Π°Π΄Π°Π΄Π΅Ρ‚Π΅ Π±ΠΈΡ‚ Π½Π° 1
Π΄Π° изчиститС/Π½ΡƒΠ»ΠΈΡ€Π°Ρ‚Π΅ Π±ΠΈΡ‚ – Π΄Π° reset-Π½Π΅Ρ‚Π΅ Π±ΠΈΡ‚ Π½Π° 0 (reset – характСристика Π½Π° STM Π΄Π°Ρ‚Π°ΡˆΠΈΡ‚ΠΈΡ‚Π΅)

Какво слСдва

Π’ΡΡŠΡ‰Π½ΠΎΡΡ‚ Ρ‚ΡƒΠΊ бСшС ΠΏΠ»Π°Π½ΠΈΡ€Π°Π½Π° практичСска част с дСмонстрация Π½Π° Ρ‚Ρ€ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π½Π° STM32 ΠΈ STM8, ΠΈΠ·Ρ€Π°Π±ΠΎΡ‚Π΅Π½ΠΈ спСциално Π·Π° Ρ‚Π°Π·ΠΈ статия с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° Π΄Π°Ρ‚Π°ΡˆΠΈΡ‚ΠΈΡ‚Π΅, с Π»Π°ΠΌΠΏΠΈΡ‡ΠΊΠΈ, SPI, Ρ‚Π°ΠΉΠΌΠ΅Ρ€ΠΈ, PWM ΠΈ ΠΏΡ€Π΅ΠΊΡŠΡΠ²Π°Π½ΠΈΡ:

Как ΠΈ Π·Π°Ρ‰ΠΎ Π΄Π° Ρ‡Π΅Ρ‚Π΅ΠΌ Π΄Π°Ρ‚Π°ΡˆΠΈΡ‚ΠΈ, Π°ΠΊΠΎ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ΠΈΡ‚Π΅ са Π²Π°ΡˆΠ΅Ρ‚ΠΎ Ρ…ΠΎΠ±ΠΈ

Но Ρ‚Π΅ΠΊΡΡ‚ΡŠΡ‚ стана ΠΌΠ°Π»ΠΊΠΎ ΠΌΠ½ΠΎΠ³ΠΎ, Π·Π°Ρ‚ΠΎΠ²Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ‚Π΅ Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚ ΠΈΠ·ΠΏΡ€Π°Ρ‚Π΅Π½ΠΈ Π² Π²Ρ‚ΠΎΡ€Π°Ρ‚Π° част.

Π£ΠΌΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π΄Π° Ρ‡Π΅Ρ‚Π΅Ρ‚Π΅ Π΄Π°Ρ‚Π°ΡˆΠΈΡ‚ΠΈ Ρ‰Π΅ Π²ΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π΅ с Π²Π°ΡˆΠ΅Ρ‚ΠΎ Ρ…ΠΎΠ±ΠΈ, Π½ΠΎ Π΅Π΄Π²Π° Π»ΠΈ Ρ‰Π΅ Π·Π°ΠΌΠ΅Π½ΠΈ ΠΆΠΈΠ²ΠΎΡ‚ΠΎ ΠΎΠ±Ρ‰ΡƒΠ²Π°Π½Π΅ с ΠΊΠΎΠ»Π΅Π³ΠΈ ΠΏΠΎ интСрСси Π½Π° Ρ„ΠΎΡ€ΡƒΠΌΠΈ ΠΈ Π² Ρ‡Π°Ρ‚ΠΎΠ²Π΅. Π—Π°Ρ‚ΠΎΠ²Π° Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡŠΡ€Π²ΠΎ Π΄Π° ΡƒΡΡŠΠ²ΡŠΡ€ΡˆΠ΅Π½ΡΡ‚Π²Π°Ρ‚Π΅ английския Π΅Π·ΠΈΠΊ. И Π·Π°Ρ‚ΠΎΠ²Π°, Π·Π° Ρ‚Π΅Π·ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ стигнат Π΄ΠΎ края, – спСциалСн ΠΏΡ€ΠΈΠ·: Π΄Π²Π° Π±Π΅Π·ΠΏΠ»Π°Ρ‚Π½ΠΈ ΡƒΡ€ΠΎΠΊΠ° Π² Skyeng ΠΏΡ€ΠΈ ΠΏΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½Π°Ρ‚Π° ΠΏΠ»Π°Ρ‰Π°Π½Π΅ ΠΏΠΎ ΠΊΠΎΠ΄Π° HABR2.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster