Как ΠΈ Π·Π°Ρ‡Π΅ΠΌ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π΄Π°Ρ‚Π°ΡˆΠΈΡ‚Ρ‹, Ссли ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ – вашС Ρ…ΠΎΠ±Π±ΠΈ

Как ΠΈ Π·Π°Ρ‡Π΅ΠΌ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π΄Π°Ρ‚Π°ΡˆΠΈΡ‚Ρ‹, Ссли ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ – вашС Ρ…ΠΎΠ±Π±ΠΈ

ΠœΠΈΠΊΡ€ΠΎΡΠ»Π΅ΠΊΡ‚Ρ€ΠΎΠ½ΠΈΠΊΠ° – ΠΌΠΎΠ΄Π½ΠΎΠ΅ ΡƒΠ²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ послСдних Π»Π΅Ρ‚ благодаря Π²ΠΎΠ»ΡˆΠ΅Π±Π½ΠΎΠΌΡƒ Arduino. Но Π²ΠΎΡ‚ Π±Π΅Π΄Π°: ΠΏΡ€ΠΈ Π΄ΠΎΠ»ΠΆΠ½ΠΎΠΌ интСрСсС пСрСрасти DigitalWrite() получаСтся быстро, Π° Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ дальшС – Π½Π΅ совсСм ясно. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Arduino ΠΏΡ€ΠΈΠ»ΠΎΠΆΠΈΠ»ΠΈ Π½Π΅ΠΌΠ°Π»ΠΎ усилий для сниТСния ΠΏΠΎΡ€ΠΎΠ³Π° вхоТдСния Π² свою экосистСму, Π½ΠΎ Π·Π° Π΅Π΅ ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ ΠΊΠΎΠ»Ρ‹ΡˆΠ΅Ρ‚ΡΡ Ρ‚Π΅ΠΌΠ½Ρ‹ΠΉ лСс суровой схСмотСхники, малодоступный Π»ΡŽΠ±ΠΈΡ‚Π΅Π»ΡŽ.

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

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я подСлюсь ΠΎΠΏΡ‹Ρ‚ΠΎΠΌ общСния гуманитария с Π΄Π°Ρ‚Π°ΡˆΠΈΡ‚Π°ΠΌΠΈ Π² Ρ…ΠΎΠ±Π±ΠΈ-цСлях. ВСкст ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для Π²Ρ‹Ρ€ΠΎΡΡˆΠΈΡ… ΠΈΠ· ΡˆΡ‚Π°Π½ΠΈΡˆΠ΅ΠΊ Arduino Π»ΡŽΠ±ΠΈΡ‚Π΅Π»Π΅ΠΉ, ΠΎΠ½ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ прСдставлСниС ΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°Ρ… Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ².

Начну с Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ

МигаСм свСтодиодом Π½Π° Ардуино

И сразу ΠΊΠΎΠ΄:

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

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

Β«Π§Ρ‚ΠΎ это? – Бпросит ΠΈΡΠΊΡƒΡˆΠ΅Π½Π½Ρ‹ΠΉ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΡŒ. – Π—Π°Ρ‡Π΅ΠΌ Ρ‚Ρ‹ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ пишСшь Π²ΠΎ Π²Ρ…ΠΎΠ΄Π½ΠΎΠΉ рСгистр PINB? Он ΠΆΠ΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния!Β» Π”Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, докумСнтация Arduino, ΠΊΠ°ΠΊ ΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΡƒΡ‡Π΅Π±Π½Ρ‹Ρ… статСй Π² ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅, ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ этот рСгистр read-only. Π― ΠΈ сам Ρ‚Π°ΠΊ Π΄ΡƒΠΌΠ°Π», ΠΏΠΎΠΊΠ° Π½Π΅ ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡ‚Π°Π» Π΄Π°Ρ‚Π°ΡˆΠΈΡ‚ ΠΊ Atmega328p, готовя это ΡΡ‚Π°Ρ‚ΡŒΡŽ. А Ρ‚Π°ΠΌ:

Как ΠΈ Π·Π°Ρ‡Π΅ΠΌ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π΄Π°Ρ‚Π°ΡˆΠΈΡ‚Ρ‹, Ссли ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ – вашС Ρ…ΠΎΠ±Π±ΠΈ

Π­Ρ‚ΠΎ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½ΠΎΠ²Ρ‹ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π», Π΅Π³ΠΎ Π½Π΅ Π±Ρ‹Π»ΠΎ Π½Π° Atmega8, ΠΎ Π½Π΅ΠΌ Π½Π΅ всС Π·Π½Π°ΡŽΡ‚ ΠΈΠ»ΠΈ Π½Π΅ ΡƒΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‚ ΠΈΠ· сообраТСний ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ совмСстимости. Но Π²ΠΏΠΎΠ»Π½Π΅ Π³ΠΎΠ΄Π½Ρ‹ΠΉ для дСмонстрации мысли, Ρ‡Ρ‚ΠΎ Π΄Π°Ρ‚Π°ΡˆΠΈΡ‚Ρ‹ стоит Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ всС возмоТности Ρ‡ΠΈΠΏΠ°, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ малоизвСстныС. И это Π½Π΅ СдинствСнная ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°.

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

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Π°Ρ€Π΄ΡƒΠΈΠ½Ρ‰ΠΈΠΊΠΈ, Π½Π°ΠΈΠ³Ρ€Π°Π²ΡˆΠΈΡΡŒ со свСтодиодами ΠΈ AnalogWrite’Π°ΠΌΠΈ, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΠΊ ΠΏΠ»Π°Ρ‚Π΅ всякиС ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΈ Ρ‡ΠΈΠΏΡ‹, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΅ΡΡ‚ΡŒ ΡƒΠΆΠ΅ написанныС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ. Π Π°Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ·Π΄Π½ΠΎ появляСтся Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π°Ρ Π½Π΅ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Π½Π°Π΄ΠΎ. Π’ΠΎΠ³Π΄Π° Π»ΡŽΠ±ΠΈΡ‚Π΅Π»ΡŒ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Π΅Π΅ ΠΊΠΎΠ²Ρ‹Ρ€ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡ‡ΠΈΠ½ΠΈΡ‚ΡŒ, Π° Ρ‚Π°ΠΌ…

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

Если Π±Ρ‹ я вмСсто этого ΡƒΠ²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ занятия ΠΏΠΎΡ‚Ρ€Π°Ρ‚ΠΈΠ» ΠΏΠ°Ρ€Ρƒ Π΄Π½Π΅ΠΉ Π½Π° ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΊ Atmega328, я Π±Ρ‹ сэкономил ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ количСство Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π’ ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠΎΠ½Ρ†ΠΎΠ², это довольно простой ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π΄Π°Ρ‚Π°ΡˆΠΈΡ‚Ρ‹ Π½Π°Π΄ΠΎ хотя Π±Ρ‹ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ сСбС, ΠΊΠ°ΠΊ Π²ΠΎΠΎΠ±Ρ‰Π΅ устроСн ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ ΠΈ Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΡƒΠΌΠ΅Π΅Ρ‚ Π΄Π΅Π»Π°Ρ‚ΡŒ. И Π΅Ρ‰Π΅:

  • Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‡ΡƒΠΆΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ. Π˜Ρ… часто ΠΏΠΈΡˆΡƒΡ‚ Ρ‚Π°ΠΊΠΈΠ΅ ΠΆΠ΅ Π»ΡŽΠ±ΠΈΡ‚Π΅Π»ΠΈ, ΠΈΠ·ΠΎΠ±Ρ€Π΅Ρ‚Π°ΡŽΡ‰ΠΈΠ΅ вСлосипСд; ΠΈΠ»ΠΈ ΠΆΠ΅, Π½Π°ΠΏΡ€ΠΎΡ‚ΠΈΠ², Π°Π²Ρ‚ΠΎΡ€Ρ‹ Π½Π°ΠΌΠ΅Ρ€Π΅Π½Π½ΠΎ Π΄Π΅Π»Π°ΡŽΡ‚ Π² Π½ΠΈΡ… ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½ΡƒΡŽ Π·Π°Ρ‰ΠΈΡ‚Ρƒ ΠΎΡ‚ Π΄ΡƒΡ€Π°ΠΊΠ°. ΠŸΡƒΡΡ‚ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ Π² Ρ‚Ρ€ΠΈ Ρ€Π°Π·Π° большС ΠΈ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅, Π·Π°Ρ‚ΠΎ Ρ‚ΠΎΡ‡Π½ΠΎ сработаСт;

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

  • Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚ΡŒ сСбС Π·Π°Π΄Π°Ρ‡Ρƒ ΠΏΠΎ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ с ΠΎΠ΄Π½ΠΎΠΉ Π»ΠΈΠ½Π΅ΠΉΠΊΠΈ МК Π½Π° Π΄Ρ€ΡƒΠ³ΡƒΡŽ;

  • Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΊΠΎΠ½Π΅Ρ† ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ свой старый ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ Π²Π»Π΅Π·Π°Π» Π² Ардуину;

  • Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π»ΡŽΠ±Ρ‹ΠΌ Ρ‡ΠΈΠΏΠΎΠΌ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Ρ‡Π΅Ρ€Π΅Π· Π΅Π³ΠΎ рСгистры, Π½Π΅ Π·Π°ΠΌΠΎΡ€Π°Ρ‡ΠΈΠ²Π°ΡΡΡŒ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ΠΌ устройства Π΅Π³ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, Ссли Ρ‚Π°ΠΊΠΎΠ²Ρ‹Π΅ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π΅ΡΡ‚ΡŒ.

Π—Π°Ρ‡Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² рСгистры Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ, ΠΊΠΎΠ³Π΄Π° Π΅ΡΡ‚ΡŒ HAL ΠΈ LL?

Π‘Π»ΠΎΠ²Π°Ρ€ΠΈΠΊ
HAL, High Abstraction Layer – Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для управлСния ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠΌ с высоким ΡƒΡ€ΠΎΠ²Π½Π΅ΠΌ абстракции. Если Π½Π°Π΄ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ интСрфСйс SPI1, просто настраиваСм ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ 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, Π½Π° ΠΌΠΎΠΉ взгляд, ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΡŽ, особСнно Ссли Π·Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π½Π° Π½Π΅Π΅ с самого Π½Π°Ρ‡Π°Π»Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π°Π΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ. Π£Ρ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€: напишСм ардуиновский blink Π² 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++);
    } 
}

Π§Ρ‚ΠΎΠ±Ρ‹ этот ΠΊΠΎΠ΄ Π·Π°ΠΌΠΈΠ³Π°Π» свСтодиодом Π½Π° китайской ΠΏΠ»Π°Ρ‚ΠΊΠ΅ с STM8 (ΠΈΠ· ST Visual Desktop), Π² Π½Π΅ΠΌ достаточно ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ Π΄Π²Π° адрСса:

#define DDR_B 0x5007
#define OUT_B 0x5005

Π”Π°, я ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ свСтодиода Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Π΅, ΠΌΠΈΠ³Π°Ρ‚ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ, Π½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΆΠ΅!

КакиС Π±Ρ‹Π²Π°ΡŽΡ‚ Π΄Π°Ρ‚Π°ΡˆΠΈΡ‚Ρ‹

Π’ ΡΡ‚Π°Ρ‚ΡŒΡΡ… ΠΈ Π½Π° Ρ„ΠΎΡ€ΡƒΠΌΠ°Ρ…, ΠΈ русско-, ΠΈ англоязычных, ΠΏΠΎΠ΄ Β«Π΄Π°Ρ‚Π°ΡˆΠΈΡ‚Π°ΠΌΠΈΒ» ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ Π»ΡŽΠ±ΡƒΡŽ Ρ‚Π΅Ρ…Π½ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ ΠΊ Ρ‡ΠΈΠΏΠ°ΠΌ, Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΏΠΎΡΡ‚ΡƒΠΏΠ°ΡŽ ΠΈ я Π² этом тСкстС. Π€ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ ΠΎΠ½ΠΈ – лишь ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π²ΠΈΠ΄ΠΎΠ² Ρ‚Π°ΠΊΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ:

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 структурно состоит ΠΈΠ· Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ², посвящСнных ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠΈ, ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π² ΠΈΡ… Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅. ΠšΠ°ΠΆΠ΄ΡƒΡŽ Π³Π»Π°Π²Ρƒ ΠΌΠΎΠΆΠ½ΠΎ условно ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° Ρ‚Ρ€ΠΈ части:

Overview, Introduction, Features – ΠΎΠ±Π·ΠΎΡ€ возмоТностСй ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠΈ;

Functional Description, Usage Guide ΠΈΠ»ΠΈ просто основной Π±Π»ΠΎΠΊ Ρ€Π°Π·Π΄Π΅Π»Π° – ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ тСкстовоС описаниС ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ² устройства ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠΈ ΠΈ способов Π΅Π΅ использования;

Registers – описаниС ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… рСгистров. Π’ простых случаях Ρ‚ΠΈΠΏΠ° GPIO ΠΈΠ»ΠΈ SPI этого ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²ΠΏΠΎΠ»Π½Π΅ достаточно, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΡŽ, Π½ΠΎ часто приходится всС-Ρ‚Π°ΠΊΠΈ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠ΅ части.

Как Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π΄Π°Ρ‚Π°ΡˆΠΈΡ‚Ρ‹

Π”Π°Ρ‚Π°ΡˆΠΈΡ‚Ρ‹ с Π½Π΅ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡ΠΊΠΈ ΠΎΡ‚ΠΏΡƒΠ³ΠΈΠ²Π°ΡŽΡ‚ своим объСмом ΠΈ ΠΎΠ±ΠΈΠ»ΠΈΠ΅ΠΌ нСпонятных слов. На самом Π΄Π΅Π»Π΅ всС Π½Π΅ Ρ‚Π°ΠΊ ΡΡ‚Ρ€Π°ΡˆΠ½ΠΎ, Ссли Π·Π½Π°Ρ‚ΡŒ нСсколько Π»Π°ΠΉΡ„Ρ…Π°ΠΊΠΎΠ².

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

Π”Π°Ρ‚Π°ΡˆΠΈΡ‚ – Π½Π΅ ΡƒΡ‡Π΅Π±Π½ΠΈΠΊ Бтрауструпа, Π² Π½Π΅ΠΌ Π½Π΅ Π½Π°Π΄ΠΎ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ всС подряд. Если воспользовались ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΌ совСтом – просто Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ Π² ΠΏΠ°Π½Π΅Π»ΠΈ Π·Π°ΠΊΠ»Π°Π΄ΠΎΠΊ Π½ΡƒΠΆΠ½Ρ‹ΠΉ Ρ€Π°Π·Π΄Π΅Π».

Π”Π°Ρ‚Π°ΡˆΠΈΡ‚Ρ‹, особСнно Reference Manuals, ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ возмоТности Π½Π΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ Ρ‡ΠΈΠΏΠ°, Π° всСй Π»ΠΈΠ½Π΅ΠΉΠΊΠΈ. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π°, Π° Ρ‚ΠΎ ΠΈ Π΄Π²Π΅ Ρ‚Ρ€Π΅Ρ‚ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΠΊ Π²Π°ΡˆΠ΅ΠΌΡƒ Ρ‡ΠΈΠΏΡƒ. ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ рСгистры TIM7, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Π² General Description, Π΅ΡΡ‚ΡŒ Π»ΠΈ ΠΎΠ½ Ρƒ вас.

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

Если встрСчаСтС Π½Π΅Π·Π½Π°ΠΊΠΎΠΌΠΎΠ΅ слово, Π½Π΅ ΠΏΡ‹Ρ‚Π°ΠΉΡ‚Π΅ΡΡŒ пСрСвСсти Π΅Π³ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π°Π½Π³Π»ΠΎ-русского словаря. Если вас ставит Π² Ρ‚ΡƒΠΏΠΈΠΊ hysteresis, Ρ‚ΠΎ ΠΎΡ‚ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° «гистСрСзис» Ρ‚Π΅ΠΏΠ»Π΅Π΅ Π²Π°ΠΌ Π½Π΅ станСт. ΠŸΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ Π“ΡƒΠ³Π»ΠΎΠΌ, Stack Overflow, Π’ΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΠ΅ΠΉ, Ρ„ΠΎΡ€ΡƒΠΌΠ°ΠΌΠΈ, Π³Π΄Π΅ Π½ΡƒΠΆΠ½ΠΎΠ΅ понятиС Π±ΡƒΠ΄Π΅Ρ‚ объяснСно простыми словами с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ.

Π›ΡƒΡ‡ΡˆΠΈΠΉ способ ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π½Π½ΠΎΠ΅ – ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π² Π΄Π΅Π»Π΅. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π΄Π΅Ρ€ΠΆΠΈΡ‚Π΅ ΠΏΠΎΠ΄ Ρ€ΡƒΠΊΠΎΠΉ ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½ΡƒΡŽ ΠΏΠ»Π°Ρ‚Ρƒ, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π·Π½Π°ΠΊΠΎΠΌΠΈΡ‚Π΅ΡΡŒ, Π° Π»ΡƒΡ‡ΡˆΠ΅ Π΄Π²Π΅ – Π½Π° случай, Ссли всС-Ρ‚Π°ΠΊΠΈ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ нСдопоняли ΠΈ ΡƒΠ²ΠΈΠ΄Π΅Π»ΠΈ Π²ΠΎΠ»ΡˆΠ΅Π±Π½Ρ‹ΠΉ Π΄Ρ‹ΠΌΠΎΠΊ.

ПолСзна ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡ΠΊΠ° Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ Ρ€ΡƒΠΊΠΎΠΉ Π΄Π°Ρ‚Π°ΡˆΠΈΡ‚, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Ρ‡ΠΈΡ‚Π°Π΅Ρ‚Π΅ Ρ‡Π΅ΠΉ-Ρ‚ΠΎ Ρ‚ΡŒΡŽΡ‚ΠΎΡ€ΠΈΠ°Π» ΠΈΠ»ΠΈ ΠΈΠ·ΡƒΡ‡Π°Π΅Ρ‚Π΅ Ρ‡ΡƒΠΆΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ. Π’ΠΏΠΎΠ»Π½Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π² Π½Π΅ΠΌ Π²Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ Π±ΠΎΠ»Π΅Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ своСй Π·Π°Π΄Π°Ρ‡ΠΈ. И Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚ – Ссли ΠΈΠ· Π΄Π°Ρ‚Π°ΡˆΠΈΡ‚Π° Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ удаСтся ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ ΠΆΠ΅ всС-Ρ‚Π°ΠΊΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ рСгистр, Π·Π°Π³ΡƒΠ³Π»ΠΈΡ‚Π΅ Π΅Π³ΠΎ: скорСС всСго, ΠΊΡ‚ΠΎ-Ρ‚ΠΎ ΡƒΠΆΠ΅ всС описал простыми словами ΠΈΠ»ΠΈ оставил понятный ΠΊΠΎΠ΄ Π½Π° Π“ΠΈΡ‚Π₯Π°Π±Π΅.

Π‘Π»ΠΎΠ²Π°Ρ€ΠΈΠΊ

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

ЭлСктричСство
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 – Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΉ Ρ€Π΅ΠΆΠΈΠΌ ΠΏΠΈΠ½Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ½ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ High ΠΈ Low – ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ OUTPUT с Arduino.
open drain – ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ€Π΅ΠΆΠΈΠΌΠ°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΠΈΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π»ΠΈΠ±ΠΎ Low, Π»ΠΈΠ±ΠΎ High Impedance / Floating. ΠŸΡ€ΠΈ этом ΠΏΠΎΡ‡Ρ‚ΠΈ всСгда это Π½Π΅ «настоящий» ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ сток, Π΅ΡΡ‚ΡŒ Π·Π°Ρ‰ΠΈΡ‚Π½Ρ‹Π΅ Π΄ΠΈΠΎΠ΄Ρ‹, рСзисторы, Π΅Ρ‰Π΅ Ρ‡Ρ‚ΠΎ. Π­Ρ‚ΠΎ просто ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅ΠΆΠΈΠΌΠ° зСмля/Π½ΠΈΡ‡Π΅Π³ΠΎ.
true open drain – Π° Π²ΠΎΡ‚ это ΡƒΠΆΠ΅ настоящий ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ сток: ΠΏΠΈΠ½ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π²Π΅Π΄Π΅Ρ‚ Π² зСмлю, Ссли ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚, ΠΈΠ»ΠΈ ΠΏΡ€Π΅Π±Ρ‹Π²Π°Π΅Ρ‚ Π² подвСшСнном состоянии, Ссли Π·Π°ΠΊΡ€Ρ‹Ρ‚. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ Ρ‡Π΅Ρ€Π΅Π· Π½Π΅Π³ΠΎ ΠΏΡ€ΠΈ нСобходимости ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ напряТСниС большС Vcc, Π½ΠΎ максимум всС Ρ€Π°Π²Π½ΠΎ оговариваСтся Π² Π΄Π°Ρ‚Π°ΡˆΠΈΡ‚Π΅ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Absolute Maximum Ratings / Voltage.

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΡ‹
in series – ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ
to chain – ΡΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒ Ρ‡ΠΈΠΏΡ‹ Π² Ρ†Π΅ΠΏΠΎΡ‡ΠΊΡƒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ, увСличивая количСство Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠ².
shift – сдвиг, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ сдвиг Π±ΠΈΡ‚ΠΎΠ². БоотвСтствСнно, to shift in ΠΈ to shift out – ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΠ±ΠΈΡ‚Π½ΠΎ.
latch – Π·Π°Π΄Π²ΠΈΠΆΠΊΠ°, ΠΏΡ€ΠΈΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π°Ρ Π±ΡƒΡ„Π΅Ρ€, ΠΏΠΎΠΊΠ° Ρ‡Π΅Ρ€Π΅Π· Π½Π΅Π³ΠΎ ΡΠ΄Π²ΠΈΠ³Π°ΡŽΡ‚ΡΡ Π±ΠΈΡ‚Ρ‹. Когда ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½Π°, Π·Π°Π΄Π²ΠΈΠΆΠΊΠ° открываСтся, Π±ΠΈΡ‚Ρ‹ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ.
to clock in – Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΠΎΠ±ΠΈΡ‚Π½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ, ΡΠ΄Π²ΠΈΠ½ΡƒΡ‚ΡŒ всС Π±ΠΈΡ‚Ρ‹ Π½Π° Π½ΡƒΠΆΠ½Ρ‹Π΅ мСста.
double buffer, shadow register, preload register – обозначСния истории, ΠΊΠΎΠ³Π΄Π° рСгистр Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡƒΠΌΠ΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, Π½ΠΎ ΠΏΡ€ΠΈΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π΄ΠΎ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Ρ‚ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°. НапримСр, для ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ШИМ Π΅Π³ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ (ΡΠΊΠ²Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ, частота) Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ, ΠΏΠΎΠΊΠ° Π½Π΅ закончится Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Ρ†ΠΈΠΊΠ», Π½ΠΎ Π½ΠΎΠ²Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΡƒΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Ρ‹. БоотвСтствСнно, Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠ΅ дСрТатся Π² shadow register, Π° Π½ΠΎΠ²Ρ‹Π΅ ΠΏΠΎΠΏΠ°Π΄Π°ΡŽΡ‚ Π² preload register, Π±ΡƒΠ΄ΡƒΡ‡ΠΈ записанными Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ рСгистр Ρ‡ΠΈΠΏΠ°.

ВсякоС
prescaler – ΠΏΡ€Π΅Π΄Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ частоты
to set a bit – ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π±ΠΈΡ‚ Π² 1
to clear/reset a bit – ΡΠ±Ρ€ΠΎΡΠΈΡ‚ΡŒ Π±ΠΈΡ‚ Π² 0 (reset – Ρ„ΠΈΡˆΠΊΠ° Π΄Π°Ρ‚Π°ΡˆΠΈΡ‚ΠΎΠ² STM)

Π§Ρ‚ΠΎ дальшС

Π’ΠΎΠΎΠ±Ρ‰Π΅ Ρ‚ΡƒΡ‚ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π»Π°ΡΡŒ практичСская Ρ‡Π°ΡΡ‚ΡŒ с дСмонстрациСй Ρ‚Ρ€Π΅Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° STM32 ΠΈ STM8, Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹Ρ… ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ для этой ΡΡ‚Π°Ρ‚ΡŒΠΈ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π΄Π°Ρ‚Π°ΡˆΠΈΡ‚ΠΎΠ², с Π»Π°ΠΌΠΏΠΎΡ‡ΠΊΠ°ΠΌΠΈ, SPI, Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°ΠΌΠΈ, ШИМом ΠΈ прСрываниями:

Как ΠΈ Π·Π°Ρ‡Π΅ΠΌ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π΄Π°Ρ‚Π°ΡˆΠΈΡ‚Ρ‹, Ссли ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ – вашС Ρ…ΠΎΠ±Π±ΠΈ

Но тСкста получаСтся ΠΌΠ½ΠΎΠ³ΠΎΠ²Π°Ρ‚ΠΎ, поэтому ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ Π²ΠΎ Π²Ρ‚ΠΎΡ€ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ.

Навык чтСния Π΄Π°Ρ‚Π°ΡˆΠΈΡ‚ΠΎΠ² ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ с вашим Ρ…ΠΎΠ±Π±ΠΈ, Π½ΠΎ Π΅Π΄Π²Π° Π»ΠΈ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ ΠΆΠΈΠ²ΠΎΠ΅ ΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ с ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌΠΈ ΠΏΠΎ ΡƒΠ²Π»Π΅Ρ‡Π΅Π½ΠΈΡŽ Π½Π° Ρ„ΠΎΡ€ΡƒΠΌΠ°Ρ… ΠΈ Π² Ρ‡Π°Ρ‚Π°Ρ…. Для Π½Π΅Π³ΠΎ Π½Π°Π΄ΠΎ всС-Ρ‚Π°ΠΊΠΈ Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ ΠΏΠΎΠ΄Ρ‚ΡΠ³ΠΈΠ²Π°Ρ‚ΡŒ английский язык. А ΠΏΠΎΡ‚ΠΎΠΌΡƒ Π΄ΠΎΡ‡ΠΈΡ‚Π°Π²ΡˆΠΈΠΌ – ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΈΠ·: Π΄Π²Π° бСсплатных ΡƒΡ€ΠΎΠΊΠ° Π² Skyeng ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΎΠΏΠ»Π°Ρ‚Π΅ ΠΏΠΎ ΠΊΠΎΠ΄Ρƒ HABR2.

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