แƒฌแƒแƒ˜แƒ™แƒ˜แƒ—แƒฎแƒ”แƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜ 2: SPI STM32-แƒ–แƒ”; PWM, แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒ”แƒ‘แƒ˜ STM8-แƒ–แƒ”

แƒฌแƒแƒ˜แƒ™แƒ˜แƒ—แƒฎแƒ”แƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜ 2: SPI STM32-แƒ–แƒ”; PWM, แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒ”แƒ‘แƒ˜ STM8-แƒ–แƒ”

ะ’ แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒœแƒแƒฌแƒ˜แƒšแƒ˜ แƒ›แƒ” แƒ•แƒชแƒ“แƒ˜แƒšแƒแƒ‘แƒ“แƒ˜ แƒ•แƒฃแƒ—แƒฎแƒ แƒ แƒ”แƒšแƒ”แƒฅแƒขแƒ แƒแƒœแƒ˜แƒ™แƒ˜แƒก แƒ˜แƒœแƒŸแƒ˜แƒœแƒ แƒ”แƒ‘แƒก, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒ’แƒแƒ˜แƒ–แƒแƒ แƒ“แƒ Arduino-แƒก แƒจแƒแƒ แƒ•แƒšแƒ”แƒ‘แƒ˜แƒ“แƒแƒœ, แƒ แƒแƒ’แƒแƒ  แƒ“แƒ แƒ แƒแƒขแƒแƒ› แƒฃแƒœแƒ“แƒ แƒฌแƒแƒ˜แƒ™แƒ˜แƒ—แƒฎแƒแƒœ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜ แƒ“แƒ แƒกแƒฎแƒ•แƒ แƒ“แƒแƒ™แƒฃแƒ›แƒ”แƒœแƒขแƒแƒชแƒ˜แƒ แƒ›แƒ˜แƒ™แƒ แƒแƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ”แƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒขแƒ”แƒฅแƒกแƒขแƒ˜ แƒ“แƒ˜แƒ“แƒ˜ แƒแƒฆแƒ›แƒแƒฉแƒœแƒ“แƒ, แƒแƒ›แƒ˜แƒขแƒแƒ› แƒ“แƒแƒ•แƒžแƒ˜แƒ แƒ“แƒ˜, แƒ แƒแƒ› แƒชแƒแƒšแƒ™แƒ” แƒกแƒขแƒแƒขแƒ˜แƒแƒจแƒ˜ แƒžแƒ แƒแƒฅแƒขแƒ˜แƒ™แƒฃแƒš แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ”แƒ‘แƒก แƒ•แƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒ“แƒ˜. แƒ˜แƒกแƒ”, แƒ›แƒแƒœ แƒ—แƒแƒ•แƒ˜แƒก แƒ—แƒแƒ•แƒก แƒ แƒซแƒ˜แƒก แƒกแƒแƒ™แƒ แƒฃแƒฌแƒแƒ“แƒ...

แƒ“แƒฆแƒ”แƒก แƒ›แƒ” แƒ’แƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒ—, แƒ—แƒฃ แƒ แƒแƒ’แƒแƒ  แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜ แƒกแƒแƒ™แƒ›แƒแƒแƒ“ แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜, แƒ›แƒแƒ’แƒ แƒแƒ› แƒแƒฃแƒชแƒ˜แƒšแƒ”แƒ‘แƒ”แƒšแƒ˜ แƒ›แƒ แƒแƒ•แƒแƒšแƒ˜ แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒแƒ›แƒแƒชแƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ“แƒแƒกแƒแƒญแƒ แƒ”แƒšแƒแƒ“ STM32 (Blue Pill) แƒ“แƒ STM8 แƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ”แƒ แƒ”แƒ‘แƒ–แƒ”. แƒงแƒ•แƒ”แƒšแƒ แƒ“แƒ”แƒ›แƒ แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜ แƒ”แƒซแƒฆแƒ•แƒœแƒ”แƒ‘แƒ แƒฉแƒ”แƒ›แƒก แƒกแƒแƒงแƒ•แƒแƒ แƒ”แƒš LED-แƒ”แƒ‘แƒก, แƒฉแƒ•แƒ”แƒœ แƒ›แƒแƒ— แƒ“แƒ˜แƒ“แƒ˜ แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ˜แƒ— แƒ’แƒแƒ•แƒแƒœแƒแƒ—แƒ”แƒ‘แƒ—, แƒ แƒ˜แƒกแƒ—แƒ•แƒ˜แƒกแƒแƒช แƒ›แƒแƒ’แƒ•แƒ˜แƒฌแƒ”แƒ•แƒก แƒงแƒ•แƒ”แƒšแƒแƒœแƒแƒ˜แƒ แƒ˜ แƒกแƒแƒ˜แƒœแƒขแƒ”แƒ แƒ”แƒกแƒ แƒžแƒ”แƒ แƒ˜แƒคแƒ”แƒ แƒ˜แƒฃแƒšแƒ˜ แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ.

แƒขแƒ”แƒฅแƒกแƒขแƒ˜ แƒ™แƒ•แƒšแƒแƒ• แƒฃแƒ–แƒแƒ แƒ›แƒแƒ–แƒแƒ แƒ˜ แƒแƒฆแƒ›แƒแƒฉแƒœแƒ“แƒ, แƒแƒ›แƒ˜แƒขแƒแƒ› แƒ›แƒแƒฎแƒ”แƒ แƒฎแƒ”แƒ‘แƒฃแƒšแƒแƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ•แƒแƒ™แƒ”แƒ—แƒ”แƒ‘ แƒจแƒ˜แƒœแƒแƒแƒ แƒกแƒก:

STM32 Blue Pill: 16 LED DM634 แƒ“แƒ แƒแƒ˜แƒ•แƒ”แƒ แƒ˜แƒ—
STM8: แƒ”แƒฅแƒ•แƒกแƒ˜ PWM แƒžแƒ˜แƒœแƒ˜แƒก แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ
STM8: 8 RGB LED แƒกแƒแƒ› แƒžแƒ˜แƒœแƒ–แƒ”, แƒฌแƒงแƒ•แƒ”แƒขแƒก

แƒฃแƒแƒ แƒ˜ แƒžแƒแƒกแƒฃแƒฎแƒ˜แƒกแƒ›แƒ’แƒ”แƒ‘แƒšแƒแƒ‘แƒแƒ–แƒ”: แƒ›แƒ” แƒแƒ  แƒ•แƒแƒ  แƒ˜แƒœแƒŸแƒ˜แƒœแƒ”แƒ แƒ˜, แƒแƒ  แƒ•แƒแƒžแƒ˜แƒ แƒ”แƒ‘ แƒžแƒ แƒ”แƒขแƒ”แƒœแƒ–แƒ˜แƒแƒก, แƒ แƒแƒ› แƒฆแƒ แƒ›แƒ แƒชแƒแƒ“แƒœแƒ แƒ›แƒแƒฅแƒ•แƒก แƒ”แƒšแƒ”แƒฅแƒขแƒ แƒแƒœแƒ˜แƒ™แƒแƒจแƒ˜, แƒกแƒขแƒแƒขแƒ˜แƒ แƒ’แƒแƒœแƒ™แƒฃแƒ—แƒ•แƒœแƒ˜แƒšแƒ˜แƒ แƒฉแƒ”แƒ›แƒœแƒแƒ˜แƒ แƒ˜ แƒ›แƒแƒงแƒ•แƒแƒ แƒฃแƒšแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒคแƒแƒฅแƒขแƒแƒ‘แƒ แƒ˜แƒ•แƒแƒ“, แƒแƒ แƒ˜ แƒฌแƒšแƒ˜แƒก แƒฌแƒ˜แƒœ แƒ—แƒแƒ•แƒก แƒ›แƒ˜แƒ•แƒ˜แƒฉแƒœแƒ”แƒ•แƒ“แƒ˜ แƒกแƒแƒ›แƒ˜แƒ–แƒœแƒ” แƒแƒฃแƒ“แƒ˜แƒขแƒแƒ แƒ˜แƒแƒ“. แƒ•แƒ˜แƒœแƒ›แƒ”แƒ› แƒ แƒแƒ› แƒ›แƒ”แƒ—แƒฅแƒ•แƒ แƒ›แƒแƒจแƒ˜แƒœ, แƒ แƒแƒ› แƒฃแƒชแƒœแƒแƒ‘ แƒฉแƒ˜แƒžแƒ–แƒ” แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒคแƒฃแƒ แƒชแƒšแƒ”แƒ‘แƒ˜ แƒแƒ  แƒ˜แƒงแƒ แƒกแƒแƒจแƒ˜แƒœแƒ”แƒšแƒ˜ แƒฌแƒแƒกแƒแƒ™แƒ˜แƒ—แƒฎแƒแƒ“, แƒ“แƒ˜แƒ“ แƒ“แƒ แƒแƒก แƒแƒ  แƒ“แƒแƒ•แƒฎแƒแƒ แƒฏแƒแƒ•แƒ“แƒ˜ แƒ˜แƒœแƒขแƒ”แƒ แƒœแƒ”แƒขแƒจแƒ˜ แƒ–แƒแƒ’แƒ˜แƒ”แƒ แƒ—แƒ˜ แƒ™แƒแƒ“แƒ˜แƒก แƒ›แƒแƒกแƒแƒซแƒ”แƒ‘แƒœแƒแƒ“ แƒ“แƒ แƒ›แƒแƒ™แƒ แƒแƒขแƒšแƒ˜แƒ—แƒ แƒ“แƒ แƒฌแƒ”แƒ‘แƒแƒ•แƒแƒœแƒ˜ แƒšแƒ”แƒœแƒขแƒ˜แƒ— แƒฎแƒ”แƒšแƒฏแƒแƒฎแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒ’แƒแƒœแƒ”แƒ‘แƒแƒก.

แƒแƒ› แƒกแƒขแƒแƒขแƒ˜แƒ˜แƒก แƒงแƒฃแƒ แƒแƒ“แƒฆแƒ”แƒ‘แƒ แƒ’แƒแƒ›แƒแƒฎแƒ•แƒ˜แƒšแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒคแƒฃแƒ แƒชแƒšแƒ”แƒ‘แƒ–แƒ” แƒ“แƒ แƒแƒ แƒ แƒžแƒ แƒแƒ”แƒฅแƒขแƒ”แƒ‘แƒ–แƒ”, แƒแƒ›แƒ˜แƒขแƒแƒ› แƒ™แƒแƒ“แƒ˜ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒแƒ  แƒ˜แƒงแƒแƒก แƒซแƒแƒšแƒ˜แƒแƒœ แƒกแƒฃแƒคแƒ—แƒ แƒ“แƒ แƒฎแƒจแƒ˜แƒ แƒแƒ“ แƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒฃแƒšแƒ˜. แƒ—แƒแƒ•แƒแƒ“ แƒžแƒ แƒแƒ”แƒฅแƒขแƒ”แƒ‘แƒ˜ แƒซแƒแƒšแƒ˜แƒแƒœ แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜แƒ, แƒ—แƒฃแƒ›แƒชแƒ แƒจแƒ”แƒกแƒแƒคแƒ”แƒ แƒ˜แƒกแƒ˜แƒ แƒแƒฎแƒแƒšแƒ˜ แƒฉแƒ˜แƒžแƒ˜แƒก แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒ’แƒแƒชแƒœแƒแƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก.

แƒ˜แƒ›แƒ”แƒ“แƒ˜ แƒ›แƒแƒฅแƒ•แƒก, แƒ แƒแƒ› แƒฉแƒ”แƒ›แƒ˜ แƒกแƒขแƒแƒขแƒ˜แƒ แƒ“แƒแƒ”แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ แƒ•แƒ˜แƒœแƒ›แƒ”แƒก แƒฐแƒแƒ‘แƒ˜แƒจแƒ˜ แƒฉแƒแƒซแƒ˜แƒ แƒ•แƒ˜แƒก แƒ›แƒกแƒ’แƒแƒ•แƒก แƒ”แƒขแƒแƒžแƒ–แƒ”.

STM32

16 LED DM634 แƒ“แƒ SPI

แƒžแƒแƒขแƒแƒ แƒ แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜ Blue Pill-แƒ˜แƒก (STM32F103C8T6) แƒ“แƒ DM634 LED แƒ“แƒ แƒแƒ˜แƒ•แƒ”แƒ แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—. แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—, แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒ•แƒแƒ แƒ™แƒ•แƒ”แƒ•แƒ— แƒ“แƒ แƒแƒ˜แƒ•แƒ”แƒ แƒก, STM IO แƒžแƒแƒ แƒขแƒ”แƒ‘แƒก แƒ“แƒ SPI-แƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒแƒก.

DM634

แƒขแƒแƒ˜แƒ•แƒแƒœแƒ˜แƒก แƒฉแƒ˜แƒžแƒ˜ 16 16-แƒ‘แƒ˜แƒขแƒ˜แƒแƒœแƒ˜ PWM แƒ’แƒแƒ›แƒแƒกแƒแƒกแƒ•แƒšแƒ”แƒšแƒ˜แƒ—, แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ˜แƒงแƒแƒก แƒฏแƒแƒญแƒ•แƒ”แƒ‘แƒจแƒ˜. แƒ“แƒแƒ‘แƒแƒšแƒ˜ แƒ“แƒแƒœแƒ˜แƒก 12-แƒ‘แƒ˜แƒขแƒ˜แƒแƒœแƒ˜ แƒ›แƒแƒ“แƒ”แƒšแƒ˜ แƒชแƒœแƒแƒ‘แƒ˜แƒšแƒ˜แƒ แƒจแƒ˜แƒ“แƒ แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜แƒ“แƒแƒœ แƒšแƒแƒ˜แƒ—แƒžแƒแƒ™แƒ”แƒขแƒ˜. แƒ”แƒ แƒ— แƒ“แƒ แƒแƒก, DM63x-แƒกแƒ แƒ“แƒ แƒ™แƒแƒ แƒ’แƒแƒ“ แƒชแƒœแƒแƒ‘แƒ˜แƒš TLC5940-แƒก แƒจแƒแƒ แƒ˜แƒก แƒแƒ แƒฉแƒ”แƒ•แƒ˜แƒก แƒ“แƒ แƒแƒก, DM แƒแƒ•แƒ˜แƒ แƒฉแƒ˜แƒ” แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒ›แƒ˜แƒ–แƒ”แƒ–แƒ˜แƒก แƒ’แƒแƒ›แƒ: 1) TLC แƒแƒšแƒ˜แƒ”แƒฅแƒกแƒžแƒ แƒ”แƒกแƒ–แƒ” แƒœแƒแƒ›แƒ“แƒ•แƒ˜แƒšแƒแƒ“ แƒงแƒแƒšแƒ‘แƒ˜แƒ, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ”แƒก แƒแƒ  แƒแƒ แƒ˜แƒก; 2) DM แƒแƒฅแƒ•แƒก แƒแƒ•แƒขแƒแƒœแƒแƒ›แƒ˜แƒฃแƒ แƒ˜ PWM แƒกแƒแƒ™แƒฃแƒ—แƒแƒ แƒ˜ แƒกแƒ˜แƒฎแƒจแƒ˜แƒ แƒ˜แƒก แƒ’แƒ”แƒœแƒ”แƒ แƒแƒขแƒแƒ แƒ˜แƒ—; 3) แƒ›แƒ˜แƒกแƒ˜ แƒงแƒ˜แƒ“แƒ•แƒ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒแƒ“แƒ แƒ˜แƒแƒคแƒแƒ“ แƒ›แƒแƒกแƒ™แƒแƒ•แƒจแƒ˜, แƒ•แƒ˜แƒ“แƒ แƒ” แƒแƒšแƒ˜แƒกแƒแƒ’แƒแƒœ แƒแƒ›แƒแƒœแƒแƒ—แƒ˜แƒก แƒ›แƒแƒšแƒแƒ“แƒ˜แƒœแƒจแƒ˜. แƒ“แƒ, แƒ แƒ แƒ—แƒฅแƒ›แƒ แƒฃแƒœแƒ“แƒ, แƒกแƒแƒ˜แƒœแƒขแƒ”แƒ แƒ”แƒกแƒ แƒ˜แƒงแƒ แƒ˜แƒ›แƒ˜แƒก แƒกแƒฌแƒแƒ•แƒšแƒ, แƒ—แƒฃ แƒ แƒแƒ’แƒแƒ  แƒฃแƒœแƒ“แƒ แƒแƒ™แƒแƒœแƒขแƒ แƒแƒšแƒแƒ— แƒฉแƒ˜แƒžแƒ˜ แƒ—แƒแƒ•แƒแƒ“, แƒ•แƒ˜แƒ“แƒ แƒ” แƒ›แƒ–แƒ แƒ‘แƒ˜แƒ‘แƒšแƒ˜แƒแƒ—แƒ”แƒ™แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ. แƒฉแƒ˜แƒžแƒ”แƒ‘แƒ˜ แƒแƒฎแƒšแƒ แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒแƒ“ แƒฌแƒแƒ แƒ›แƒแƒ“แƒ’แƒ”แƒœแƒ˜แƒšแƒ˜แƒ SSOP24 แƒจแƒ”แƒคแƒฃแƒ—แƒ•แƒแƒจแƒ˜; แƒ›แƒแƒ—แƒ˜ แƒจแƒ”แƒ“แƒฃแƒฆแƒ”แƒ‘แƒ แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜แƒ แƒแƒ“แƒแƒžแƒขแƒ”แƒ แƒ–แƒ”.

แƒ•แƒ˜แƒœแƒแƒ˜แƒ“แƒแƒœ แƒ›แƒฌแƒแƒ แƒ›แƒแƒ”แƒ‘แƒ”แƒšแƒ˜ แƒขแƒแƒ˜แƒ•แƒœแƒ”แƒšแƒ˜แƒ, แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒคแƒฃแƒ แƒชแƒ”แƒšแƒ˜ แƒฉแƒ˜แƒžแƒ˜ แƒฉแƒ˜แƒœแƒฃแƒ  แƒ˜แƒœแƒ’แƒšแƒ˜แƒกแƒฃแƒ  แƒ”แƒœแƒแƒ–แƒ”แƒ แƒ“แƒแƒฌแƒ”แƒ แƒ˜แƒšแƒ˜, แƒ แƒแƒช แƒœแƒ˜แƒจแƒœแƒแƒ•แƒก, แƒ แƒแƒ› แƒกแƒแƒฎแƒแƒšแƒ˜แƒกแƒ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ. แƒฏแƒ”แƒ  แƒฉแƒ•แƒ”แƒœ แƒ•แƒฃแƒงแƒฃแƒ แƒ”แƒ‘แƒ— แƒžแƒ˜แƒœแƒแƒขแƒก (Pin แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ˜) แƒ˜แƒ›แƒ˜แƒก แƒ’แƒแƒ’แƒ”แƒ‘แƒ, แƒ—แƒฃ แƒ แƒแƒ›แƒ”แƒš แƒคแƒ”แƒฎแƒ˜แƒก แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒ แƒ“แƒ แƒฅแƒ˜แƒœแƒซแƒ˜แƒกแƒ—แƒแƒ•แƒ”แƒ‘แƒ˜แƒก แƒแƒฆแƒฌแƒ”แƒ แƒ (Pin แƒแƒฆแƒฌแƒ”แƒ แƒ). 16 แƒฅแƒ˜แƒœแƒซแƒ˜แƒกแƒ—แƒแƒ•แƒ”แƒ‘แƒ˜:

แƒฌแƒแƒ˜แƒ™แƒ˜แƒ—แƒฎแƒ”แƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜ 2: SPI STM32-แƒ–แƒ”; PWM, แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒ”แƒ‘แƒ˜ STM8-แƒ–แƒ”
DC แƒฉแƒแƒซแƒ˜แƒ แƒ•แƒ˜แƒก แƒฌแƒงแƒแƒ แƒแƒ”แƒ‘แƒ˜ (แƒฆแƒ˜แƒ แƒ™แƒแƒœแƒแƒšแƒ˜แƒ–แƒแƒชแƒ˜แƒ)

แƒฉแƒแƒ˜แƒซแƒ˜แƒ แƒ / แƒฆแƒ˜แƒ แƒกแƒแƒœแƒ˜แƒแƒฆแƒ•แƒ แƒ” แƒ’แƒแƒ›แƒแƒ›แƒแƒ•แƒแƒšแƒ˜ - แƒ’แƒแƒ“แƒ˜แƒœแƒ”แƒ‘แƒ; แƒจแƒ”แƒ›แƒแƒ›แƒแƒ•แƒแƒšแƒ˜ แƒ“แƒ”แƒœแƒ˜แƒก แƒฌแƒงแƒแƒ แƒ; แƒ’แƒแƒ›แƒแƒ›แƒแƒ•แƒแƒšแƒ˜ แƒฉแƒแƒ แƒ—แƒฃแƒšแƒ˜แƒ แƒ›แƒ˜แƒฌแƒแƒกแƒ—แƒแƒœ แƒแƒฅแƒขแƒ˜แƒฃแƒ  แƒ›แƒ“แƒ’แƒแƒ›แƒแƒ แƒ”แƒแƒ‘แƒแƒจแƒ˜ - LED-แƒ”แƒ‘แƒ˜ แƒฃแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ แƒ“แƒ แƒแƒ˜แƒ•แƒ”แƒ แƒก แƒ™แƒแƒ—แƒแƒ“แƒ”แƒ‘แƒ˜แƒ—. แƒ”แƒšแƒ”แƒฅแƒขแƒ แƒฃแƒšแƒ˜ แƒ—แƒ•แƒแƒšแƒกแƒแƒ–แƒ แƒ˜แƒกแƒ˜แƒ—, แƒ”แƒก, แƒ แƒ แƒ—แƒฅแƒ›แƒ แƒฃแƒœแƒ“แƒ, แƒแƒ  แƒแƒ แƒ˜แƒก "แƒฆแƒ˜แƒ แƒ™แƒแƒœแƒแƒšแƒ˜แƒ–แƒแƒชแƒ˜แƒ" (แƒฆแƒ˜แƒ แƒกแƒแƒœแƒ˜แƒแƒฆแƒ•แƒ แƒ”), แƒ›แƒแƒ’แƒ แƒแƒ› แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒคแƒฃแƒ แƒชแƒšแƒ”แƒ‘แƒจแƒ˜ แƒฎแƒจแƒ˜แƒ แƒแƒ“ แƒ’แƒ•แƒฎแƒ•แƒ“แƒ”แƒ‘แƒ แƒฅแƒ˜แƒœแƒซแƒ˜แƒกแƒ—แƒแƒ•แƒ”แƒ‘แƒ˜แƒก แƒ”แƒก แƒแƒฆแƒœแƒ˜แƒจแƒ•แƒœแƒ แƒ’แƒแƒ“แƒ˜แƒœแƒ”แƒ‘แƒ˜แƒก แƒ แƒ”แƒŸแƒ˜แƒ›แƒจแƒ˜.

แƒฌแƒแƒ˜แƒ™แƒ˜แƒ—แƒฎแƒ”แƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜ 2: SPI STM32-แƒ–แƒ”; PWM, แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒ”แƒ‘แƒ˜ STM8-แƒ–แƒ”
แƒ’แƒแƒ แƒ” แƒ แƒ”แƒ–แƒ˜แƒกแƒขแƒแƒ แƒ”แƒ‘แƒ˜ REXT-แƒกแƒ แƒ“แƒ GND-แƒก แƒจแƒแƒ แƒ˜แƒก แƒ’แƒแƒ›แƒแƒ›แƒแƒ•แƒแƒšแƒ˜ แƒ“แƒ”แƒœแƒ˜แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ˜แƒก แƒ“แƒแƒกแƒแƒงแƒ”แƒœแƒ”แƒ‘แƒšแƒแƒ“

REXT แƒžแƒ˜แƒœแƒกแƒ แƒ“แƒ แƒ›แƒ˜แƒฌแƒแƒก แƒจแƒแƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒœแƒขแƒแƒŸแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒกแƒแƒชแƒœแƒแƒ‘แƒแƒ แƒ แƒ แƒ”แƒ–แƒ˜แƒกแƒขแƒแƒ แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ”แƒ‘แƒก แƒ’แƒแƒ›แƒแƒกแƒแƒ•แƒšแƒ”แƒ‘แƒ˜แƒก แƒจแƒ˜แƒ“แƒ แƒฌแƒ˜แƒœแƒแƒแƒฆแƒ›แƒ“แƒ”แƒ’แƒแƒ‘แƒแƒก, แƒ˜แƒฎแƒ˜แƒšแƒ”แƒ— แƒ“แƒ˜แƒแƒ’แƒ แƒแƒ›แƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒชแƒฎแƒ แƒ˜แƒšแƒ˜แƒก แƒ›แƒ”-9 แƒ’แƒ•แƒ”แƒ แƒ“แƒ–แƒ”. DM634-แƒจแƒ˜, แƒ”แƒก แƒฌแƒ˜แƒœแƒแƒแƒฆแƒ›แƒ“แƒ”แƒ’แƒแƒ‘แƒ แƒแƒกแƒ”แƒ•แƒ” แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ“แƒ”แƒ‘แƒแƒ“แƒ”แƒก แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒฃแƒšแƒ˜ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ˜แƒ—, แƒ›แƒ—แƒšแƒ˜แƒแƒœแƒ˜ แƒกแƒ˜แƒ™แƒแƒจแƒ™แƒแƒจแƒ˜แƒก แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ— (แƒ’แƒšแƒแƒ‘แƒแƒšแƒฃแƒ แƒ˜ แƒกแƒ˜แƒ™แƒแƒจแƒ™แƒแƒจแƒ”); แƒแƒ› แƒกแƒขแƒแƒขแƒ˜แƒแƒจแƒ˜ แƒ“แƒ”แƒขแƒแƒšแƒ”แƒ‘แƒจแƒ˜ แƒแƒ  แƒจแƒ”แƒ•แƒแƒš, แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ แƒแƒฅ แƒ“แƒแƒ•แƒ“แƒ”แƒ‘ 2.2 - 3 kOhm แƒ แƒ”แƒ–แƒ˜แƒกแƒขแƒแƒ แƒก.

แƒ˜แƒ›แƒ˜แƒก แƒ’แƒแƒกแƒแƒ’แƒ”แƒ‘แƒแƒ“, แƒ—แƒฃ แƒ แƒแƒ’แƒแƒ  แƒฃแƒœแƒ“แƒ แƒแƒ™แƒแƒœแƒขแƒ แƒแƒšแƒแƒ— แƒฉแƒ˜แƒžแƒ˜, แƒ›แƒแƒ“แƒ˜แƒ— แƒจแƒ”แƒ•แƒฎแƒ”แƒ“แƒแƒ— แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒ˜แƒก แƒ˜แƒœแƒขแƒ”แƒ แƒคแƒ”แƒ˜แƒกแƒ˜แƒก แƒแƒฆแƒฌแƒ”แƒ แƒแƒก:

แƒฌแƒแƒ˜แƒ™แƒ˜แƒ—แƒฎแƒ”แƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜ 2: SPI STM32-แƒ–แƒ”; PWM, แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒ”แƒ‘แƒ˜ STM8-แƒ–แƒ”

แƒฐแƒ, แƒแƒ˜, แƒฉแƒ˜แƒœแƒฃแƒ แƒ˜ แƒ˜แƒœแƒ’แƒšแƒ˜แƒกแƒฃแƒ แƒ˜ แƒ›แƒ—แƒ”แƒšแƒ˜ แƒ—แƒแƒ•แƒ˜แƒกแƒ˜ แƒ“แƒ˜แƒ“แƒ”แƒ‘แƒ˜แƒ—. แƒแƒ›แƒ˜แƒก แƒ—แƒแƒ แƒ’แƒ›แƒœแƒ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒฃแƒ แƒ˜แƒ, แƒกแƒฃแƒ แƒ•แƒ˜แƒšแƒ˜แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ’แƒแƒ˜แƒ’แƒแƒ—, แƒ›แƒแƒ’แƒ แƒแƒ› แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒก แƒกแƒฎแƒ•แƒ แƒ’แƒ–แƒ - แƒœแƒแƒฎแƒ”แƒ—, แƒ แƒแƒ’แƒแƒ  แƒแƒ แƒ˜แƒก แƒแƒฆแƒฌแƒ”แƒ แƒ˜แƒšแƒ˜ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒฃแƒ แƒแƒ“ แƒ›แƒกแƒ’แƒแƒ•แƒก TLC5940-แƒ—แƒแƒœ แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒคแƒฃแƒ แƒชแƒ”แƒšแƒจแƒ˜:

แƒฌแƒแƒ˜แƒ™แƒ˜แƒ—แƒฎแƒ”แƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜ 2: SPI STM32-แƒ–แƒ”; PWM, แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒ”แƒ‘แƒ˜ STM8-แƒ–แƒ”
... แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒแƒจแƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒขแƒแƒœแƒแƒ“ แƒกแƒแƒญแƒ˜แƒ แƒแƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒกแƒแƒ›แƒ˜ แƒžแƒ˜แƒœแƒ˜. SCLK แƒกแƒ˜แƒ’แƒœแƒแƒšแƒ˜แƒก แƒแƒ›แƒแƒ›แƒแƒ•แƒแƒšแƒ˜ แƒ™แƒ˜แƒ“แƒ” แƒ’แƒแƒ“แƒแƒแƒฅแƒ•แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒก SIN แƒžแƒ˜แƒœแƒ˜แƒ“แƒแƒœ แƒจแƒ˜แƒ“แƒ แƒ แƒ”แƒ”แƒกแƒขแƒ แƒจแƒ˜. แƒงแƒ•แƒ”แƒšแƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ˜แƒก แƒฉแƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒ›แƒแƒ™แƒšแƒ” แƒ›แƒแƒฆแƒแƒšแƒ˜ XLAT แƒกแƒ˜แƒ’แƒœแƒแƒšแƒ˜ แƒแƒ™แƒแƒ•แƒ”แƒ‘แƒก แƒ—แƒแƒœแƒ›แƒ˜แƒ›แƒ“แƒ”แƒ•แƒ แƒฃแƒšแƒแƒ“ แƒ’แƒแƒ“แƒแƒชแƒ”แƒ›แƒฃแƒš แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒก แƒจแƒ˜แƒ“แƒ แƒ แƒ”แƒ”แƒกแƒขแƒ แƒ”แƒ‘แƒจแƒ˜. แƒจแƒ˜แƒ“แƒ แƒ แƒ”แƒ’แƒ˜แƒกแƒขแƒ แƒ”แƒ‘แƒ˜ แƒแƒ แƒ˜แƒก แƒ™แƒแƒ แƒ˜แƒ‘แƒญแƒ”แƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒแƒ›แƒแƒฆแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ XLAT แƒกแƒ˜แƒ’แƒœแƒแƒšแƒ˜แƒก แƒ“แƒแƒœแƒ˜แƒ—. แƒงแƒ•แƒ”แƒšแƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ˜ แƒžแƒ˜แƒ แƒ•แƒ”แƒš แƒ แƒ˜แƒ’แƒจแƒ˜ แƒ’แƒแƒ“แƒแƒ”แƒชแƒ”แƒ›แƒ แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒแƒœ แƒ‘แƒ˜แƒขแƒก.

แƒšแƒฃแƒฅแƒ˜ โ€“ แƒฉแƒแƒ›แƒ™แƒ”แƒขแƒ˜/แƒฉแƒแƒ›แƒ™แƒ”แƒขแƒ˜/แƒกแƒแƒ™แƒ”แƒขแƒ˜.
แƒแƒ›แƒแƒ›แƒแƒ•แƒแƒšแƒ˜ แƒ–แƒฆแƒ•แƒแƒ แƒ˜ - แƒžแƒฃแƒšแƒกแƒ˜แƒก แƒฌแƒ˜แƒœแƒ แƒ™แƒ˜แƒ“แƒ”
MSB แƒฏแƒ”แƒ  โ€“ แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒแƒœแƒ˜ (แƒ›แƒแƒ แƒชแƒฎแƒœแƒ˜แƒ•) แƒ‘แƒ˜แƒขแƒ˜ แƒฌแƒ˜แƒœ.
แƒกแƒแƒแƒ—แƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก - แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ—แƒแƒœแƒ›แƒ˜แƒ›แƒ“แƒ”แƒ•แƒ แƒฃแƒšแƒแƒ“ แƒ’แƒแƒ“แƒแƒชแƒ”แƒ›แƒ (แƒ‘แƒ˜แƒขแƒ˜-แƒ‘แƒ˜แƒขแƒ˜).

แƒกแƒ˜แƒขแƒงแƒ•แƒ latch แƒฎแƒจแƒ˜แƒ แƒแƒ“ แƒ’แƒ•แƒฎแƒ•แƒ“แƒ”แƒ‘แƒ แƒฉแƒ˜แƒžแƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒ™แƒฃแƒ›แƒ”แƒœแƒขแƒแƒชแƒ˜แƒแƒจแƒ˜ แƒ“แƒ แƒ˜แƒ—แƒแƒ แƒ’แƒ›แƒœแƒ”แƒ‘แƒ แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒ’แƒ–แƒ˜แƒ—, แƒแƒ›แƒ˜แƒขแƒแƒ› แƒ’แƒแƒ’แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒ–แƒœแƒ˜แƒ— แƒ—แƒแƒ•แƒก แƒฃแƒคแƒšแƒ”แƒ‘แƒแƒก แƒ›แƒ˜แƒ•แƒชแƒ”แƒ›

แƒ›แƒชแƒ˜แƒ แƒ” แƒกแƒแƒ’แƒแƒœแƒ›แƒแƒœแƒแƒ—แƒšแƒ”แƒ‘แƒšแƒ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒLED แƒ“แƒ แƒแƒ˜แƒ•แƒ”แƒ แƒ˜ แƒแƒ แƒกแƒ”แƒ‘แƒ˜แƒ—แƒแƒ“ แƒแƒ แƒ˜แƒก แƒชแƒ•แƒšแƒ˜แƒก แƒ แƒ”แƒ’แƒ˜แƒกแƒขแƒ แƒ˜. "แƒชแƒ•แƒšแƒ" (แƒ’แƒแƒ“แƒแƒ˜แƒขแƒแƒœแƒแƒก) แƒกแƒแƒฎแƒ”แƒšแƒจแƒ˜ - แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒ˜แƒขแƒ˜แƒฃแƒ แƒ˜ แƒ’แƒแƒ“แƒแƒแƒ“แƒ’แƒ˜แƒšแƒ”แƒ‘แƒ แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒ˜แƒก แƒจแƒ˜แƒ’แƒœแƒ˜แƒ—: แƒงแƒแƒ•แƒ”แƒšแƒ˜ แƒแƒฎแƒแƒšแƒ˜ แƒ‘แƒ˜แƒขแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒจแƒ˜แƒ’แƒœแƒ˜แƒ— แƒแƒ แƒ˜แƒก แƒฉแƒแƒกแƒ›แƒฃแƒšแƒ˜, แƒ›แƒ—แƒ”แƒš แƒฏแƒแƒญแƒ•แƒก แƒฌแƒ˜แƒœ แƒฃแƒ‘แƒ˜แƒซแƒ’แƒ”แƒ‘แƒก แƒ›แƒ˜แƒก แƒฌแƒ˜แƒœ. แƒ˜แƒ›แƒ˜แƒก แƒ’แƒแƒ›แƒ, แƒ แƒแƒ› แƒแƒ แƒแƒ•แƒ˜แƒก แƒกแƒฃแƒ แƒก แƒ“แƒแƒแƒ™แƒ•แƒ˜แƒ แƒ“แƒ”แƒก LED-แƒ”แƒ‘แƒ˜แƒก แƒฅแƒแƒแƒขแƒฃแƒ  แƒ›แƒแƒชแƒ˜แƒ›แƒชแƒ˜แƒ›แƒ”แƒก แƒชแƒ•แƒšแƒ˜แƒก แƒ“แƒ แƒแƒก, แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜ แƒ›แƒ˜แƒ›แƒ“แƒ˜แƒœแƒแƒ แƒ”แƒแƒ‘แƒก แƒ‘แƒฃแƒคแƒ”แƒ แƒฃแƒš แƒ แƒ”แƒ’แƒ˜แƒกแƒขแƒ แƒ”แƒ‘แƒจแƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒ’แƒแƒ›แƒแƒงแƒแƒคแƒ˜แƒšแƒ˜แƒ แƒกแƒแƒ›แƒฃแƒจแƒแƒ แƒ แƒ”แƒ’แƒ˜แƒกแƒขแƒ แƒ”แƒ‘แƒ˜แƒ“แƒแƒœ แƒ“แƒ”แƒ›แƒžแƒ”แƒ แƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ˜แƒ— (latch) แƒแƒ แƒ˜แƒก แƒ”แƒ แƒ—แƒ’แƒ•แƒแƒ แƒ˜ แƒ›แƒแƒกแƒแƒชแƒ“แƒ”แƒšแƒ˜ แƒแƒ—แƒแƒฎแƒ˜, แƒกแƒแƒ“แƒแƒช แƒ‘แƒ˜แƒขแƒ”แƒ‘แƒ˜ แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒกแƒแƒกแƒฃแƒ แƒ•แƒ”แƒšแƒ˜ แƒ—แƒแƒœแƒ›แƒ˜แƒ›แƒ“แƒ”แƒ•แƒ แƒแƒ‘แƒ˜แƒ—. แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒ›แƒ–แƒแƒ“ แƒแƒ แƒ˜แƒก, แƒฉแƒแƒ›แƒ™แƒ”แƒขแƒ˜ แƒ˜แƒฎแƒกแƒœแƒ”แƒ‘แƒ แƒ“แƒ แƒ‘แƒ˜แƒขแƒ”แƒ‘แƒ˜ แƒ’แƒแƒ“แƒแƒ“แƒ˜แƒก แƒกแƒแƒ›แƒฃแƒจแƒแƒแƒ–แƒ”, แƒชแƒ•แƒšแƒ˜แƒก แƒฌแƒ˜แƒœแƒ แƒžแƒแƒ แƒขแƒ˜แƒแƒก. แƒกแƒ˜แƒขแƒงแƒ•แƒ latch แƒ›แƒ˜แƒ™แƒ แƒแƒกแƒฅแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒ™แƒฃแƒ›แƒ”แƒœแƒขแƒแƒชแƒ˜แƒแƒจแƒ˜ แƒ—แƒ˜แƒ—แƒฅแƒ›แƒ˜แƒก แƒงแƒแƒ•แƒ”แƒšแƒ—แƒ•แƒ˜แƒก แƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒแƒ‘แƒก แƒแƒกแƒ”แƒ— แƒ“แƒ”แƒ›แƒžแƒ”แƒ แƒก, แƒแƒ  แƒแƒฅแƒ•แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ แƒ แƒ แƒ™แƒแƒ›แƒ‘แƒ˜แƒœแƒแƒชแƒ˜แƒ”แƒ‘แƒจแƒ˜แƒ แƒ˜แƒ’แƒ˜ แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜.

แƒแƒกแƒ” แƒ แƒแƒ›, แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ’แƒแƒ“แƒแƒชแƒ”แƒ›แƒ DM634-แƒ–แƒ” แƒฎแƒ“แƒ”แƒ‘แƒ แƒแƒกแƒ”: แƒ“แƒแƒแƒงแƒ”แƒœแƒ”แƒ— DAI แƒจแƒ”แƒงแƒ•แƒแƒœแƒ แƒจแƒแƒ แƒ”แƒฃแƒšแƒ˜ LED-แƒ˜แƒก แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒแƒœแƒ˜ แƒ‘แƒ˜แƒขแƒ˜แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒแƒ–แƒ”, แƒแƒฌแƒ˜แƒ”แƒ— DCK แƒ–แƒ”แƒ•แƒ˜แƒ— แƒ“แƒ แƒฅแƒ•แƒ”แƒ•แƒ˜แƒ—; แƒ“แƒแƒแƒงแƒ”แƒœแƒ”แƒ— DAI แƒจแƒ”แƒงแƒ•แƒแƒœแƒ แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒ‘แƒ˜แƒขแƒ˜แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒแƒ–แƒ”, แƒ’แƒแƒ˜แƒงแƒ•แƒแƒœแƒ”แƒ— DCK; แƒ“แƒ แƒแƒกแƒ” แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒกแƒแƒœแƒแƒ› แƒงแƒ•แƒ”แƒšแƒ แƒ‘แƒ˜แƒขแƒ˜ แƒแƒ  แƒ’แƒแƒ“แƒแƒ˜แƒชแƒ”แƒ›แƒ (แƒฉแƒแƒ™แƒ”แƒขแƒ˜แƒšแƒ˜), แƒ แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒแƒช แƒ•แƒฌแƒ”แƒ•แƒ— LAT-แƒก. แƒ”แƒก แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒ™แƒ”แƒ—แƒ“แƒ”แƒก แƒฎแƒ”แƒšแƒ˜แƒ— (แƒ‘แƒ˜แƒข-แƒ‘แƒแƒœแƒ’แƒ˜), แƒ›แƒแƒ’แƒ แƒแƒ› แƒฃแƒ›แƒฏแƒแƒ‘แƒ”แƒกแƒ˜แƒ แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒงแƒ”แƒœแƒแƒ— แƒแƒ›แƒ˜แƒกแƒแƒ—แƒ•แƒ˜แƒก แƒกแƒžแƒ”แƒชแƒ˜แƒแƒšแƒฃแƒ แƒแƒ“ แƒ›แƒแƒ แƒ’แƒ”แƒ‘แƒฃแƒšแƒ˜ SPI แƒ˜แƒœแƒขแƒ”แƒ แƒคแƒ”แƒ˜แƒกแƒ˜, แƒ แƒแƒ“แƒ’แƒแƒœ แƒ˜แƒก แƒฌแƒแƒ แƒ›แƒแƒ“แƒ’แƒ”แƒœแƒ˜แƒšแƒ˜แƒ แƒฉแƒ•แƒ”แƒœแƒก STM32-แƒ–แƒ” แƒแƒ  แƒ”แƒ’แƒ–แƒ”แƒ›แƒžแƒšแƒแƒ แƒแƒ“.

แƒšแƒฃแƒ แƒฏแƒ˜ แƒแƒ‘แƒ˜ STM32F103

แƒจแƒ”แƒกแƒแƒ•แƒแƒšแƒ˜: STM32 แƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ”แƒ แƒ”แƒ‘แƒ˜ แƒ‘แƒ”แƒ•แƒ แƒแƒ“ แƒฃแƒคแƒ แƒ แƒ แƒ—แƒฃแƒšแƒ˜แƒ, แƒ•แƒ˜แƒ“แƒ แƒ” Atmega328, แƒ•แƒ˜แƒ“แƒ แƒ” แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒกแƒแƒจแƒ˜แƒœแƒšแƒแƒ“ แƒ’แƒแƒ›แƒแƒ˜แƒงแƒฃแƒ แƒ”แƒ‘แƒแƒ“แƒ”แƒก. แƒฃแƒคแƒ แƒ แƒ›แƒ”แƒขแƒ˜แƒช, แƒ”แƒœแƒ”แƒ แƒ’แƒ˜แƒ˜แƒก แƒ“แƒแƒ–แƒแƒ’แƒ•แƒ˜แƒก แƒ›แƒ˜แƒ–แƒœแƒ˜แƒ—, แƒ—แƒ˜แƒ—แƒฅแƒ›แƒ˜แƒก แƒงแƒ•แƒ”แƒšแƒ แƒžแƒ”แƒ แƒ˜แƒคแƒ”แƒ แƒ˜แƒฃแƒšแƒ˜ แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒ แƒ’แƒแƒ›แƒแƒ แƒ—แƒฃแƒšแƒ˜แƒ แƒ“แƒแƒฌแƒงแƒ”แƒ‘แƒ˜แƒกแƒแƒก, แƒฎแƒแƒšแƒ แƒกแƒแƒแƒ—แƒ˜แƒก แƒกแƒ˜แƒฎแƒจแƒ˜แƒ แƒ” แƒแƒ แƒ˜แƒก 8 MHz แƒจแƒ˜แƒ“แƒ แƒฌแƒงแƒแƒ แƒแƒ“แƒแƒœ. แƒกแƒแƒ‘แƒ”แƒ“แƒœแƒ˜แƒ”แƒ แƒแƒ“, STM แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒกแƒขแƒ”แƒ‘แƒ›แƒ แƒ“แƒแƒฌแƒ”แƒ แƒ”แƒก แƒ™แƒแƒ“แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒฌแƒ•แƒ“แƒ˜แƒก แƒฉแƒ˜แƒžแƒก "แƒ’แƒแƒ›แƒแƒ—แƒ•แƒšแƒ˜แƒš" 72 MHz-แƒ›แƒ“แƒ” แƒ“แƒ แƒงแƒ•แƒ”แƒšแƒ IDE-แƒ˜แƒก แƒแƒ•แƒขแƒแƒ แƒ”แƒ‘แƒ›แƒ, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒ›แƒ” แƒ•แƒ˜แƒชแƒ˜, แƒจแƒ”แƒ˜แƒขแƒแƒœแƒ”แƒก แƒ˜แƒก แƒ˜แƒœแƒ˜แƒชแƒ˜แƒแƒšแƒ˜แƒ–แƒแƒชแƒ˜แƒ˜แƒก แƒžแƒ แƒแƒชแƒ”แƒ“แƒฃแƒ แƒแƒจแƒ˜, แƒแƒกแƒ” แƒ แƒแƒ›, แƒฉแƒ•แƒ”แƒœ แƒแƒ  แƒ’แƒ•แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ แƒ“แƒแƒ™แƒ•แƒ แƒ (แƒ›แƒแƒ’แƒ แƒแƒ› แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒ แƒ—แƒฃ แƒ›แƒแƒ แƒ—แƒšแƒ แƒ’แƒ˜แƒœแƒ“แƒ). แƒ›แƒแƒ’แƒ แƒแƒ› แƒ›แƒแƒ’แƒ˜แƒฌแƒ”แƒ•แƒ— แƒžแƒ”แƒ แƒ˜แƒคแƒ”แƒ แƒ˜แƒฃแƒšแƒ˜ แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒ”แƒ‘แƒ˜แƒก แƒฉแƒแƒ แƒ—แƒ•แƒ.

แƒ“แƒแƒ™แƒฃแƒ›แƒ”แƒœแƒขแƒแƒชแƒ˜แƒ: Blue Pill แƒแƒฆแƒญแƒฃแƒ แƒ•แƒ˜แƒšแƒ˜แƒ แƒžแƒแƒžแƒฃแƒšแƒแƒ แƒฃแƒšแƒ˜ STM32F103C8T6 แƒฉแƒ˜แƒžแƒ˜แƒ—, แƒแƒ›แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒแƒ แƒ˜ แƒกแƒแƒกแƒแƒ แƒ’แƒ”แƒ‘แƒšแƒ แƒ“แƒแƒ™แƒฃแƒ›แƒ”แƒœแƒขแƒ˜แƒ:

แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒชแƒฎแƒ แƒ˜แƒšแƒจแƒ˜ แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ“แƒแƒ•แƒ˜แƒœแƒขแƒ”แƒ แƒ”แƒกแƒ“แƒ”แƒ—:

  • แƒžแƒ˜แƒœแƒแƒฃแƒขแƒ”แƒ‘แƒ˜ โ€“ แƒฉแƒ˜แƒžแƒฃแƒ แƒ˜ แƒžแƒ˜แƒœแƒแƒขแƒ”แƒ‘แƒ˜ โ€“ แƒ˜แƒ› แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒ—แƒฃ แƒ’แƒแƒ“แƒแƒ•แƒฌแƒงแƒ•แƒ”แƒขแƒ— แƒ“แƒแƒคแƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒ›แƒ–แƒแƒ“แƒ”แƒ‘แƒแƒก แƒ—แƒแƒ•แƒแƒ“;
  • แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ แƒฃแƒ™แƒ - แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ แƒฃแƒ™แƒ แƒ™แƒแƒœแƒ™แƒ แƒ”แƒขแƒฃแƒšแƒ˜ แƒฉแƒ˜แƒžแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒกแƒแƒชแƒœแƒแƒ‘แƒแƒ แƒ แƒกแƒแƒฎแƒ”แƒšแƒ›แƒซแƒฆแƒ•แƒแƒœแƒ”แƒšแƒแƒก แƒแƒฅแƒ•แƒก แƒ›แƒ—แƒ”แƒšแƒ˜ แƒฎแƒแƒ–แƒ˜แƒก แƒ แƒฃแƒ™แƒ แƒ“แƒ แƒ›แƒแƒกแƒจแƒ˜ แƒ›แƒ˜แƒ—แƒ˜แƒ—แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ แƒ”แƒ’แƒ˜แƒกแƒขแƒ แƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒฉแƒ•แƒ”แƒœแƒก แƒแƒ  แƒ’แƒแƒแƒฉแƒœแƒ˜แƒ.
  • Pin Definitions แƒชแƒฎแƒ แƒ˜แƒšแƒ˜ โ€“ แƒฅแƒ˜แƒœแƒซแƒ˜แƒกแƒ—แƒแƒ•แƒ”แƒ‘แƒ˜แƒก แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒ˜ แƒ“แƒ แƒแƒšแƒขแƒ”แƒ แƒœแƒแƒขแƒ˜แƒฃแƒšแƒ˜ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒฉแƒแƒ›แƒแƒœแƒแƒ—แƒ•แƒแƒšแƒ˜; "แƒšแƒฃแƒ แƒฏแƒ˜ แƒแƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก" แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ˜แƒžแƒแƒ•แƒแƒ— แƒฃแƒคแƒ แƒ แƒ›แƒแƒกแƒแƒฎแƒ”แƒ แƒฎแƒ”แƒ‘แƒ”แƒšแƒ˜ แƒกแƒฃแƒ แƒแƒ—แƒ”แƒ‘แƒ˜ แƒ˜แƒœแƒขแƒ”แƒ แƒœแƒ”แƒขแƒจแƒ˜, แƒฅแƒ˜แƒœแƒซแƒ˜แƒกแƒ—แƒแƒ•แƒ”แƒ‘แƒ˜แƒก แƒฉแƒแƒ›แƒแƒœแƒแƒ—แƒ•แƒแƒšแƒ˜แƒ— แƒ“แƒ แƒ›แƒแƒ—แƒ˜ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒ—. แƒแƒ›แƒ˜แƒขแƒแƒ›, แƒฉแƒ•แƒ”แƒœ แƒ“แƒแƒฃแƒงแƒแƒ•แƒœแƒ”แƒ‘แƒšแƒ˜แƒ• แƒ•แƒ”แƒซแƒ”แƒ‘แƒ— แƒ’แƒฃแƒ’แƒšแƒจแƒ˜ Blue Pill pinout-แƒก แƒ“แƒ แƒฎแƒ”แƒšแƒ— แƒ’แƒ•แƒแƒฅแƒ•แƒก แƒ”แƒก แƒกแƒฃแƒ แƒแƒ—แƒ˜:

แƒฌแƒแƒ˜แƒ™แƒ˜แƒ—แƒฎแƒ”แƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜ 2: SPI STM32-แƒ–แƒ”; PWM, แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒ”แƒ‘แƒ˜ STM8-แƒ–แƒ”
แƒจแƒ”แƒœแƒ˜แƒจแƒ•แƒœแƒ: แƒกแƒฃแƒ แƒแƒ—แƒ–แƒ” แƒ˜แƒงแƒ แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ แƒ˜แƒœแƒขแƒ”แƒ แƒœแƒ”แƒขแƒ˜แƒ“แƒแƒœ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒฆแƒ˜แƒœแƒ˜แƒจแƒœแƒ แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ”แƒ‘แƒจแƒ˜, แƒ›แƒแƒ“แƒšแƒแƒ‘แƒ แƒแƒ›แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒกแƒฃแƒ แƒแƒ—แƒ˜ แƒจแƒ”แƒ˜แƒชแƒ•แƒแƒšแƒ, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ”แƒก แƒแƒ แƒ˜แƒก แƒ’แƒแƒ™แƒ•แƒ”แƒ—แƒ˜แƒšแƒ˜ - แƒฃแƒ›แƒฏแƒแƒ‘แƒ”แƒกแƒ˜แƒ แƒจแƒ”แƒแƒ›แƒแƒฌแƒ›แƒแƒ— แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ แƒแƒ แƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜แƒ“แƒแƒœ.

แƒฉแƒ•แƒ”แƒœ แƒ•แƒฎแƒกแƒœแƒ˜แƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒชแƒฎแƒ แƒ˜แƒšแƒก, แƒ•แƒฎแƒกแƒœแƒ˜แƒ— แƒกแƒแƒชแƒœแƒแƒ‘แƒแƒ แƒ แƒกแƒแƒฎแƒ”แƒšแƒ›แƒซแƒฆแƒ•แƒแƒœแƒ”แƒšแƒแƒก แƒ“แƒ แƒแƒ›แƒ˜แƒ”แƒ แƒ˜แƒ“แƒแƒœ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ›แƒแƒก แƒ•แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ—.
แƒžแƒ แƒแƒชแƒ”แƒ“แƒฃแƒ แƒ: แƒกแƒแƒฅแƒ›แƒ” แƒ’แƒ•แƒแƒฅแƒ•แƒก แƒกแƒขแƒแƒœแƒ“แƒแƒ แƒขแƒฃแƒš แƒจแƒ”แƒงแƒ•แƒแƒœแƒ/แƒ’แƒแƒ›แƒแƒ›แƒแƒ•แƒแƒšแƒ—แƒแƒœ, แƒ•แƒแƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒ˜แƒ แƒ”แƒ‘แƒ— SPI, แƒฉแƒแƒ แƒ—แƒ”แƒ— แƒกแƒแƒญแƒ˜แƒ แƒ แƒžแƒ”แƒ แƒ˜แƒคแƒ”แƒ แƒ˜แƒฃแƒšแƒ˜ แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒ”แƒ‘แƒ˜.

แƒจแƒ”แƒงแƒ•แƒแƒœแƒ˜แƒก แƒ’แƒแƒ›แƒแƒ›แƒแƒ•แƒแƒšแƒ˜

Atmega328-แƒ–แƒ” I/O แƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ“แƒ”แƒ‘แƒ แƒซแƒแƒšแƒ˜แƒแƒœ แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒแƒ“, แƒ แƒ˜แƒก แƒ’แƒแƒ›แƒแƒช STM32 แƒ•แƒแƒ แƒ˜แƒแƒœแƒขแƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒ›แƒ แƒแƒ•แƒšแƒ” แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ“แƒแƒ›แƒแƒ‘แƒœแƒ”แƒ•แƒ”แƒšแƒ˜ แƒ˜แƒงแƒแƒก. แƒแƒฎแƒšแƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ“แƒแƒกแƒ™แƒ•แƒœแƒ”แƒ‘แƒ˜ แƒ’แƒ•แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ›แƒแƒ—แƒแƒช แƒ™แƒ˜ แƒแƒฅแƒ•แƒ— แƒแƒ—แƒฎแƒ˜ แƒ•แƒแƒ แƒ˜แƒแƒœแƒขแƒ˜:

แƒฌแƒแƒ˜แƒ™แƒ˜แƒ—แƒฎแƒ”แƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜ 2: SPI STM32-แƒ–แƒ”; PWM, แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒ”แƒ‘แƒ˜ STM8-แƒ–แƒ”
แƒฆแƒ˜แƒ แƒ“แƒ แƒ”แƒœแƒแƒŸแƒ˜, แƒ‘แƒ˜แƒซแƒ’แƒ˜-แƒ’แƒแƒงแƒ•แƒแƒœแƒ˜แƒšแƒแƒ‘แƒ, แƒแƒšแƒขแƒ”แƒ แƒœแƒแƒขแƒ˜แƒฃแƒšแƒ˜ แƒ‘แƒ˜แƒซแƒ’แƒ˜-แƒ’แƒแƒฌแƒ”แƒ•แƒ, แƒแƒšแƒขแƒ”แƒ แƒœแƒแƒขแƒ˜แƒฃแƒšแƒ˜ แƒฆแƒ˜แƒ แƒ’แƒแƒ“แƒ˜แƒœแƒ”แƒ‘แƒ

"แฒ›แƒแƒฅแƒแƒฉแƒ•แƒ แƒ›แƒ˜แƒฌแƒแƒšแƒ" (แƒ‘แƒ˜แƒซแƒ’แƒ˜) แƒแƒ แƒ˜แƒก แƒฉแƒ•แƒ”แƒฃแƒšแƒ”แƒ‘แƒ แƒ˜แƒ•แƒ˜ แƒ’แƒแƒ›แƒแƒ›แƒแƒ•แƒแƒšแƒ˜ Arduino-แƒ“แƒแƒœ, แƒžแƒ˜แƒœแƒก แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ แƒ›แƒ˜แƒ˜แƒฆแƒแƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ HIGH แƒแƒœ LOW. แƒ›แƒแƒ’แƒ แƒแƒ› "แƒฆแƒ˜แƒ แƒ’แƒแƒ“แƒ˜แƒœแƒ”แƒ‘แƒ˜แƒ—" แƒแƒ แƒ˜แƒก แƒกแƒ˜แƒ แƒ—แƒฃแƒšแƒ”แƒ”แƒ‘แƒ˜, แƒ—แƒฃแƒ›แƒชแƒ แƒกแƒ˜แƒœแƒแƒ›แƒ“แƒ•แƒ˜แƒšแƒ”แƒจแƒ˜ แƒแƒฅ แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜แƒ:

แƒฌแƒแƒ˜แƒ™แƒ˜แƒ—แƒฎแƒ”แƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜ 2: SPI STM32-แƒ–แƒ”; PWM, แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒ”แƒ‘แƒ˜ STM8-แƒ–แƒ”
แƒฌแƒแƒ˜แƒ™แƒ˜แƒ—แƒฎแƒ”แƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜ 2: SPI STM32-แƒ–แƒ”; PWM, แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒ”แƒ‘แƒ˜ STM8-แƒ–แƒ”
แƒ’แƒแƒ›แƒแƒ›แƒแƒ•แƒแƒšแƒ˜ แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ / แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒžแƒแƒ แƒขแƒ˜ แƒ›แƒ˜แƒœแƒ˜แƒญแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ’แƒแƒ›แƒแƒ›แƒแƒ•แƒแƒšแƒ–แƒ”: / แƒ’แƒแƒ›แƒแƒ›แƒแƒ•แƒแƒšแƒ˜ แƒ‘แƒฃแƒคแƒ”แƒ แƒ˜ แƒฉแƒแƒ แƒ—แƒฃแƒšแƒ˜แƒ: / โ€“ แƒ’แƒแƒ“แƒ˜แƒœแƒ”แƒ‘แƒ˜แƒก แƒ แƒ”แƒŸแƒ˜แƒ›แƒ˜แƒก แƒ’แƒแƒฎแƒกแƒœแƒ: แƒ’แƒแƒ›แƒแƒ›แƒแƒ•แƒแƒšแƒ˜ แƒ แƒ”แƒ”แƒกแƒขแƒ แƒจแƒ˜ โ€ž0โ€œ แƒฉแƒแƒ แƒ—แƒแƒ•แƒก N-MOS-แƒก, แƒ’แƒแƒ›แƒแƒ›แƒแƒ•แƒแƒšแƒ˜ แƒ แƒ”แƒ”แƒกแƒขแƒ แƒจแƒ˜ โ€ž1โ€œ แƒขแƒแƒ•แƒ”แƒ‘แƒก แƒžแƒแƒ แƒขแƒก Hi-Z แƒ แƒ”แƒŸแƒ˜แƒ›แƒจแƒ˜ ( P-MOS แƒแƒ  แƒแƒ แƒ˜แƒก แƒ’แƒแƒแƒฅแƒขแƒ˜แƒฃแƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ ) / โ€“ Push-pull แƒ แƒ”แƒŸแƒ˜แƒ›แƒ˜: แƒ’แƒแƒ›แƒแƒ›แƒแƒ•แƒแƒš แƒ แƒ”แƒ”แƒกแƒขแƒ แƒจแƒ˜ โ€ž0โ€œ แƒแƒแƒฅแƒขแƒ˜แƒฃแƒ แƒ”แƒ‘แƒก N-MOS-แƒก, โ€ž1โ€œ แƒ’แƒแƒ›แƒแƒ›แƒแƒ•แƒแƒš แƒ แƒ”แƒ”แƒกแƒขแƒ แƒจแƒ˜ แƒแƒแƒฅแƒขแƒ˜แƒฃแƒ แƒ”แƒ‘แƒก P-MOS-แƒก.

แƒงแƒ•แƒ”แƒšแƒ แƒ’แƒแƒœแƒกแƒฎแƒ•แƒแƒ•แƒ”แƒ‘แƒ แƒฆแƒ˜แƒ แƒ™แƒแƒœแƒแƒšแƒ˜แƒ–แƒแƒชแƒ˜แƒแƒก แƒจแƒแƒ แƒ˜แƒก (แƒฆแƒ˜แƒ แƒกแƒแƒœแƒ˜แƒแƒฆแƒ•แƒ แƒ”) โ€žแƒ“แƒแƒซแƒ•แƒ แƒ-แƒ’แƒแƒงแƒ•แƒแƒœแƒ˜แƒ“แƒแƒœโ€œ (แƒ‘แƒ˜แƒซแƒ’แƒ˜) แƒแƒ แƒ˜แƒก แƒ˜แƒก, แƒ แƒแƒ› แƒžแƒ˜แƒ แƒ•แƒ”แƒš แƒžแƒ˜แƒœแƒจแƒ˜ แƒแƒ  แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ แƒ›แƒ˜แƒ˜แƒฆแƒแƒก HIGH แƒ›แƒ“แƒ’แƒแƒ›แƒแƒ แƒ”แƒแƒ‘แƒ: แƒ’แƒแƒ›แƒแƒ›แƒแƒ•แƒแƒš แƒ แƒ”แƒ”แƒกแƒขแƒ แƒจแƒ˜ แƒ”แƒ แƒ—แƒ˜แƒก แƒฉแƒแƒฌแƒ”แƒ แƒ˜แƒกแƒแƒก แƒ˜แƒก แƒ’แƒแƒ“แƒแƒ“แƒ˜แƒก แƒ›แƒแƒฆแƒแƒšแƒ˜ แƒฌแƒ˜แƒœแƒแƒแƒฆแƒ›แƒ“แƒ”แƒ’แƒแƒ‘แƒ˜แƒก แƒ แƒ”แƒŸแƒ˜แƒ›แƒจแƒ˜ (แƒ›แƒแƒฆแƒแƒšแƒ˜ แƒฌแƒ˜แƒœแƒแƒฆแƒแƒ‘แƒ, Hi-Z). แƒœแƒฃแƒšแƒ˜แƒก แƒ“แƒแƒฌแƒ”แƒ แƒ˜แƒกแƒแƒก แƒžแƒ˜แƒœแƒ˜ แƒ”แƒ แƒ—แƒœแƒแƒ˜แƒ แƒแƒ“ แƒ˜แƒฅแƒชแƒ”แƒ•แƒ แƒแƒ แƒ˜แƒ•แƒ” แƒ แƒ”แƒŸแƒ˜แƒ›แƒจแƒ˜, แƒ แƒแƒ’แƒแƒ แƒช แƒšแƒแƒ’แƒ˜แƒ™แƒฃแƒ แƒแƒ“, แƒแƒกแƒ”แƒ•แƒ” แƒ”แƒšแƒ”แƒฅแƒขแƒ แƒแƒœแƒฃแƒšแƒแƒ“.

แƒœแƒแƒ แƒ›แƒแƒšแƒฃแƒ  แƒ’แƒแƒ›แƒแƒ›แƒแƒ•แƒแƒš แƒ แƒ”แƒŸแƒ˜แƒ›แƒจแƒ˜, แƒžแƒ˜แƒœแƒ˜ แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ แƒแƒ•แƒ แƒชแƒ”แƒšแƒ”แƒ‘แƒก แƒ’แƒแƒ›แƒแƒ›แƒแƒ•แƒแƒšแƒ˜ แƒ แƒ”แƒ’แƒ˜แƒกแƒขแƒ แƒ˜แƒก แƒจแƒ˜แƒœแƒแƒแƒ แƒกแƒก. "แƒแƒšแƒขแƒ”แƒ แƒœแƒแƒขแƒ˜แƒ•แƒแƒจแƒ˜" แƒ˜แƒก แƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ“แƒ”แƒ‘แƒ แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒกแƒ˜ แƒžแƒ”แƒ แƒ˜แƒคแƒ”แƒ แƒ˜แƒฃแƒšแƒ˜ แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒ”แƒ‘แƒ˜แƒ— (แƒ˜แƒฎ. 9.1.4):

แƒฌแƒแƒ˜แƒ™แƒ˜แƒ—แƒฎแƒ”แƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜ 2: SPI STM32-แƒ–แƒ”; PWM, แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒ”แƒ‘แƒ˜ STM8-แƒ–แƒ”
แƒ—แƒฃ แƒžแƒแƒ แƒขแƒ˜แƒก แƒ‘แƒ˜แƒขแƒ˜ แƒแƒ แƒ˜แƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜, แƒ แƒแƒ’แƒแƒ แƒช แƒแƒšแƒขแƒ”แƒ แƒœแƒแƒขแƒ˜แƒฃแƒšแƒ˜ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ˜แƒก แƒžแƒ˜แƒœแƒ˜, แƒžแƒ˜แƒœแƒ˜แƒก แƒ แƒ”แƒ’แƒ˜แƒกแƒขแƒ แƒ˜ แƒ’แƒแƒ›แƒแƒ แƒ—แƒฃแƒšแƒ˜แƒ แƒ“แƒ แƒžแƒ˜แƒœแƒ˜ แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒžแƒ”แƒ แƒ˜แƒคแƒ”แƒ แƒ˜แƒฃแƒš แƒžแƒ˜แƒœแƒ—แƒแƒœ.

แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒžแƒ˜แƒœแƒ˜แƒก แƒแƒšแƒขแƒ”แƒ แƒœแƒแƒขแƒ˜แƒฃแƒšแƒ˜ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒแƒœแƒ˜แƒ แƒ”แƒ‘แƒ แƒแƒฆแƒฌแƒ”แƒ แƒ˜แƒšแƒ˜แƒ แƒžแƒ˜แƒœ แƒ’แƒแƒœแƒ›แƒแƒ แƒขแƒ”แƒ‘แƒ”แƒ‘แƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒคแƒฃแƒ แƒชแƒ”แƒšแƒ˜ แƒแƒ แƒ˜แƒก แƒ’แƒแƒ“แƒ›แƒแƒฌแƒ”แƒ แƒ˜แƒš แƒกแƒฃแƒ แƒแƒ—แƒ–แƒ”. แƒ™แƒ˜แƒ—แƒฎแƒ•แƒแƒ–แƒ”, แƒ—แƒฃ แƒ แƒ แƒฃแƒœแƒ“แƒ แƒ’แƒแƒแƒ™แƒ”แƒ—แƒแƒก, แƒ—แƒฃ แƒžแƒ˜แƒœแƒก แƒแƒฅแƒ•แƒก แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒแƒšแƒขแƒ”แƒ แƒœแƒแƒขแƒ˜แƒฃแƒšแƒ˜ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ, แƒžแƒแƒกแƒฃแƒฎแƒ˜ แƒ›แƒแƒชแƒ”แƒ›แƒฃแƒšแƒ˜แƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒคแƒฃแƒ แƒชแƒšแƒ˜แƒก แƒกแƒฅแƒแƒšแƒ˜แƒแƒจแƒ˜:

แƒฌแƒแƒ˜แƒ™แƒ˜แƒ—แƒฎแƒ”แƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜ 2: SPI STM32-แƒ–แƒ”; PWM, แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒ”แƒ‘แƒ˜ STM8-แƒ–แƒ”
แƒ—แƒฃ แƒ›แƒ แƒแƒ•แƒแƒšแƒ˜ แƒžแƒ”แƒ แƒ˜แƒคแƒ”แƒ แƒ˜แƒฃแƒšแƒ˜ แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒ แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒก แƒ”แƒ แƒ—แƒกแƒ แƒ“แƒ แƒ˜แƒ›แƒแƒ•แƒ” แƒžแƒ˜แƒœแƒก, แƒแƒšแƒขแƒ”แƒ แƒœแƒแƒขแƒ˜แƒฃแƒš แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒก แƒจแƒแƒ แƒ˜แƒก แƒ™แƒแƒœแƒคแƒšแƒ˜แƒฅแƒขแƒ˜แƒก แƒ—แƒแƒ•แƒ˜แƒ“แƒแƒœ แƒแƒชแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒ–แƒœแƒ˜แƒ—, แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ”แƒ แƒ—แƒ˜ แƒžแƒ”แƒ แƒ˜แƒคแƒ”แƒ แƒ˜แƒฃแƒšแƒ˜ แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ”แƒ แƒ—แƒ“แƒ แƒแƒฃแƒšแƒแƒ“, แƒ’แƒแƒ“แƒแƒ แƒ—แƒ•แƒ แƒžแƒ”แƒ แƒ˜แƒคแƒ”แƒ แƒ˜แƒฃแƒšแƒ˜ แƒกแƒแƒแƒ—แƒ˜แƒก แƒฉแƒแƒ แƒ—แƒ•แƒ˜แƒก แƒ‘แƒ˜แƒขแƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ— (แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒก RCC แƒ แƒ”แƒ”แƒกแƒขแƒ แƒจแƒ˜).

แƒ“แƒแƒ‘แƒแƒšแƒแƒก, แƒ’แƒแƒ›แƒแƒ›แƒแƒ•แƒแƒšแƒ˜ แƒ แƒ”แƒŸแƒ˜แƒ›แƒจแƒ˜ แƒฅแƒ˜แƒœแƒซแƒ˜แƒกแƒ—แƒแƒ•แƒ”แƒ‘แƒก แƒแƒกแƒ”แƒ•แƒ” แƒแƒฅแƒ•แƒ— แƒกแƒแƒแƒ—แƒ˜แƒก แƒกแƒ˜แƒฉแƒฅแƒแƒ แƒ”. แƒ”แƒก แƒแƒ แƒ˜แƒก แƒ”แƒœแƒ”แƒ แƒ’แƒ˜แƒ˜แƒก แƒ“แƒแƒ–แƒแƒ’แƒ•แƒ˜แƒก แƒ™แƒ˜แƒ“แƒ”แƒ• แƒ”แƒ แƒ—แƒ˜ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ; แƒฉแƒ•แƒ”แƒœแƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒฉแƒ•แƒ”แƒœ แƒ›แƒแƒก แƒ›แƒแƒฅแƒกแƒ˜แƒ›แƒฃแƒ›แƒ–แƒ” แƒ•แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ— แƒ“แƒ แƒ•แƒ˜แƒ•แƒ˜แƒฌแƒงแƒ”แƒ‘แƒ—.

แƒแƒกแƒ” แƒ แƒแƒ›: แƒฉแƒ•แƒ”แƒœ แƒ•แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ— SPI-แƒก, แƒ แƒแƒช แƒœแƒ˜แƒจแƒœแƒแƒ•แƒก, แƒ แƒแƒ› แƒแƒ แƒ˜ แƒžแƒ˜แƒœแƒ˜ (แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒ— แƒ“แƒ แƒกแƒแƒแƒ—แƒ˜แƒก แƒกแƒ˜แƒ’แƒœแƒแƒšแƒ˜แƒ—) แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก โ€žแƒแƒšแƒขแƒ”แƒ แƒœแƒแƒขแƒ˜แƒฃแƒšแƒ˜ push-pull แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒโ€œ, แƒฎแƒแƒšแƒ แƒ›แƒ”แƒแƒ แƒ” (LAT) แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก โ€žแƒ แƒ”แƒ’แƒฃแƒšแƒแƒ แƒฃแƒšแƒ˜ push-pullโ€œ. แƒ›แƒแƒ’แƒ แƒแƒ› แƒ›แƒแƒ— แƒ›แƒ˜แƒœแƒ˜แƒญแƒ”แƒ‘แƒแƒ›แƒ“แƒ”, แƒ›แƒแƒ“แƒ˜แƒ— แƒ’แƒแƒฃแƒ›แƒ™แƒšแƒแƒ•แƒ“แƒ”แƒ— SPI-แƒก.

SPI

แƒ™แƒ˜แƒ“แƒ”แƒ• แƒ”แƒ แƒ—แƒ˜ แƒžแƒแƒขแƒแƒ แƒ แƒกแƒแƒ’แƒแƒœแƒ›แƒแƒœแƒแƒ—แƒšแƒ”แƒ‘แƒšแƒ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ

SPI แƒแƒœ แƒกแƒ”แƒ แƒ˜แƒฃแƒšแƒ˜ แƒžแƒ”แƒ แƒ˜แƒคแƒ”แƒ แƒ˜แƒฃแƒšแƒ˜ แƒ˜แƒœแƒขแƒ”แƒ แƒคแƒ”แƒ˜แƒกแƒ˜ (แƒกแƒ”แƒ แƒ˜แƒฃแƒšแƒ˜ แƒžแƒ”แƒ แƒ˜แƒคแƒ”แƒ แƒ˜แƒฃแƒšแƒ˜ แƒ˜แƒœแƒขแƒ”แƒ แƒคแƒ”แƒ˜แƒกแƒ˜) แƒแƒ แƒ˜แƒก แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜ แƒ“แƒ แƒซแƒแƒšแƒ˜แƒแƒœ แƒ”แƒคแƒ”แƒฅแƒขแƒฃแƒ แƒ˜ แƒ˜แƒœแƒขแƒ”แƒ แƒคแƒ”แƒ˜แƒกแƒ˜ MK-แƒ˜แƒก แƒกแƒฎแƒ•แƒ MK-แƒ”แƒ‘แƒ—แƒแƒœ แƒ“แƒ แƒ–แƒแƒ’แƒแƒ“แƒแƒ“ แƒ’แƒแƒ แƒ” แƒกแƒแƒ›แƒงแƒแƒ แƒแƒกแƒ—แƒแƒœ แƒ“แƒแƒกแƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒšแƒแƒ“. แƒ›แƒ˜แƒกแƒ˜ แƒ›แƒแƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒ˜แƒก แƒžแƒ แƒ˜แƒœแƒชแƒ˜แƒžแƒ˜ แƒฃแƒ™แƒ•แƒ” แƒแƒฆแƒฌแƒ”แƒ แƒ˜แƒšแƒ˜แƒ แƒ–แƒ”แƒ›แƒแƒ—, แƒกแƒแƒ“แƒแƒช แƒแƒ แƒ˜แƒก แƒฉแƒ˜แƒœแƒฃแƒ แƒ˜ LED แƒ“แƒ แƒแƒ˜แƒ•แƒ”แƒ แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘ (แƒกแƒแƒชแƒœแƒแƒ‘แƒแƒ แƒ แƒกแƒแƒฎแƒ”แƒšแƒ›แƒซแƒฆแƒ•แƒแƒœแƒ”แƒšแƒแƒจแƒ˜, แƒ˜แƒฎแƒ˜แƒšแƒ”แƒ— แƒกแƒ”แƒฅแƒชแƒ˜แƒ 25). SPI-แƒก แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ แƒ˜แƒ›แƒฃแƒจแƒแƒแƒก แƒกแƒแƒ›แƒแƒ’แƒ˜แƒกแƒขแƒ แƒ ("แƒ›แƒแƒกแƒขแƒ”แƒ ") แƒ“แƒ แƒกแƒšแƒแƒ•แƒ˜แƒก ("แƒ›แƒแƒœแƒ") แƒ แƒ”แƒŸแƒ˜แƒ›แƒจแƒ˜. SPI-แƒก แƒแƒฅแƒ•แƒก แƒแƒ—แƒฎแƒ˜ แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒ˜ แƒแƒ แƒฎแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ—แƒแƒ’แƒแƒœ แƒงแƒ•แƒ”แƒšแƒ แƒแƒ  แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ˜แƒงแƒแƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜:

  • MOSI, แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒ˜ แƒ’แƒแƒ›แƒแƒ›แƒแƒ•แƒแƒšแƒ˜ / Slave แƒจแƒ”แƒงแƒ•แƒแƒœแƒ: แƒ”แƒก แƒžแƒ˜แƒœแƒ˜ แƒ’แƒแƒ“แƒแƒกแƒชแƒ”แƒ›แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒก แƒ›แƒ—แƒแƒ•แƒแƒ  แƒ แƒ”แƒŸแƒ˜แƒ›แƒจแƒ˜ แƒ“แƒ แƒ˜แƒฆแƒ”แƒ‘แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒก slave แƒ แƒ”แƒŸแƒ˜แƒ›แƒจแƒ˜;
  • MISO, Master Input / Slave Output: แƒžแƒ˜แƒ แƒ˜แƒฅแƒ˜แƒ—, แƒ˜แƒฆแƒ”แƒ‘แƒก แƒ›แƒแƒกแƒขแƒ”แƒ แƒจแƒ˜ แƒ“แƒ แƒ’แƒแƒ“แƒแƒกแƒชแƒ”แƒ›แƒก แƒกแƒšแƒแƒ•แƒจแƒ˜;
  • SCK, แƒกแƒ”แƒ แƒ˜แƒฃแƒšแƒ˜ แƒกแƒแƒแƒ—แƒ˜: แƒแƒ“แƒ’แƒ”แƒœแƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ’แƒแƒ“แƒแƒชแƒ”แƒ›แƒ˜แƒก แƒกแƒ˜แƒฎแƒจแƒ˜แƒ แƒ”แƒก แƒ›แƒ—แƒแƒ•แƒแƒ แƒจแƒ˜ แƒแƒœ แƒ˜แƒฆแƒ”แƒ‘แƒก แƒกแƒแƒแƒ—แƒ˜แƒก แƒกแƒ˜แƒ’แƒœแƒแƒšแƒก แƒกแƒšแƒแƒ•แƒจแƒ˜. แƒแƒ แƒกแƒ”แƒ‘แƒ˜แƒ—แƒแƒ“ แƒฃแƒ แƒขแƒงแƒแƒ›แƒก;
  • SS, Slave Select: แƒแƒ› แƒแƒ แƒฎแƒ˜แƒก แƒ“แƒแƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ˜แƒ— แƒ›แƒแƒœแƒแƒ› แƒ˜แƒชแƒ˜แƒก, แƒ แƒแƒ› แƒ›แƒ˜แƒกแƒ’แƒแƒœ แƒ แƒแƒฆแƒแƒช แƒ˜แƒ—แƒฎแƒแƒ•แƒ”แƒ‘แƒ. STM32-แƒ–แƒ” แƒ›แƒแƒก แƒฃแƒฌแƒแƒ“แƒ”แƒ‘แƒ”แƒœ NSS, แƒกแƒแƒ“แƒแƒช N = แƒฃแƒแƒ แƒงแƒแƒคแƒ˜แƒ—แƒ˜, แƒ”.แƒ˜. แƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ”แƒ แƒ˜ แƒฎแƒ“แƒ”แƒ‘แƒ แƒ›แƒแƒœแƒ, แƒ—แƒฃ แƒแƒ› แƒแƒ แƒฎแƒจแƒ˜ แƒแƒ แƒ˜แƒก แƒกแƒแƒคแƒฃแƒซแƒ•แƒ”แƒšแƒ˜. แƒ˜แƒก แƒ™แƒแƒ แƒ’แƒแƒ“ แƒ”แƒ แƒฌแƒงแƒ›แƒ˜แƒก Open Drain Output แƒ แƒ”แƒŸแƒ˜แƒ›แƒก, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ”แƒก แƒกแƒฎแƒ•แƒ แƒแƒ›แƒ‘แƒแƒ•แƒ˜แƒ.

แƒ˜แƒกแƒ”แƒ•แƒ” แƒ แƒแƒ’แƒแƒ แƒช แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜, STM32-แƒ–แƒ” SPI แƒ›แƒ“แƒ˜แƒ“แƒแƒ แƒ˜แƒ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒแƒœแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒ—, แƒ แƒแƒช แƒ’แƒแƒ แƒ™แƒ•แƒ”แƒฃแƒšแƒฌแƒ˜แƒšแƒแƒ“ แƒแƒ แƒ—แƒฃแƒšแƒ”แƒ‘แƒก แƒ›แƒ˜แƒก แƒ’แƒแƒ’แƒ”แƒ‘แƒแƒก. แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒ›แƒแƒก แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ แƒ˜แƒ›แƒฃแƒจแƒแƒแƒก แƒแƒ แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ SPI-แƒ˜แƒ—, แƒแƒ แƒแƒ›แƒ”แƒ“ I2S แƒ˜แƒœแƒขแƒ”แƒ แƒคแƒ”แƒ˜แƒกแƒ˜แƒ—แƒแƒช แƒ“แƒ แƒ“แƒแƒ™แƒฃแƒ›แƒ”แƒœแƒขแƒแƒชแƒ˜แƒแƒจแƒ˜ แƒ›แƒแƒ—แƒ˜ แƒแƒฆแƒฌแƒ”แƒ แƒ˜แƒšแƒแƒ‘แƒ”แƒ‘แƒ˜ แƒจแƒ”แƒ แƒ”แƒฃแƒšแƒ˜แƒ, แƒแƒฃแƒชแƒ˜แƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒ–แƒ”แƒ“แƒ›แƒ”แƒขแƒ˜แƒก แƒ“แƒ แƒแƒฃแƒšแƒแƒ“ แƒ›แƒแƒญแƒ แƒ. แƒฉแƒ•แƒ”แƒœแƒ˜ แƒแƒ›แƒแƒชแƒแƒœแƒ แƒซแƒแƒšแƒ˜แƒแƒœ แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜แƒ: แƒฉแƒ•แƒ”แƒœ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ’แƒ–แƒแƒ•แƒœแƒ แƒ’แƒ•แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ MOSI แƒ“แƒ SCK แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—. แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒ“แƒแƒ•แƒ“แƒ˜แƒ•แƒแƒ แƒ— แƒ’แƒแƒœแƒงแƒแƒคแƒ˜แƒšแƒ”แƒ‘แƒแƒจแƒ˜ 25.3.4 (แƒœแƒแƒฎแƒ”แƒ•แƒ แƒแƒ“ แƒ“แƒฃแƒžแƒšแƒ”แƒฅแƒกแƒฃแƒ แƒ˜ แƒ™แƒแƒ›แƒฃแƒœแƒ˜แƒ™แƒแƒชแƒ˜แƒ, แƒœแƒแƒฎแƒ”แƒ•แƒ แƒแƒ“ แƒ“แƒฃแƒžแƒšแƒ”แƒฅแƒกแƒฃแƒ แƒ˜ แƒ™แƒแƒ›แƒฃแƒœแƒ˜แƒ™แƒแƒชแƒ˜แƒ), แƒกแƒแƒ“แƒแƒช แƒ•แƒžแƒแƒฃแƒšแƒแƒ‘แƒ— 1 แƒกแƒแƒแƒ—แƒ˜ แƒ“แƒ 1 แƒชแƒแƒšแƒ›แƒฎแƒ แƒ˜แƒ•แƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ›แƒแƒ•แƒ—แƒฃแƒšแƒ˜ (1 แƒกแƒแƒแƒ—แƒ˜แƒก แƒกแƒ˜แƒ’แƒœแƒแƒšแƒ˜ แƒ“แƒ 1 แƒชแƒแƒšแƒ›แƒฎแƒ แƒ˜แƒ•แƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒœแƒแƒ™แƒแƒ“แƒ˜):

แƒฌแƒแƒ˜แƒ™แƒ˜แƒ—แƒฎแƒ”แƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜ 2: SPI STM32-แƒ–แƒ”; PWM, แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒ”แƒ‘แƒ˜ STM8-แƒ–แƒ”
แƒแƒ› แƒ แƒ”แƒŸแƒ˜แƒ›แƒจแƒ˜, แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒก SPI-แƒก แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ’แƒแƒ“แƒแƒชแƒ”แƒ›แƒ˜แƒก แƒแƒœ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒ˜แƒก แƒ แƒ”แƒŸแƒ˜แƒ›แƒจแƒ˜. / แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ’แƒแƒ“แƒแƒชแƒ”แƒ›แƒ˜แƒก แƒ แƒ”แƒŸแƒ˜แƒ›แƒ˜ แƒ“แƒฃแƒžแƒšแƒ”แƒฅแƒกแƒ˜แƒก แƒ แƒ”แƒŸแƒ˜แƒ›แƒ˜แƒก แƒ›แƒกแƒ’แƒแƒ•แƒกแƒ˜แƒ: แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜ แƒ’แƒแƒ“แƒแƒชแƒ”แƒ›แƒฃแƒšแƒ˜แƒ แƒ’แƒแƒ“แƒแƒชแƒ”แƒ›แƒ˜แƒก แƒžแƒ˜แƒœแƒ–แƒ” (MOSI แƒ›แƒ—แƒแƒ•แƒแƒ  แƒ แƒ”แƒŸแƒ˜แƒ›แƒจแƒ˜ แƒแƒœ MISO แƒ›แƒแƒœแƒฃแƒ  แƒ แƒ”แƒŸแƒ˜แƒ›แƒจแƒ˜), แƒฎแƒแƒšแƒ แƒ›แƒ˜แƒ›แƒฆแƒ”แƒ‘แƒ˜ (MISO แƒแƒœ MOSI แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒกแƒแƒ“) แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒš แƒ˜แƒฅแƒœแƒแƒก แƒ แƒแƒ’แƒแƒ แƒช แƒฉแƒ•แƒ”แƒฃแƒšแƒ”แƒ‘แƒ แƒ˜แƒ•แƒ˜ I/O แƒžแƒ˜แƒœแƒ˜. . แƒแƒ› แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒแƒก แƒ›แƒฎแƒแƒšแƒแƒ“ Rx แƒ‘แƒฃแƒคแƒ”แƒ แƒ˜แƒก แƒ˜แƒ’แƒœแƒแƒ แƒ˜แƒ แƒ”แƒ‘แƒ แƒกแƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ (แƒ—แƒฃ แƒ˜แƒก แƒฌแƒแƒ˜แƒ™แƒ˜แƒ—แƒฎแƒ”แƒ‘แƒ, แƒ˜แƒฅ แƒแƒ  แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒ’แƒแƒ“แƒแƒชแƒ”แƒ›แƒฃแƒšแƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜).

แƒจแƒ”แƒกแƒแƒœแƒ˜แƒจแƒœแƒแƒ•แƒ˜แƒ, MISO แƒžแƒ˜แƒœแƒ˜ แƒฃแƒคแƒแƒกแƒแƒ, แƒ›แƒแƒ“แƒ˜แƒ— แƒ“แƒแƒ•แƒฃแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒแƒ— แƒ›แƒแƒก LAT แƒกแƒ˜แƒ’แƒœแƒแƒšแƒ˜. แƒ›แƒแƒ“แƒ˜แƒ— แƒจแƒ”แƒ•แƒฎแƒ”แƒ“แƒแƒ— Slave Select-แƒก, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช STM32-แƒ–แƒ” แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒฃแƒšแƒแƒ“ แƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ“แƒ”แƒ‘แƒแƒ“แƒ”แƒก, แƒ แƒแƒช แƒซแƒแƒšแƒ˜แƒแƒœ แƒ›แƒแƒกแƒแƒฎแƒ”แƒ แƒฎแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ. แƒฉแƒ•แƒ”แƒœ แƒ•แƒ™แƒ˜แƒ—แƒฎแƒฃแƒšแƒแƒ‘แƒ— แƒแƒ›แƒแƒ•แƒ” แƒกแƒแƒฎแƒ”แƒšแƒฌแƒแƒ“แƒ”แƒ‘แƒ˜แƒก แƒแƒ‘แƒ–แƒแƒชแƒก แƒ’แƒแƒœแƒงแƒแƒคแƒ˜แƒšแƒ”แƒ‘แƒแƒจแƒ˜ 25.3.1 SPI แƒ–แƒแƒ’แƒแƒ“แƒ˜ แƒแƒฆแƒฌแƒ”แƒ แƒ:

แƒฌแƒแƒ˜แƒ™แƒ˜แƒ—แƒฎแƒ”แƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜ 2: SPI STM32-แƒ–แƒ”; PWM, แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒ”แƒ‘แƒ˜ STM8-แƒ–แƒ”
แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒฃแƒšแƒ˜ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ˜แƒก แƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ˜ NSS (SSM = 1) / แƒ›แƒแƒœแƒแƒ—แƒ แƒจแƒ”แƒ แƒฉแƒ”แƒ•แƒ˜แƒก แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ แƒจแƒ”แƒ˜แƒชแƒแƒ•แƒก SPI_CR1 แƒ แƒ”แƒ’แƒ˜แƒกแƒขแƒ แƒ˜แƒก SSI แƒ‘แƒ˜แƒขแƒจแƒ˜. แƒ’แƒแƒ แƒ” NSS แƒžแƒ˜แƒœแƒ˜ แƒ—แƒแƒ•แƒ˜แƒกแƒฃแƒคแƒแƒšแƒ˜ แƒ แƒฉแƒ”แƒ‘แƒ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒกแƒฎแƒ•แƒ แƒกแƒแƒญแƒ˜แƒ แƒแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก.

แƒ“แƒ แƒแƒ แƒ›แƒ˜แƒ•แƒฌแƒ”แƒ แƒแƒ— แƒ แƒ”แƒ”แƒกแƒขแƒ แƒ”แƒ‘แƒก. แƒ›แƒ” แƒ’แƒแƒ“แƒแƒ•แƒฌแƒงแƒ•แƒ˜แƒขแƒ” แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒงแƒ”แƒœแƒ SPI2, แƒ•แƒ”แƒซแƒ”แƒ‘แƒ แƒ›แƒ˜แƒกแƒ˜ แƒกแƒแƒ‘แƒแƒ–แƒ˜แƒกแƒ แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒคแƒฃแƒ แƒชแƒ”แƒšแƒจแƒ˜ - แƒ’แƒแƒœแƒงแƒแƒคแƒ˜แƒšแƒ”แƒ‘แƒแƒจแƒ˜ 3.3 Memory Map:

แƒฌแƒแƒ˜แƒ™แƒ˜แƒ—แƒฎแƒ”แƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜ 2: SPI STM32-แƒ–แƒ”; PWM, แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒ”แƒ‘แƒ˜ STM8-แƒ–แƒ”

แƒแƒ‘แƒ, แƒ“แƒแƒ•แƒ˜แƒฌแƒงแƒแƒ—:

#define _SPI2_(mem_offset) (*(volatile uint32_t *)(0x40003800 + (mem_offset)))

แƒ’แƒแƒฎแƒกแƒ”แƒœแƒ˜แƒ— แƒ’แƒแƒœแƒงแƒแƒคแƒ˜แƒšแƒ”แƒ‘แƒ 25.3.3 แƒ—แƒ•แƒ˜แƒ—แƒแƒฎแƒกแƒœแƒแƒ“แƒ˜ แƒกแƒแƒ—แƒแƒฃแƒ แƒ˜แƒ— โ€žSPI-แƒ˜แƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ แƒกแƒแƒ›แƒแƒ’แƒ˜แƒกแƒขแƒ แƒ แƒ แƒ”แƒŸแƒ˜แƒ›แƒจแƒ˜โ€œ:

แƒฌแƒแƒ˜แƒ™แƒ˜แƒ—แƒฎแƒ”แƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜ 2: SPI STM32-แƒ–แƒ”; PWM, แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒ”แƒ‘แƒ˜ STM8-แƒ–แƒ”

1. แƒ“แƒแƒแƒงแƒ”แƒœแƒ”แƒ— แƒกแƒ”แƒ แƒ˜แƒฃแƒšแƒ˜ แƒกแƒแƒแƒ—แƒ˜แƒก แƒกแƒ˜แƒฎแƒจแƒ˜แƒ แƒ” แƒ‘แƒ˜แƒขแƒ”แƒ‘แƒ˜แƒ— BR[2:0] SPI_CR1 แƒ แƒ”แƒ’แƒ˜แƒกแƒขแƒ แƒจแƒ˜.

แƒ แƒ”แƒ”แƒกแƒขแƒ แƒ”แƒ‘แƒ˜ แƒ’แƒ แƒแƒ•แƒ“แƒ”แƒ‘แƒ แƒแƒ›แƒแƒ•แƒ” แƒกแƒแƒฎแƒ”แƒšแƒฌแƒแƒ“แƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒชแƒœแƒแƒ‘แƒแƒ แƒ แƒกแƒแƒฎแƒ”แƒšแƒ›แƒซแƒฆแƒ•แƒแƒœแƒ”แƒšแƒแƒก แƒ’แƒแƒœแƒงแƒแƒคแƒ˜แƒšแƒ”แƒ‘แƒแƒจแƒ˜. แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ˜แƒก แƒชแƒ•แƒšแƒ (แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ˜แƒก แƒแƒคแƒกแƒ”แƒขแƒฃแƒ แƒ˜) CR1-แƒกแƒ—แƒ•แƒ˜แƒก โ€“ 0x00, แƒœแƒแƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ•แƒแƒ“ แƒงแƒ•แƒ”แƒšแƒ แƒ‘แƒ˜แƒขแƒ˜ แƒ’แƒแƒกแƒฃแƒคแƒ—แƒแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ (แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ˜แƒก แƒ’แƒแƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ 0x0000):

แƒฌแƒแƒ˜แƒ™แƒ˜แƒ—แƒฎแƒ”แƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜ 2: SPI STM32-แƒ–แƒ”; PWM, แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒ”แƒ‘แƒ˜ STM8-แƒ–แƒ”

BR แƒ‘แƒ˜แƒขแƒ˜ แƒแƒ“แƒ’แƒ”แƒœแƒก แƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ”แƒ แƒ˜แƒก แƒกแƒแƒแƒ—แƒ˜แƒก แƒ’แƒแƒ›แƒงแƒแƒคแƒก, แƒ แƒ˜แƒ—แƒแƒช แƒ’แƒแƒœแƒกแƒแƒ–แƒฆแƒ•แƒ แƒแƒ•แƒก แƒกแƒ˜แƒฎแƒจแƒ˜แƒ แƒ”แƒก, แƒ แƒแƒ›แƒšแƒ˜แƒ—แƒแƒช แƒ˜แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒก SPI. แƒฉแƒ•แƒ”แƒœแƒ˜ STM32 แƒกแƒ˜แƒฎแƒจแƒ˜แƒ แƒ” แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ 72 MHz, LED แƒ“แƒ แƒแƒ˜แƒ•แƒ”แƒ แƒ˜, แƒ›แƒ˜แƒกแƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒชแƒฎแƒ แƒ˜แƒšแƒ˜แƒก แƒ›แƒ˜แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ—, แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก 25 MHz-แƒ›แƒ“แƒ” แƒกแƒ˜แƒฎแƒจแƒ˜แƒ แƒ˜แƒ—, แƒแƒ›แƒ˜แƒขแƒแƒ› แƒฃแƒœแƒ“แƒ แƒ’แƒแƒ•แƒงแƒแƒ— แƒแƒ—แƒฎแƒ–แƒ” (BR[2:0] = 001).

#define _SPI_CR1 0x00

#define BR_0        0x0008
#define BR_1        0x0010
#define BR_2        0x0020

_SPI2_ (_SPI_CR1) |= BR_0;// pclk/4

2. แƒ“แƒแƒแƒงแƒ”แƒœแƒ”แƒ— CPOL แƒ“แƒ CPHA แƒ‘แƒ˜แƒขแƒ”แƒ‘แƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ’แƒแƒ“แƒแƒชแƒ”แƒ›แƒ˜แƒกแƒ แƒ“แƒ แƒกแƒ”แƒ แƒ˜แƒฃแƒšแƒ˜ แƒกแƒแƒแƒ—แƒ˜แƒก แƒ“แƒ แƒแƒ”แƒ‘แƒ˜แƒก แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ˜แƒก แƒ“แƒแƒกแƒแƒ“แƒ’แƒ”แƒœแƒแƒ“ (แƒ˜แƒฎ. แƒ“แƒ˜แƒแƒ’แƒ แƒแƒ›แƒ 240 แƒ’แƒ•แƒ”แƒ แƒ“แƒ–แƒ”)

แƒ•แƒ˜แƒœแƒแƒ˜แƒ“แƒแƒœ แƒฉแƒ•แƒ”แƒœ แƒแƒฅ แƒ•แƒ™แƒ˜แƒ—แƒฎแƒฃแƒšแƒแƒ‘แƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒชแƒฎแƒ แƒ˜แƒšแƒก แƒ“แƒ แƒแƒ  แƒ•แƒฃแƒงแƒฃแƒ แƒ”แƒ‘แƒ— แƒกแƒฅแƒ”แƒ›แƒ”แƒ‘แƒก, แƒ›แƒแƒ“แƒ˜แƒ— แƒฃแƒคแƒ แƒ แƒแƒฎแƒšแƒแƒก แƒ›แƒ˜แƒ•แƒฎแƒ”แƒ“แƒแƒ— CPOL แƒ“แƒ CPHA แƒ‘แƒ˜แƒขแƒ”แƒ‘แƒ˜แƒก แƒขแƒ”แƒฅแƒกแƒขแƒ˜แƒก แƒแƒฆแƒฌแƒ”แƒ แƒแƒก 704 แƒ’แƒ•แƒ”แƒ แƒ“แƒ–แƒ” (SPI แƒ–แƒแƒ’แƒแƒ“แƒ˜ แƒแƒฆแƒฌแƒ”แƒ แƒ):

แƒฌแƒแƒ˜แƒ™แƒ˜แƒ—แƒฎแƒ”แƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜ 2: SPI STM32-แƒ–แƒ”; PWM, แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒ”แƒ‘แƒ˜ STM8-แƒ–แƒ”
แƒกแƒแƒแƒ—แƒ˜แƒก แƒคแƒแƒ–แƒ แƒ“แƒ แƒžแƒแƒšแƒแƒ แƒแƒ‘แƒ
SPI_CR1 แƒ แƒ”แƒ’แƒ˜แƒกแƒขแƒ แƒ˜แƒก CPOL แƒ“แƒ CPHA แƒ‘แƒ˜แƒขแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—, แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒฃแƒšแƒแƒ“ แƒแƒ˜แƒ แƒฉแƒ˜แƒแƒ— แƒ“แƒ แƒแƒ˜แƒก แƒแƒ—แƒฎแƒ˜ แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ˜. CPOL (แƒกแƒแƒแƒ—แƒ˜แƒก แƒžแƒแƒšแƒแƒ แƒแƒ‘แƒ˜แƒก) แƒ‘แƒ˜แƒขแƒ˜ แƒแƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ”แƒ‘แƒก แƒกแƒแƒแƒ—แƒ˜แƒก แƒกแƒ˜แƒ’แƒœแƒแƒšแƒ˜แƒก แƒ›แƒ“แƒ’แƒแƒ›แƒแƒ แƒ”แƒแƒ‘แƒแƒก, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒแƒ  แƒฎแƒ“แƒ”แƒ‘แƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ“แƒแƒชแƒ”แƒ›แƒ. แƒ”แƒก แƒ‘แƒ˜แƒขแƒ˜ แƒแƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ”แƒ‘แƒก แƒ›แƒ—แƒแƒ•แƒแƒ  แƒ“แƒ แƒกแƒšแƒแƒ• แƒ แƒ”แƒŸแƒ˜แƒ›แƒ”แƒ‘แƒก. แƒ—แƒฃ CPOL แƒ’แƒแƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒฃแƒšแƒ˜แƒ, SCK แƒžแƒ˜แƒœแƒ˜ แƒ“แƒแƒ‘แƒแƒšแƒ˜แƒ แƒ“แƒแƒกแƒ•แƒ”แƒœแƒ”แƒ‘แƒ˜แƒก แƒ แƒ”แƒŸแƒ˜แƒ›แƒจแƒ˜. แƒ—แƒฃ CPOL แƒ‘แƒ˜แƒขแƒ˜ แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ, SCK แƒžแƒ˜แƒœแƒ˜ แƒ›แƒแƒฆแƒแƒšแƒ˜แƒ แƒ“แƒแƒกแƒ•แƒ”แƒœแƒ”แƒ‘แƒ˜แƒก แƒ แƒ”แƒŸแƒ˜แƒ›แƒจแƒ˜.
แƒ แƒแƒ“แƒ”แƒกแƒแƒช CPHA (แƒกแƒแƒแƒ—แƒ˜แƒก แƒคแƒแƒ–แƒ) แƒ‘แƒ˜แƒขแƒ˜ แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ, แƒ›แƒแƒฆแƒแƒšแƒ˜ แƒ‘แƒ˜แƒขแƒ˜แƒก แƒฎแƒแƒคแƒแƒœแƒ’แƒ˜แƒก แƒกแƒขแƒ แƒแƒ‘แƒ˜ แƒแƒ แƒ˜แƒก SCK แƒกแƒ˜แƒ’แƒœแƒแƒšแƒ˜แƒก แƒ›แƒ”แƒแƒ แƒ” แƒ™แƒ˜แƒ“แƒ” (แƒ•แƒแƒ แƒ“แƒ”แƒ‘แƒ แƒ—แƒฃ CPOL แƒœแƒแƒ—แƒ”แƒšแƒ˜แƒ, แƒ˜แƒ–แƒ แƒ“แƒ”แƒ‘แƒ แƒ—แƒฃ CPOL แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ). แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜ แƒแƒฆแƒ˜แƒ แƒ˜แƒชแƒฎแƒ”แƒ‘แƒ แƒกแƒแƒแƒ—แƒ˜แƒก แƒกแƒ˜แƒ’แƒœแƒแƒšแƒ˜แƒก แƒ›แƒ”แƒแƒ แƒ” แƒชแƒ•แƒšแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒ—. แƒ—แƒฃ CPHA แƒ‘แƒ˜แƒขแƒ˜ แƒœแƒแƒ—แƒ”แƒšแƒ˜แƒ, แƒ›แƒแƒฆแƒแƒšแƒ˜ แƒ‘แƒ˜แƒขแƒ˜แƒก แƒขแƒ แƒแƒžแƒ˜แƒก แƒกแƒขแƒ แƒแƒ‘แƒ˜ แƒแƒ แƒ˜แƒก SCK แƒกแƒ˜แƒ’แƒœแƒแƒšแƒ˜แƒก แƒแƒ›แƒแƒ›แƒแƒ•แƒแƒšแƒ˜ แƒ™แƒ˜แƒ“แƒ” (แƒฉแƒแƒ›แƒแƒ•แƒแƒ แƒ“แƒœแƒ˜แƒšแƒ˜ แƒ™แƒ˜แƒ“แƒ”, แƒ—แƒฃ CPOL แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ, แƒแƒ›แƒแƒ›แƒแƒ•แƒแƒšแƒ˜ แƒ™แƒ˜แƒ“แƒ”, แƒ—แƒฃ CPOL แƒ’แƒแƒกแƒฃแƒคแƒ—แƒแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ). แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜ แƒแƒฆแƒ˜แƒ แƒ˜แƒชแƒฎแƒ”แƒ‘แƒ แƒกแƒแƒแƒ—แƒ˜แƒก แƒกแƒ˜แƒ’แƒœแƒแƒšแƒ˜แƒก แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜แƒ•แƒ” แƒชแƒ•แƒšแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒกแƒแƒก.

แƒแƒ› แƒชแƒแƒ“แƒœแƒ˜แƒก แƒแƒ—แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ›แƒ˜แƒ•แƒ”แƒ“แƒ˜แƒ— แƒ“แƒแƒกแƒ™แƒ•แƒœแƒแƒ›แƒ“แƒ”, แƒ แƒแƒ› แƒแƒ แƒ˜แƒ•แƒ” แƒ‘แƒ˜แƒขแƒ˜ แƒœแƒฃแƒšแƒ”แƒ‘แƒแƒ“ แƒฃแƒœแƒ“แƒ แƒ“แƒแƒ แƒฉแƒ”แƒก, แƒ แƒแƒ“แƒ’แƒแƒœ แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒ˜แƒœแƒ“แƒ, แƒ แƒแƒ› SCK แƒกแƒ˜แƒ’แƒœแƒแƒšแƒ˜ แƒ“แƒแƒ แƒฉแƒ”แƒก แƒ“แƒแƒ‘แƒแƒšแƒ˜, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒแƒ  แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒ“แƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜ แƒ’แƒแƒ“แƒแƒ˜แƒชแƒ”แƒก แƒžแƒฃแƒšแƒกแƒ˜แƒก แƒแƒ›แƒแƒ›แƒแƒ•แƒแƒš แƒ™แƒ˜แƒ“แƒ”แƒ–แƒ” (แƒ˜แƒฎ. แƒแƒ›แƒแƒ›แƒแƒ•แƒแƒšแƒ˜ แƒ–แƒฆแƒ•แƒแƒ แƒ˜ DM634 แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒคแƒฃแƒ แƒชแƒ”แƒšแƒจแƒ˜).

แƒกแƒฎแƒ•แƒแƒ—แƒ แƒจแƒแƒ แƒ˜แƒก, แƒแƒฅ แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒแƒ“ แƒจแƒ”แƒ•แƒฎแƒ•แƒ“แƒ˜แƒ— ST แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒจแƒ˜ แƒšแƒ”แƒฅแƒกแƒ˜แƒ™แƒ˜แƒก แƒ›แƒแƒฎแƒแƒกแƒ˜แƒแƒ—แƒ”แƒ‘แƒ”แƒšแƒก: แƒ›แƒแƒ—แƒจแƒ˜ แƒฌแƒ”แƒ แƒ˜แƒ แƒคแƒ แƒแƒ–แƒ "แƒ‘แƒ˜แƒขแƒ˜แƒก แƒœแƒฃแƒšแƒ–แƒ” แƒ’แƒแƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ". แƒชแƒแƒขแƒ แƒ’แƒแƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒกแƒ—แƒ•แƒ˜แƒกแƒ“แƒ แƒแƒ แƒ แƒชแƒแƒขแƒ แƒ’แƒแƒกแƒแƒกแƒฃแƒคแƒ—แƒแƒ•แƒ”แƒ‘แƒšแƒแƒ“แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒแƒขแƒ›แƒ”แƒ’แƒแƒก แƒ›แƒกแƒ’แƒแƒ•แƒกแƒแƒ“.

3. แƒ“แƒแƒแƒงแƒ”แƒœแƒ”แƒ— DFF แƒ‘แƒ˜แƒขแƒ˜ แƒ˜แƒ›แƒ˜แƒก แƒ“แƒแƒกแƒแƒ“แƒ’แƒ”แƒœแƒแƒ“, แƒแƒ แƒ˜แƒก แƒ—แƒฃ แƒแƒ แƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒšแƒแƒ™แƒ˜ 8-แƒ‘แƒ˜แƒขแƒ˜แƒแƒœแƒ˜ แƒ—แƒฃ 16-แƒ‘แƒ˜แƒขแƒ˜แƒแƒœแƒ˜ แƒคแƒแƒ แƒ›แƒแƒขแƒ˜แƒ—

แƒ›แƒ” แƒกแƒžแƒ”แƒชแƒ˜แƒแƒšแƒฃแƒ แƒแƒ“ แƒแƒ•แƒ˜แƒฆแƒ” 16-แƒ‘แƒ˜แƒขแƒ˜แƒแƒœแƒ˜ DM634, แƒ แƒแƒ› แƒแƒ  แƒจแƒ”แƒ›แƒ”แƒฌแƒฃแƒฎแƒ”แƒ‘แƒ˜แƒœแƒ 12-แƒ‘แƒ˜แƒขแƒ˜แƒแƒœแƒ˜ PWM แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ“แƒแƒชแƒ”แƒ›แƒ, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ DM633. แƒแƒ–แƒ แƒ˜ แƒแƒฅแƒ•แƒก DFF-แƒ˜แƒก แƒ”แƒ แƒ—แƒ–แƒ” แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒแƒก:

#define DFF         0x0800

_SPI2_ (_SPI_CR1) |= DFF; // 16-bit mode

4. แƒ“แƒแƒแƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒ˜แƒ แƒ”แƒ— LSBFIRST แƒ‘แƒ˜แƒขแƒ˜ SPI_CR1 แƒ แƒ”แƒ”แƒกแƒขแƒ แƒจแƒ˜ แƒ‘แƒšแƒแƒ™แƒ˜แƒก แƒคแƒแƒ แƒ›แƒแƒขแƒ˜แƒก แƒ“แƒแƒกแƒแƒ“แƒ’แƒ”แƒœแƒแƒ“

LSBFIRST, แƒ แƒแƒ’แƒแƒ แƒช แƒ›แƒ˜แƒกแƒ˜ แƒกแƒแƒฎแƒ”แƒšแƒ˜ แƒ’แƒ•แƒ—แƒแƒ•แƒแƒ–แƒแƒ‘แƒก, แƒฏแƒ”แƒ  แƒแƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒ˜แƒ แƒ”แƒ‘แƒก แƒ’แƒแƒ“แƒแƒชแƒ”แƒ›แƒแƒก แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒœแƒแƒ™แƒšแƒ”แƒ‘แƒแƒ“ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒแƒœแƒ˜ แƒ‘แƒ˜แƒขแƒ˜แƒ—. แƒ›แƒแƒ’แƒ แƒแƒ› DM634 แƒกแƒฃแƒ แƒก แƒ›แƒ˜แƒ˜แƒฆแƒแƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜ แƒ“แƒแƒฌแƒงแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒแƒœแƒ˜ แƒ‘แƒ˜แƒขแƒ˜แƒ“แƒแƒœ. แƒแƒ›แƒ˜แƒขแƒแƒ›, แƒฉแƒ•แƒ”แƒœ แƒ•แƒขแƒแƒ•แƒ”แƒ‘แƒ— แƒ›แƒ˜แƒก แƒ’แƒแƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒแƒก.

5. แƒแƒžแƒแƒ แƒแƒขแƒฃแƒ แƒฃแƒš แƒ แƒ”แƒŸแƒ˜แƒ›แƒจแƒ˜, แƒ—แƒฃ แƒกแƒแƒญแƒ˜แƒ แƒแƒ NSS แƒžแƒ˜แƒœแƒ˜แƒ“แƒแƒœ แƒจแƒ”แƒงแƒ•แƒแƒœแƒ, แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ— แƒ›แƒแƒฆแƒแƒšแƒ˜ แƒกแƒ˜แƒ’แƒœแƒแƒšแƒ˜ NSS แƒžแƒ˜แƒœแƒ–แƒ” แƒ›แƒ—แƒ”แƒšแƒ˜ แƒ‘แƒแƒ˜แƒขแƒ˜แƒก แƒ’แƒแƒ“แƒแƒชแƒ”แƒ›แƒ˜แƒก แƒ—แƒแƒœแƒ›แƒ˜แƒ›แƒ“แƒ”แƒ•แƒ แƒแƒ‘แƒ˜แƒก แƒ’แƒแƒœแƒ›แƒแƒ•แƒšแƒแƒ‘แƒแƒจแƒ˜. NSS แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒฃแƒšแƒ˜ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ˜แƒก แƒ แƒ”แƒŸแƒ˜แƒ›แƒจแƒ˜ แƒ“แƒแƒแƒงแƒ”แƒœแƒ”แƒ— SSM แƒ“แƒ SSI แƒ‘แƒ˜แƒขแƒ”แƒ‘แƒ˜ SPI_CR1 แƒ แƒ”แƒ”แƒกแƒขแƒ แƒจแƒ˜. แƒ—แƒฃ NSS แƒžแƒ˜แƒœแƒ˜ แƒฃแƒœแƒ“แƒ แƒ˜แƒฅแƒœแƒแƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ แƒแƒ’แƒแƒ แƒช แƒ’แƒแƒ›แƒแƒกแƒแƒ•แƒแƒšแƒ˜, แƒกแƒแƒญแƒ˜แƒ แƒแƒ แƒ›แƒฎแƒแƒšแƒแƒ“ SSOE แƒ‘แƒ˜แƒขแƒ˜แƒก แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ.

แƒ“แƒแƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒ”แƒ— SSM แƒ“แƒ SSI, แƒ แƒแƒ› แƒ“แƒแƒ˜แƒ•แƒ˜แƒฌแƒงแƒแƒ— NSS แƒแƒžแƒแƒ แƒแƒขแƒฃแƒ แƒ˜แƒก แƒ แƒ”แƒŸแƒ˜แƒ›แƒ˜:

#define SSI         0x0100
#define SSM         0x0200

_SPI2_ (_SPI_CR1) |= SSM | SSI; //enable software control of SS, SS high

6. MSTR แƒ“แƒ SPE แƒ‘แƒ˜แƒขแƒ”แƒ‘แƒ˜ แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ (แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ˜แƒ› แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒ—แƒฃ NSS แƒกแƒ˜แƒ’แƒœแƒแƒšแƒ˜ แƒ›แƒแƒฆแƒแƒšแƒ˜แƒ)

แƒกแƒ˜แƒœแƒแƒ›แƒ“แƒ•แƒ˜แƒšแƒ”แƒจแƒ˜, แƒแƒ› แƒ‘แƒ˜แƒขแƒ”แƒ‘แƒ˜แƒ— แƒฉแƒ•แƒ”แƒœ แƒ•แƒœแƒ˜แƒจแƒœแƒแƒ•แƒ— แƒฉแƒ•แƒ”แƒœแƒก SPI-แƒก, แƒ แƒแƒ’แƒแƒ แƒช แƒ›แƒแƒกแƒขแƒ”แƒ แƒก แƒ“แƒ แƒฉแƒแƒ แƒ—แƒแƒ•แƒ— แƒ›แƒแƒก:

#define MSTR        0x0004
#define SPE         0x0040

_SPI2_ (_SPI_CR1) |= MSTR; //SPI master
//ะบะพะณะดะฐ ะฒัะต ะณะพั‚ะพะฒะพ, ะฒะบะปัŽั‡ะฐะตะผ SPI
_SPI2_ (_SPI_CR1) |= SPE;

SPI แƒแƒ แƒ˜แƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜, แƒ›แƒแƒ“แƒ˜แƒ—, แƒ“แƒแƒฃแƒงแƒแƒ•แƒœแƒ”แƒ‘แƒšแƒ˜แƒ• แƒ“แƒแƒ•แƒฌแƒ”แƒ แƒแƒ— แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒแƒ’แƒ–แƒแƒ•แƒœแƒ˜แƒแƒœ แƒ‘แƒแƒ˜แƒขแƒ”แƒ‘แƒก แƒ“แƒ แƒแƒ˜แƒ•แƒ”แƒ แƒ–แƒ”. แƒ’แƒแƒœแƒแƒ’แƒ แƒซแƒ”แƒ— แƒ™แƒ˜แƒ—แƒฎแƒ•แƒ 25.3.3 โ€žSPI-แƒ˜แƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ แƒกแƒแƒ›แƒแƒ’แƒ˜แƒกแƒขแƒ แƒ แƒ แƒ”แƒŸแƒ˜แƒ›แƒจแƒ˜โ€œ:

แƒฌแƒแƒ˜แƒ™แƒ˜แƒ—แƒฎแƒ”แƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜ 2: SPI STM32-แƒ–แƒ”; PWM, แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒ”แƒ‘แƒ˜ STM8-แƒ–แƒ”
แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ’แƒแƒ“แƒแƒชแƒ”แƒ›แƒ˜แƒก แƒจแƒ”แƒ™แƒ•แƒ”แƒ—แƒ
แƒ’แƒแƒ“แƒแƒชแƒ”แƒ›แƒ แƒ˜แƒฌแƒงแƒ”แƒ‘แƒ แƒ›แƒแƒจแƒ˜แƒœ, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒ‘แƒแƒ˜แƒขแƒ˜ แƒฉแƒแƒ˜แƒฌแƒ”แƒ แƒ”แƒ‘แƒ Tx แƒ‘แƒฃแƒคแƒ”แƒ แƒจแƒ˜.
แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ˜แƒขแƒ˜ แƒ˜แƒขแƒ•แƒ˜แƒ แƒ—แƒ”แƒ‘แƒ shift แƒ แƒ”แƒ”แƒกแƒขแƒ แƒจแƒ˜ at แƒžแƒแƒ แƒแƒšแƒ”แƒšแƒฃแƒ แƒแƒ“ แƒ แƒ”แƒŸแƒ˜แƒ›แƒ˜ (แƒจแƒ˜แƒ“แƒ แƒแƒ•แƒขแƒแƒ‘แƒฃแƒกแƒ˜แƒ“แƒแƒœ) แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒ‘แƒ˜แƒขแƒ˜แƒก แƒ’แƒแƒ“แƒแƒชแƒ”แƒ›แƒ˜แƒก แƒ“แƒ แƒแƒก, แƒ แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒแƒช แƒ˜แƒ’แƒ˜ แƒ’แƒแƒ“แƒแƒ”แƒชแƒ”แƒ›แƒ แƒ—แƒแƒœแƒ›แƒ˜แƒ›แƒ“แƒ”แƒ•แƒ แƒฃแƒšแƒ˜ MOSI แƒžแƒ˜แƒœแƒ˜แƒก แƒ แƒ”แƒŸแƒ˜แƒ›แƒ˜, แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒแƒœ แƒ‘แƒแƒšแƒ แƒ‘แƒ˜แƒขแƒ˜ แƒฌแƒ˜แƒœ, แƒ“แƒแƒ›แƒแƒ™แƒ˜แƒ“แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ LSBFIRST แƒ‘แƒ˜แƒขแƒ˜แƒก แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ–แƒ” CPI_CR1 แƒ แƒ”แƒ”แƒกแƒขแƒ แƒจแƒ˜. TXE แƒ“แƒ แƒแƒจแƒ แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ’แƒแƒ“แƒแƒชแƒ”แƒ›แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ Tx แƒ‘แƒฃแƒคแƒ”แƒ แƒ˜แƒ“แƒแƒœ แƒ’แƒแƒ“แƒแƒกแƒ•แƒšแƒ˜แƒก แƒ แƒ”แƒ”แƒกแƒขแƒ แƒแƒ›แƒ“แƒ”แƒ“แƒ แƒแƒกแƒ”แƒ•แƒ” แƒฌแƒแƒ แƒ›แƒแƒฅแƒ›แƒœแƒ˜แƒก แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒแƒก, แƒ—แƒฃ แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ TXEIE แƒ‘แƒ˜แƒขแƒ˜ CPI_CR1 แƒ แƒ”แƒ”แƒกแƒขแƒ แƒจแƒ˜.

แƒ›แƒ” แƒฎแƒแƒ–แƒ’แƒแƒกแƒ›แƒ˜แƒ— แƒแƒฆแƒ•แƒœแƒ˜แƒจแƒœแƒ” แƒ—แƒแƒ แƒ’แƒ›แƒแƒœแƒจแƒ˜ แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒกแƒ˜แƒขแƒงแƒ•แƒ, แƒ แƒแƒ—แƒ แƒงแƒฃแƒ แƒแƒ“แƒฆแƒ”แƒ‘แƒ แƒ’แƒแƒ•แƒแƒ›แƒแƒฎแƒ•แƒ˜แƒšแƒ STM แƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ”แƒ แƒ”แƒ‘แƒจแƒ˜ SPI แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒ˜แƒก แƒ”แƒ แƒ— แƒ›แƒแƒฎแƒแƒกแƒ˜แƒแƒ—แƒ”แƒ‘แƒ”แƒšแƒ–แƒ”. Atmega-แƒ–แƒ” TXE แƒ“แƒ แƒแƒจแƒ (Tx แƒชแƒแƒ แƒ˜แƒ”แƒšแƒ˜, Tx แƒชแƒแƒ แƒ˜แƒ”แƒšแƒ˜แƒ แƒ“แƒ แƒ›แƒ–แƒแƒ“ แƒแƒ แƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒกแƒแƒฆแƒ”แƒ‘แƒแƒ“) แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ›แƒ—แƒ”แƒšแƒ˜ แƒ‘แƒแƒ˜แƒขแƒ˜แƒก แƒ’แƒแƒ’แƒ–แƒแƒ•แƒœแƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ’แƒแƒ แƒ”แƒ—. แƒ“แƒ แƒแƒฅ แƒ”แƒก แƒ“แƒ แƒแƒจแƒ แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ›แƒแƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒ แƒแƒช แƒ‘แƒแƒ˜แƒขแƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒฉแƒแƒกแƒ›แƒฃแƒšแƒ˜ แƒจแƒ˜แƒ“แƒ shift แƒ แƒ”แƒ”แƒกแƒขแƒ แƒจแƒ˜. แƒ˜แƒ›แƒ˜แƒก แƒ’แƒแƒ›แƒ, แƒ แƒแƒ› แƒ˜แƒ’แƒ˜ แƒ”แƒ แƒ—แƒ“แƒ แƒแƒฃแƒšแƒแƒ“ แƒงแƒ•แƒ”แƒšแƒ แƒ‘แƒ˜แƒขแƒ—แƒแƒœ แƒ”แƒ แƒ—แƒแƒ“ (แƒžแƒแƒ แƒแƒšแƒ”แƒšแƒฃแƒ แƒแƒ“) แƒ’แƒแƒ“แƒแƒ“แƒ˜แƒก แƒ˜แƒฅ, แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ™แƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜ แƒ’แƒแƒ“แƒแƒ˜แƒชแƒ”แƒ›แƒ แƒ—แƒแƒœแƒ›แƒ˜แƒ›แƒ“แƒ”แƒ•แƒ แƒฃแƒšแƒแƒ“, TXE แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ‘แƒแƒ˜แƒขแƒ˜แƒก แƒกแƒ แƒฃแƒšแƒแƒ“ แƒ’แƒแƒ’แƒ–แƒแƒ•แƒœแƒแƒ›แƒ“แƒ”. แƒ”แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒแƒœแƒ˜แƒ, แƒ แƒแƒ“แƒ’แƒแƒœ แƒฉแƒ•แƒ”แƒœแƒ˜ LED แƒ“แƒ แƒแƒ˜แƒ•แƒ”แƒ แƒ˜แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒ’แƒแƒ’แƒ–แƒแƒ•แƒœแƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ LAT-แƒ˜แƒก แƒžแƒ˜แƒœแƒ˜ แƒฃแƒœแƒ“แƒ แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒฆแƒแƒ— แƒงแƒ•แƒ”แƒšแƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜, แƒ”.แƒ˜. แƒ›แƒฎแƒแƒšแƒแƒ“ TXE แƒ“แƒ แƒแƒจแƒ แƒแƒ  แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒกแƒแƒ™แƒ›แƒแƒ แƒ˜แƒกแƒ˜ แƒฉแƒ•แƒ”แƒœแƒ—แƒ•แƒ˜แƒก.

แƒ”แƒก แƒœแƒ˜แƒจแƒœแƒแƒ•แƒก, แƒ แƒแƒ› แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ แƒกแƒฎแƒ•แƒ แƒ“แƒ แƒแƒจแƒ. แƒ›แƒแƒ“แƒ˜แƒ— แƒจแƒ”แƒ•แƒฎแƒ”แƒ“แƒแƒ— 25.3.7 - "แƒกแƒขแƒแƒขแƒฃแƒกแƒ˜แƒก แƒ“แƒ แƒแƒจแƒ”แƒ‘แƒ˜":

แƒฌแƒแƒ˜แƒ™แƒ˜แƒ—แƒฎแƒ”แƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜ 2: SPI STM32-แƒ–แƒ”; PWM, แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒ”แƒ‘แƒ˜ STM8-แƒ–แƒ”
<...>
แƒฌแƒแƒ˜แƒ™แƒ˜แƒ—แƒฎแƒ”แƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜ 2: SPI STM32-แƒ–แƒ”; PWM, แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒ”แƒ‘แƒ˜ STM8-แƒ–แƒ”
แƒ“แƒแƒ™แƒแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ“แƒ แƒแƒจแƒ
BSY แƒ“แƒ แƒแƒจแƒ แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ“แƒ แƒ’แƒแƒกแƒฃแƒคแƒ—แƒแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒแƒžแƒแƒ แƒแƒขแƒฃแƒ แƒ˜แƒก แƒ›แƒ˜แƒ”แƒ  (แƒ›แƒแƒกแƒ–แƒ” แƒฌแƒ”แƒ แƒแƒก แƒแƒ แƒแƒœแƒแƒ˜แƒ แƒ˜ แƒ”แƒคแƒ”แƒฅแƒขแƒ˜ แƒแƒ  แƒแƒฅแƒ•แƒก). BSY แƒ“แƒ แƒแƒจแƒ แƒ›แƒ˜แƒฃแƒ—แƒ˜แƒ—แƒ”แƒ‘แƒก SPI แƒกแƒแƒ™แƒแƒ›แƒฃแƒœแƒ˜แƒ™แƒแƒชแƒ˜แƒ แƒคแƒ”แƒœแƒ˜แƒก แƒ›แƒ“แƒ’แƒแƒ›แƒแƒ แƒ”แƒแƒ‘แƒแƒ–แƒ”.
แƒ˜แƒก แƒแƒฆแƒแƒ“แƒ’แƒ”แƒœแƒก:
แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒ’แƒแƒ“แƒแƒชแƒ”แƒ›แƒ แƒ“แƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ (แƒ’แƒแƒ แƒ“แƒ แƒ›แƒแƒกแƒขแƒ”แƒ  แƒ แƒ”แƒŸแƒ˜แƒ›แƒจแƒ˜, แƒ—แƒฃ แƒ’แƒแƒ“แƒแƒชแƒ”แƒ›แƒ แƒฃแƒฌแƒงแƒ•แƒ”แƒขแƒ˜แƒ)
แƒ แƒแƒ“แƒ”แƒกแƒแƒช SPI แƒ’แƒแƒ›แƒแƒ แƒ—แƒฃแƒšแƒ˜แƒ
แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒฉแƒœแƒ“แƒ”แƒ‘แƒ แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒ˜ แƒ แƒ”แƒŸแƒ˜แƒ›แƒ˜แƒก แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ (MODF=1)
แƒ—แƒฃ แƒ’แƒแƒ“แƒแƒชแƒ”แƒ›แƒ แƒแƒ  แƒแƒ แƒ˜แƒก แƒฃแƒฌแƒงแƒ•แƒ”แƒขแƒ˜, BSY แƒ“แƒ แƒแƒจแƒ แƒ˜แƒฌแƒ›แƒ˜แƒœแƒ“แƒ”แƒ‘แƒ แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒš แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ’แƒแƒ“แƒแƒชแƒ”แƒ›แƒแƒก แƒจแƒแƒ แƒ˜แƒก

แƒ™แƒแƒ แƒ’แƒ˜, แƒ”แƒก แƒ’แƒแƒ›แƒแƒ’แƒแƒ“แƒ’แƒ”แƒ‘แƒแƒ—. แƒ›แƒแƒ“แƒ˜แƒ— แƒ’แƒแƒ•แƒแƒ แƒ™แƒ•แƒ˜แƒแƒ— แƒกแƒแƒ“ แƒ›แƒ“แƒ”แƒ‘แƒแƒ แƒ”แƒแƒ‘แƒก Tx แƒ‘แƒฃแƒคแƒ”แƒ แƒ˜. แƒแƒ›แƒ˜แƒกแƒแƒ—แƒ•แƒ˜แƒก แƒฌแƒแƒ˜แƒ™แƒ˜แƒ—แƒฎแƒ”แƒ— "SPI แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ แƒ”แƒ’แƒ˜แƒกแƒขแƒ แƒแƒชแƒ˜แƒ":

แƒฌแƒแƒ˜แƒ™แƒ˜แƒ—แƒฎแƒ”แƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜ 2: SPI STM32-แƒ–แƒ”; PWM, แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒ”แƒ‘แƒ˜ STM8-แƒ–แƒ”
แƒ‘แƒ˜แƒขแƒ”แƒ‘แƒ˜ 15:0 DR[15:0] แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ แƒ”แƒ’แƒ˜แƒกแƒขแƒ แƒแƒชแƒ˜แƒ
แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒแƒœ แƒ’แƒแƒ“แƒแƒกแƒแƒชแƒ”แƒ›แƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜.
แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ แƒ”แƒ”แƒกแƒขแƒ แƒ˜ แƒ“แƒแƒงแƒแƒคแƒ˜แƒšแƒ˜แƒ แƒแƒ  แƒ‘แƒฃแƒคแƒ”แƒ แƒแƒ“ - แƒ”แƒ แƒ—แƒ˜ แƒฉแƒแƒฌแƒ”แƒ แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก (แƒ’แƒแƒ“แƒแƒชแƒ”แƒ›แƒ˜แƒก แƒ‘แƒฃแƒคแƒ”แƒ แƒ˜) แƒ“แƒ แƒ›แƒ”แƒแƒ แƒ” แƒฌแƒแƒ™แƒ˜แƒ—แƒฎแƒ•แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก (แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒ˜แƒก แƒ‘แƒฃแƒคแƒ”แƒ แƒ˜). แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ แƒ”แƒ”แƒกแƒขแƒ แƒจแƒ˜ แƒฉแƒแƒฌแƒ”แƒ แƒ แƒ˜แƒฌแƒ”แƒ แƒก Tx แƒ‘แƒฃแƒคแƒ”แƒ แƒก, แƒฎแƒแƒšแƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ แƒ”แƒ”แƒกแƒขแƒ แƒ˜แƒ“แƒแƒœ แƒฌแƒแƒ™แƒ˜แƒ—แƒฎแƒ•แƒ แƒ“แƒแƒแƒ‘แƒ แƒฃแƒœแƒ”แƒ‘แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒแƒก, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒจแƒ”แƒ˜แƒชแƒแƒ•แƒก Rx แƒ‘แƒฃแƒคแƒ”แƒ แƒก.

แƒ“แƒ แƒกแƒขแƒแƒขแƒฃแƒกแƒ˜แƒก แƒ แƒ”แƒ”แƒกแƒขแƒ แƒ˜, แƒกแƒแƒ“แƒแƒช แƒแƒ แƒ˜แƒก TXE แƒ“แƒ BSY แƒ“แƒ แƒแƒจแƒ”แƒ‘แƒ˜:

แƒฌแƒแƒ˜แƒ™แƒ˜แƒ—แƒฎแƒ”แƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜ 2: SPI STM32-แƒ–แƒ”; PWM, แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒ”แƒ‘แƒ˜ STM8-แƒ–แƒ”

แฒฉแƒ•แƒ”แƒœ แƒ•แƒฌแƒ”แƒ แƒ—:

#define _SPI_DR  0x0C
#define _SPI_SR  0x08

#define BSY         0x0080
#define TXE         0x0002

void dm_shift16(uint16_t value)
{
    _SPI2_(_SPI_DR) = value; //send 2 bytes
    while (!(_SPI2_(_SPI_SR) & TXE)); //wait until they're sent
}

แƒ™แƒแƒ แƒ’แƒ˜, แƒ แƒแƒ“แƒ’แƒแƒœ แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ 16-แƒฏแƒ”แƒ  แƒแƒ แƒ˜ แƒ‘แƒแƒ˜แƒขแƒ˜แƒก แƒ’แƒแƒ“แƒแƒชแƒ”แƒ›แƒ, LED แƒ“แƒ แƒแƒ˜แƒ•แƒ”แƒ แƒ˜แƒก แƒ’แƒแƒ›แƒแƒ›แƒแƒ•แƒแƒšแƒ˜ แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ˜แƒก แƒ›แƒ˜แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ—, แƒ“แƒแƒแƒฎแƒšแƒแƒ”แƒ‘แƒ˜แƒ— แƒแƒกแƒ”แƒ—แƒ˜:

void sendLEDdata()
{
    LAT_low();
    uint8_t k = 16;
    do
    {   k--;
        dm_shift16(leds[k]);
    } while (k);

    while (_SPI2_(_SPI_SR) & BSY); // finish transmission

    LAT_pulse();
}

แƒ›แƒแƒ’แƒ แƒแƒ› แƒฉแƒ•แƒ”แƒœ แƒฏแƒ”แƒ  แƒแƒ  แƒ•แƒ˜แƒชแƒ˜แƒ—, แƒ แƒแƒ’แƒแƒ  แƒ’แƒแƒ•แƒ˜แƒงแƒ•แƒแƒœแƒแƒ— LAT แƒžแƒ˜แƒœแƒ˜, แƒแƒ›แƒ˜แƒขแƒแƒ› แƒ“แƒแƒ•แƒฃแƒ‘แƒ แƒฃแƒœแƒ“แƒ”แƒ‘แƒ˜แƒ— I/O-แƒก.

แƒฅแƒ˜แƒœแƒซแƒ˜แƒกแƒ—แƒแƒ•แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒœแƒ˜แƒญแƒ”แƒ‘แƒ

STM32F1-แƒจแƒ˜, แƒฅแƒ˜แƒœแƒซแƒ˜แƒกแƒ—แƒแƒ•แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ“แƒ’แƒแƒ›แƒแƒ แƒ”แƒแƒ‘แƒแƒ–แƒ” แƒžแƒแƒกแƒฃแƒฎแƒ˜แƒกแƒ›แƒ’แƒ”แƒ‘แƒ”แƒšแƒ˜ แƒ แƒ”แƒ’แƒ˜แƒกแƒขแƒ แƒ”แƒ‘แƒ˜ แƒกแƒแƒ™แƒ›แƒแƒแƒ“ แƒฃแƒฉแƒ•แƒ”แƒฃแƒšแƒแƒ. แƒ’แƒแƒกแƒแƒ’แƒ”แƒ‘แƒ˜แƒ, แƒ แƒแƒ› แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒฃแƒคแƒ แƒ แƒ›แƒ”แƒขแƒ˜แƒ แƒ•แƒ˜แƒ“แƒ แƒ” Atmega, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒแƒกแƒ”แƒ•แƒ” แƒ’แƒแƒœแƒกแƒฎแƒ•แƒแƒ•แƒ“แƒ”แƒ‘แƒ˜แƒแƒœ แƒกแƒฎแƒ•แƒ STM แƒฉแƒ˜แƒžแƒ”แƒ‘แƒ˜แƒกแƒ’แƒแƒœ. แƒœแƒแƒฌแƒ˜แƒšแƒ˜ 9.1 GPIO-แƒก แƒ–แƒแƒ’แƒแƒ“แƒ˜ แƒแƒฆแƒฌแƒ”แƒ แƒ:

แƒฌแƒแƒ˜แƒ™แƒ˜แƒ—แƒฎแƒ”แƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜ 2: SPI STM32-แƒ–แƒ”; PWM, แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒ”แƒ‘แƒ˜ STM8-แƒ–แƒ”
แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒ–แƒแƒ’แƒแƒ“แƒ˜ แƒ“แƒแƒœแƒ˜แƒจแƒœแƒฃแƒšแƒ”แƒ‘แƒ˜แƒก I/O แƒžแƒแƒ แƒขแƒ˜ (GPIO) แƒแƒฅแƒ•แƒก แƒแƒ แƒ˜ 32-แƒ‘แƒ˜แƒขแƒ˜แƒแƒœแƒ˜ แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒ แƒ”แƒ’แƒ˜แƒกแƒขแƒ แƒ˜ (GPIOx_CRL แƒ“แƒ GPIOx_CRH), แƒแƒ แƒ˜ 32-แƒ‘แƒ˜แƒขแƒ˜แƒแƒœแƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ แƒ”แƒ’แƒ˜แƒกแƒขแƒ แƒ˜ (GPIOx_IDR แƒ“แƒ GPIOx_ODR), 32-แƒ‘แƒ˜แƒขแƒ˜แƒแƒœแƒ˜ แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒก/แƒ’แƒแƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒ แƒ”แƒ’แƒ˜แƒกแƒขแƒ แƒ˜ (GPIOx_BSRR), 16-แƒ‘แƒ˜แƒขแƒ˜แƒแƒœแƒ˜ แƒ’แƒแƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒ แƒ”แƒ’แƒ˜แƒกแƒขแƒ แƒ˜ (GPIOx_BRR) แƒ“แƒ แƒ‘แƒ˜แƒขแƒ˜แƒก แƒ“แƒแƒ‘แƒšแƒแƒ™แƒ•แƒ˜แƒก แƒ แƒ”แƒ’แƒ˜แƒกแƒขแƒ แƒ˜ (GPIOx_LCKR).

แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒแƒ แƒ˜ แƒ แƒ”แƒ’แƒ˜แƒกแƒขแƒ แƒ˜ แƒฃแƒฉแƒ•แƒ”แƒฃแƒšแƒแƒ แƒ“แƒ แƒแƒกแƒ”แƒ•แƒ” แƒกแƒแƒ™แƒ›แƒแƒแƒ“ แƒ›แƒแƒฃแƒฎแƒ”แƒ แƒฎแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ, แƒ แƒแƒ“แƒ’แƒแƒœ 16 แƒžแƒแƒ แƒขแƒ˜แƒก แƒžแƒ˜แƒœแƒ˜ แƒ›แƒ˜แƒ›แƒแƒคแƒแƒœแƒขแƒฃแƒšแƒ˜แƒ แƒ›แƒแƒ—แƒ–แƒ” "แƒแƒ—แƒฎแƒ˜ แƒ‘แƒ˜แƒขแƒ˜ แƒซแƒ›แƒแƒ–แƒ”" แƒคแƒแƒ แƒ›แƒแƒขแƒจแƒ˜. แƒ˜แƒ›แƒแƒ—. แƒฅแƒ˜แƒœแƒซแƒ˜แƒกแƒ—แƒแƒ•แƒ”แƒ‘แƒ˜ แƒœแƒฃแƒšแƒ˜แƒ“แƒแƒœ แƒจแƒ•แƒ˜แƒ“แƒแƒ›แƒ“แƒ” แƒแƒ แƒ˜แƒก CRL-แƒจแƒ˜, แƒ“แƒแƒœแƒแƒ แƒฉแƒ”แƒœแƒ˜ แƒ™แƒ˜ CRH-แƒจแƒ˜. แƒแƒ›แƒแƒ•แƒ“แƒ แƒแƒฃแƒšแƒแƒ“, แƒ“แƒแƒ แƒฉแƒ”แƒœแƒ˜แƒšแƒ˜ แƒ แƒ”แƒ’แƒ˜แƒกแƒขแƒ แƒ”แƒ‘แƒ˜ แƒฌแƒแƒ แƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ— แƒจแƒ”แƒ˜แƒชแƒแƒ•แƒก แƒžแƒแƒ แƒขแƒ˜แƒก แƒงแƒ•แƒ”แƒšแƒ แƒžแƒ˜แƒœแƒ˜แƒก แƒ‘แƒ˜แƒขแƒ”แƒ‘แƒก - แƒฎแƒจแƒ˜แƒ แƒแƒ“ แƒ แƒฉแƒ”แƒ‘แƒ แƒœแƒแƒฎแƒ”แƒ•แƒ แƒแƒ“ "แƒ แƒ”แƒ–แƒ”แƒ แƒ•แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜".

แƒกแƒ˜แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ“แƒแƒ•แƒ˜แƒฌแƒงแƒแƒ— แƒกแƒ˜แƒ˜แƒก แƒ‘แƒแƒšแƒแƒ“แƒแƒœ.

แƒฉแƒ•แƒ”แƒœ แƒแƒ  แƒ’แƒ•แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ แƒ“แƒแƒ‘แƒšแƒแƒ™แƒ•แƒ˜แƒก แƒ แƒ”แƒ”แƒกแƒขแƒ แƒ˜.

แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒ“แƒ แƒ’แƒแƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒ แƒ”แƒ’แƒ˜แƒกแƒขแƒ แƒ”แƒ‘แƒ˜ แƒกแƒแƒ™แƒ›แƒแƒแƒ“ แƒกแƒแƒกแƒแƒชแƒ˜แƒšแƒแƒ แƒ˜แƒ›แƒ˜แƒ—, แƒ แƒแƒ› แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒœแƒแƒฌแƒ˜แƒšแƒแƒ‘แƒ แƒ˜แƒ• แƒ˜แƒ›แƒ”แƒแƒ แƒ”แƒ‘แƒ”แƒœ แƒ”แƒ แƒ—แƒ›แƒแƒœแƒ”แƒ—แƒก: แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ“แƒแƒฌแƒ”แƒ แƒแƒ— แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒ›แƒฎแƒแƒšแƒแƒ“ BSRR-แƒจแƒ˜, แƒกแƒแƒ“แƒแƒช 16 แƒฃแƒคแƒ แƒ แƒ›แƒแƒฆแƒแƒšแƒ˜ แƒ‘แƒ˜แƒขแƒ˜ แƒแƒฆแƒแƒ“แƒ’แƒ”แƒœแƒก แƒžแƒ˜แƒœแƒก แƒœแƒฃแƒšแƒ–แƒ”, แƒฎแƒแƒšแƒ แƒฅแƒ•แƒ”แƒ“แƒ แƒ“แƒแƒงแƒ”แƒœแƒ“แƒ”แƒ‘แƒ 1-แƒ–แƒ”, แƒแƒœ แƒแƒกแƒ”แƒ•แƒ” แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ—. แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ— BRR, แƒ แƒแƒ›แƒšแƒ˜แƒก แƒฅแƒ•แƒ”แƒ“แƒ 16 แƒ‘แƒ˜แƒขแƒ˜ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒžแƒ˜แƒœแƒ˜ แƒ’แƒแƒ“แƒแƒแƒงแƒ”แƒœแƒ”แƒ—. แƒ›แƒ”แƒแƒ แƒ” แƒ•แƒแƒ แƒ˜แƒแƒœแƒขแƒ˜ แƒ›แƒแƒ›แƒฌแƒแƒœแƒก. แƒ”แƒก แƒ แƒ”แƒ’แƒ˜แƒกแƒขแƒ แƒ”แƒ‘แƒ˜ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒแƒœแƒ˜แƒ, แƒ แƒแƒ“แƒ’แƒแƒœ แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ”แƒœ แƒแƒขแƒแƒ›แƒฃแƒ  แƒฌแƒ•แƒ“แƒแƒ›แƒแƒก แƒฅแƒ˜แƒœแƒซแƒ˜แƒกแƒ—แƒแƒ•แƒ”แƒ‘แƒ–แƒ”:

แƒฌแƒแƒ˜แƒ™แƒ˜แƒ—แƒฎแƒ”แƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜ 2: SPI STM32-แƒ–แƒ”; PWM, แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒ”แƒ‘แƒ˜ STM8-แƒ–แƒ”
แƒฌแƒแƒ˜แƒ™แƒ˜แƒ—แƒฎแƒ”แƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜ 2: SPI STM32-แƒ–แƒ”; PWM, แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒ”แƒ‘แƒ˜ STM8-แƒ–แƒ”
แƒแƒขแƒแƒ›แƒฃแƒ แƒ˜ แƒ™แƒแƒ›แƒžแƒšแƒ”แƒฅแƒขแƒ˜ แƒแƒœ แƒ’แƒแƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ
แƒแƒ  แƒแƒ แƒ˜แƒก แƒกแƒแƒญแƒ˜แƒ แƒ แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒ แƒ—แƒ•แƒ GPIOx_ODR-แƒ˜แƒก แƒ“แƒแƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ”แƒ‘แƒ˜แƒกแƒแƒก แƒ‘แƒ˜แƒขแƒ˜แƒก แƒ“แƒแƒœแƒ”แƒ–แƒ”: แƒ”แƒ แƒ—แƒ˜ แƒแƒœ แƒ›แƒ”แƒขแƒ˜ แƒ‘แƒ˜แƒขแƒ˜ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒจแƒ”แƒ˜แƒชแƒ•แƒแƒšแƒแƒก แƒ”แƒ แƒ—แƒ˜ แƒแƒขแƒแƒ›แƒฃแƒ แƒ˜ แƒฉแƒแƒฌแƒ”แƒ แƒ˜แƒก แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒ˜แƒ— APB2. แƒ”แƒก แƒ›แƒ˜แƒ˜แƒฆแƒฌแƒ”แƒ•แƒ "1"-แƒ˜แƒก แƒฉแƒแƒฌแƒ”แƒ แƒ˜แƒ— แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒก/แƒ’แƒแƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒ แƒ”แƒ”แƒกแƒขแƒ แƒจแƒ˜ (GPIOx_BSRR แƒแƒœ, แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ’แƒแƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, GPIOx_BRR) แƒ˜แƒ› แƒ‘แƒ˜แƒขแƒ˜แƒก, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒฃแƒœแƒ“แƒ แƒจแƒ”แƒ˜แƒชแƒ•แƒแƒšแƒแƒก. แƒกแƒฎแƒ•แƒ แƒ‘แƒ˜แƒขแƒ”แƒ‘แƒ˜ แƒฃแƒชแƒ•แƒšแƒ”แƒšแƒ˜ แƒ“แƒแƒ แƒฉแƒ”แƒ‘แƒ.

แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ แƒ”แƒ’แƒ˜แƒกแƒขแƒ แƒ”แƒ‘แƒก แƒแƒฅแƒ•แƒ— แƒกแƒแƒ™แƒ›แƒแƒแƒ“ แƒ’แƒแƒกแƒแƒ’แƒ”แƒ‘แƒ˜ แƒกแƒแƒฎแƒ”แƒšแƒ”แƒ‘แƒ˜ - IDR = แƒจแƒ”แƒงแƒ•แƒแƒœแƒ˜แƒก แƒ›แƒ˜แƒ›แƒแƒ แƒ—แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ แƒ”แƒ”แƒกแƒขแƒ แƒ˜, แƒจแƒ”แƒงแƒ•แƒแƒœแƒ˜แƒก แƒ แƒ”แƒ’แƒ˜แƒกแƒขแƒ แƒ˜; ODR = แƒ’แƒแƒ›แƒแƒงแƒ•แƒแƒœแƒ˜แƒก แƒ›แƒ˜แƒ›แƒแƒ แƒ—แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ แƒ”แƒ’แƒ˜แƒกแƒขแƒ แƒ˜, แƒ’แƒแƒ›แƒแƒ›แƒแƒ•แƒแƒšแƒ˜ แƒ แƒ”แƒ’แƒ˜แƒกแƒขแƒ แƒ˜. แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒแƒ  แƒ“แƒแƒ’แƒ•แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ แƒ›แƒ˜แƒ›แƒ“แƒ˜แƒœแƒแƒ แƒ” แƒžแƒ แƒแƒ”แƒฅแƒขแƒจแƒ˜.

แƒ“แƒ แƒ‘แƒแƒšแƒแƒก, แƒกแƒแƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ แƒ แƒ”แƒ’แƒ˜แƒกแƒขแƒ แƒ”แƒ‘แƒ˜. แƒ•แƒ˜แƒœแƒแƒ˜แƒ“แƒแƒœ แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒแƒ˜แƒœแƒขแƒ”แƒ แƒ”แƒกแƒ”แƒ‘แƒก แƒ›แƒ”แƒแƒ แƒ” SPI แƒฅแƒ˜แƒœแƒซแƒ˜แƒกแƒ—แƒแƒ•แƒ”แƒ‘แƒ˜, แƒ™แƒ”แƒ แƒซแƒแƒ“ PB13, PB14 แƒ“แƒ PB15, แƒฉแƒ•แƒ”แƒœ แƒ“แƒแƒฃแƒงแƒแƒ•แƒœแƒ”แƒ‘แƒšแƒ˜แƒ• แƒ•แƒฃแƒงแƒฃแƒ แƒ”แƒ‘แƒ— CRH-แƒก:

แƒฌแƒแƒ˜แƒ™แƒ˜แƒ—แƒฎแƒ”แƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜ 2: SPI STM32-แƒ–แƒ”; PWM, แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒ”แƒ‘แƒ˜ STM8-แƒ–แƒ”

แƒ“แƒ แƒฉแƒ•แƒ”แƒœ แƒ•แƒฎแƒ”แƒ“แƒแƒ•แƒ—, แƒ แƒแƒ› แƒ“แƒแƒ’แƒ•แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ แƒ แƒแƒฆแƒแƒชแƒ˜แƒก แƒฉแƒแƒฌแƒ”แƒ แƒ แƒ‘แƒ˜แƒขแƒ”แƒ‘แƒจแƒ˜ 20-แƒ“แƒแƒœ 31-แƒ›แƒ“แƒ”.

แƒ–แƒ”แƒ›แƒแƒ— แƒฃแƒ™แƒ•แƒ” แƒ’แƒแƒ•แƒแƒ แƒ™แƒ•แƒ˜แƒ”แƒ— แƒ แƒ แƒ’แƒ•แƒ˜แƒœแƒ“แƒ แƒฅแƒ˜แƒœแƒซแƒ˜แƒกแƒ—แƒแƒ•แƒ”แƒ‘แƒ˜แƒกแƒแƒ’แƒแƒœ, แƒแƒ›แƒ˜แƒขแƒแƒ› แƒแƒฅ แƒ’แƒแƒ•แƒแƒ™แƒ”แƒ—แƒ”แƒ‘ แƒกแƒ™แƒ แƒ˜แƒœแƒจแƒแƒขแƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”, แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ แƒ•แƒ˜แƒขแƒงแƒ•แƒ˜, แƒ แƒแƒ› MODE แƒ’แƒแƒœแƒกแƒแƒ–แƒฆแƒ•แƒ แƒแƒ•แƒก แƒ›แƒ˜แƒ›แƒแƒ แƒ—แƒฃแƒšแƒ”แƒ‘แƒแƒก (แƒจแƒ”แƒงแƒ•แƒแƒœแƒ แƒ—แƒฃ แƒแƒ แƒ˜แƒ•แƒ” แƒ‘แƒ˜แƒขแƒ˜ แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ 0-แƒ–แƒ”) แƒ“แƒ แƒžแƒ˜แƒœแƒ˜แƒก แƒกแƒ˜แƒฉแƒฅแƒแƒ แƒ” (แƒ’แƒ•แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ 50 MHz, แƒ”.แƒ˜. แƒแƒ แƒ˜แƒ•แƒ” แƒžแƒ˜แƒœแƒ˜ โ€ž1โ€œ-แƒ–แƒ”), แƒ“แƒ CNF แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒก แƒ แƒ”แƒŸแƒ˜แƒ›แƒก: แƒ แƒ”แƒ’แƒฃแƒšแƒแƒ แƒฃแƒšแƒ˜ โ€žแƒ“แƒแƒซแƒแƒ‘แƒ•แƒโ€œ โ€“ 00, โ€žแƒแƒšแƒขแƒ”แƒ แƒœแƒแƒขแƒ˜แƒ•แƒโ€œ โ€“ 10. แƒœแƒแƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ•แƒแƒ“, แƒ แƒแƒ’แƒแƒ แƒช แƒ–แƒ”แƒ›แƒแƒ— แƒ•แƒฎแƒ”แƒ“แƒแƒ•แƒ—, แƒงแƒ•แƒ”แƒšแƒ แƒžแƒ˜แƒœแƒก แƒแƒฅแƒ•แƒก แƒ›แƒ”แƒกแƒแƒ›แƒ” แƒ‘แƒ˜แƒขแƒ˜ แƒฅแƒ•แƒ”แƒ›แƒแƒ“แƒแƒœ (CNF0). แƒ˜แƒก แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒก แƒ›แƒแƒ— แƒ แƒ”แƒŸแƒ˜แƒ›แƒจแƒ˜ แƒ›แƒชแƒฃแƒ แƒแƒ•แƒ˜ แƒจแƒ”แƒงแƒ•แƒแƒœแƒ.

แƒ•แƒ˜แƒœแƒแƒ˜แƒ“แƒแƒœ แƒแƒ› แƒฉแƒ˜แƒžแƒ˜แƒ— แƒกแƒฎแƒ•แƒ แƒ แƒแƒ›แƒ˜แƒก แƒ’แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒแƒก แƒ•แƒแƒžแƒ˜แƒ แƒ”แƒ‘, แƒกแƒ˜แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ›แƒ” แƒ’แƒแƒœแƒ•แƒกแƒแƒ–แƒฆแƒ•แƒ แƒ” แƒงแƒ•แƒ”แƒšแƒ แƒจแƒ”แƒกแƒแƒซแƒšแƒ MODE แƒ“แƒ CNF แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ แƒ แƒแƒ’แƒแƒ แƒช แƒฅแƒ•แƒ”แƒ“แƒ, แƒแƒกแƒ”แƒ•แƒ” แƒ–แƒ”แƒ“แƒ แƒกแƒแƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ แƒ แƒ”แƒ’แƒ˜แƒกแƒขแƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก.

แƒ แƒแƒขแƒแƒ›แƒฆแƒแƒช แƒแƒกแƒ”

#define CNF0_0 0x00000004
#define CNF0_1 0x00000008
#define CNF1_0 0x00000040
#define CNF1_1 0x00000080
#define CNF2_0 0x00000400
#define CNF2_1 0x00000800
#define CNF3_0 0x00004000
#define CNF3_1 0x00008000
#define CNF4_0 0x00040000
#define CNF4_1 0x00080000
#define CNF5_0 0x00400000
#define CNF5_1 0x00800000
#define CNF6_0 0x04000000
#define CNF6_1 0x08000000
#define CNF7_0 0x40000000
#define CNF7_1 0x80000000
#define CNF8_0 0x00000004
#define CNF8_1 0x00000008
#define CNF9_0 0x00000040
#define CNF9_1 0x00000080
#define CNF10_0 0x00000400
#define CNF10_1 0x00000800
#define CNF11_0 0x00004000
#define CNF11_1 0x00008000
#define CNF12_0 0x00040000
#define CNF12_1 0x00080000
#define CNF13_0 0x00400000
#define CNF13_1 0x00800000
#define CNF14_0 0x04000000
#define CNF14_1 0x08000000
#define CNF15_0 0x40000000
#define CNF15_1 0x80000000

#define MODE0_0 0x00000001
#define MODE0_1 0x00000002
#define MODE1_0 0x00000010
#define MODE1_1 0x00000020
#define MODE2_0 0x00000100
#define MODE2_1 0x00000200
#define MODE3_0 0x00001000
#define MODE3_1 0x00002000
#define MODE4_0 0x00010000
#define MODE4_1 0x00020000
#define MODE5_0 0x00100000
#define MODE5_1 0x00200000
#define MODE6_0 0x01000000
#define MODE6_1 0x02000000
#define MODE7_0 0x10000000
#define MODE7_1 0x20000000
#define MODE8_0 0x00000001
#define MODE8_1 0x00000002
#define MODE9_0 0x00000010
#define MODE9_1 0x00000020
#define MODE10_0 0x00000100
#define MODE10_1 0x00000200
#define MODE11_0 0x00001000
#define MODE11_1 0x00002000
#define MODE12_0 0x00010000
#define MODE12_1 0x00020000
#define MODE13_0 0x00100000
#define MODE13_1 0x00200000
#define MODE14_0 0x01000000
#define MODE14_1 0x02000000
#define MODE15_0 0x10000000
#define MODE15_1 0x20000000

แƒฉแƒ•แƒ”แƒœแƒ˜ แƒžแƒ˜แƒœแƒ”แƒ‘แƒ˜ แƒ›แƒ“แƒ”แƒ‘แƒแƒ แƒ”แƒแƒ‘แƒก B แƒžแƒแƒ แƒขแƒ–แƒ” (แƒ‘แƒแƒ–แƒ˜แƒก แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ˜ โ€“ 0x40010C00), แƒ™แƒแƒ“แƒ˜:

#define _PORTB_(mem_offset) (*(volatile uint32_t *)(0x40010C00 + (mem_offset)))

#define _BRR  0x14
#define _BSRR 0x10
#define _CRL  0x00
#define _CRH  0x04

//ะธัะฟะพะปัŒะทัƒะตะผ ัั‚ะฐะฝะดะฐั€ั‚ะฝั‹ะน SPI2: MOSI ะฝะฐ B15, CLK ะฝะฐ B13
//LAT ะฟัƒัั‚ัŒ ะฑัƒะดะตั‚ ะฝะฐ ะฝะตะธัะฟะพะปัŒะทัƒะตะผะพะผ MISO โ€“ B14

//ะพั‡ะธั‰ะฐะตะผ ะดะตั„ะพะปั‚ะฝั‹ะน ะฑะธั‚, ะพะฝ ะฝะฐะผ ั‚ะพั‡ะฝะพ ะฝะต ะฝัƒะถะตะฝ
_PORTB_ (_CRH) &= ~(CNF15_0 | CNF14_0 | CNF13_0 | CNF12_0);

//ะฐะปัŒั‚ะตั€ะฝะฐั‚ะธะฒะฝั‹ะต ั„ัƒะฝะบั†ะธะธ ะดะปั MOSI ะธ SCK
_PORTB_ (_CRH) |= CNF15_1 | CNF13_1;

//50 ะœะ“ั†, MODE = 11
_PORTB_ (_CRH) |= MODE15_1 | MODE15_0 | MODE14_1 | MODE14_0 | MODE13_1 | MODE13_0;

แƒ“แƒ, แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒกแƒแƒ“, แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ“แƒแƒฌแƒ”แƒ แƒแƒ— แƒ’แƒแƒœแƒ›แƒแƒ แƒขแƒ”แƒ‘แƒ”แƒ‘แƒ˜ LAT-แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒ’แƒแƒ“แƒแƒ˜แƒญแƒ แƒ”แƒ‘แƒ BRR แƒ“แƒ BSRR แƒ แƒ”แƒ’แƒ˜แƒกแƒขแƒ แƒ”แƒ‘แƒ˜แƒ—:

/*** LAT pulse โ€“ high, then low */
#define LAT_pulse() _PORTB_(_BSRR) = (1<<14); _PORTB_(_BRR) = (1<<14)

#define LAT_low() _PORTB_(_BRR) = (1<<14)

(LAT_low แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ˜แƒœแƒ”แƒ แƒชแƒ˜แƒ˜แƒ—, แƒงแƒแƒ•แƒ”แƒšแƒ—แƒ•แƒ˜แƒก แƒแƒกแƒ” แƒ˜แƒงแƒ, แƒ“แƒแƒ แƒฉแƒ”แƒก)

แƒแƒฎแƒšแƒ แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒ›แƒจแƒ•แƒ”แƒœแƒ˜แƒ•แƒ แƒแƒ“แƒแƒ, แƒ›แƒแƒ’แƒ แƒแƒ› แƒแƒ  แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก. แƒ แƒแƒ“แƒ’แƒแƒœ แƒ”แƒก แƒแƒ แƒ˜แƒก STM32, แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒ–แƒแƒ’แƒแƒ•แƒ”แƒœ แƒ”แƒšแƒ”แƒฅแƒขแƒ แƒแƒ”แƒœแƒ”แƒ แƒ’แƒ˜แƒแƒก, แƒ แƒแƒช แƒœแƒ˜แƒจแƒœแƒแƒ•แƒก, แƒ แƒแƒ› แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒฉแƒแƒ แƒ—แƒแƒ— แƒกแƒแƒญแƒ˜แƒ แƒ แƒžแƒ”แƒ แƒ˜แƒคแƒ”แƒ แƒ˜แƒฃแƒšแƒ˜ แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒ™แƒ•แƒ แƒ.

แƒฉแƒแƒ แƒ—แƒ”แƒ— แƒ“แƒแƒ—แƒฅแƒ›แƒ

แƒกแƒแƒแƒ—แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒกแƒ”แƒ•แƒ” แƒชแƒœแƒแƒ‘แƒ˜แƒšแƒ˜แƒ แƒ แƒแƒ’แƒแƒ แƒช แƒกแƒแƒแƒ—แƒ˜, แƒžแƒแƒกแƒฃแƒฎแƒ˜แƒกแƒ›แƒ’แƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒกแƒแƒแƒ—แƒ–แƒ”. แƒ“แƒ แƒฉแƒ•แƒ”แƒœ แƒฃแƒ™แƒ•แƒ” แƒจแƒ”แƒ•แƒแƒ›แƒฉแƒœแƒ˜แƒ”แƒ— แƒแƒ‘แƒ แƒ”แƒ•แƒ˜แƒแƒขแƒฃแƒ แƒ RCC. แƒฉแƒ•แƒ”แƒœ แƒ•แƒ”แƒซแƒ”แƒ‘แƒ— แƒ›แƒแƒก แƒ“แƒแƒ™แƒฃแƒ›แƒ”แƒœแƒขแƒแƒชแƒ˜แƒแƒจแƒ˜: แƒ”แƒก แƒแƒ แƒ˜แƒก แƒ’แƒแƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ แƒ“แƒ แƒกแƒแƒแƒ—แƒ˜แƒก แƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ˜.

แƒ แƒแƒ’แƒแƒ แƒช แƒ–แƒ”แƒ›แƒแƒ— แƒ˜แƒ—แƒฅแƒ•แƒ, แƒกแƒแƒ‘แƒ”แƒ“แƒœแƒ˜แƒ”แƒ แƒแƒ“, แƒฅแƒ แƒแƒœแƒ˜แƒ™แƒ˜แƒก แƒ—แƒ”แƒ›แƒ˜แƒก แƒฃแƒ แƒ—แƒฃแƒšแƒ”แƒกแƒ˜ แƒœแƒแƒฌแƒ˜แƒšแƒ˜ แƒ’แƒแƒ’แƒ•แƒ˜แƒ™แƒ”แƒ—แƒ”แƒก STM-แƒ˜แƒก แƒแƒ“แƒแƒ›แƒ˜แƒแƒœแƒ”แƒ‘แƒ›แƒ, แƒ แƒ˜แƒกแƒ—แƒ•แƒ˜แƒกแƒแƒช แƒ›แƒแƒ— แƒ“แƒ˜แƒ“ แƒ›แƒแƒ“แƒšแƒแƒ‘แƒแƒก แƒ•แƒฃแƒฎแƒ“แƒ˜แƒ— (แƒ™แƒ˜แƒ“แƒ”แƒ• แƒ”แƒ แƒ—แƒฎแƒ”แƒš แƒ›แƒ˜แƒ•แƒชแƒ”แƒ› แƒšแƒ˜แƒœแƒ™แƒก แƒ“แƒ˜ แƒฐแƒแƒšแƒขแƒ˜แƒก แƒ•แƒ”แƒ‘แƒกแƒแƒ˜แƒขแƒ–แƒ”, แƒ˜แƒ›แƒ˜แƒก แƒ’แƒแƒกแƒแƒ’แƒ”แƒ‘แƒแƒ“, แƒ—แƒฃ แƒ แƒแƒ›แƒ“แƒ”แƒœแƒแƒ“ แƒ“แƒแƒ›แƒแƒ‘แƒœแƒ”แƒ•แƒ”แƒšแƒ˜แƒ). แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ แƒ”แƒ’แƒ˜แƒกแƒขแƒ แƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒžแƒแƒกแƒฃแƒฎแƒ˜แƒกแƒ›แƒ’แƒ”แƒ‘แƒ”แƒšแƒœแƒ˜ แƒแƒ แƒ˜แƒแƒœ แƒžแƒ”แƒ แƒ˜แƒคแƒ”แƒ แƒ˜แƒฃแƒšแƒ˜ แƒ“แƒแƒ™แƒ•แƒ แƒ˜แƒก แƒฉแƒแƒ แƒ—แƒ•แƒแƒ–แƒ” (Peripheral Clock Enable Registers). แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜, แƒ›แƒแƒ“แƒ˜แƒ— แƒ•แƒ˜แƒžแƒแƒ•แƒแƒ— RCC-แƒ˜แƒก แƒกแƒแƒ‘แƒแƒ–แƒ˜แƒกแƒ แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ˜, แƒ˜แƒก แƒแƒ แƒ˜แƒก "แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ แƒฃแƒฅแƒ˜แƒก" แƒ“แƒแƒกแƒแƒฌแƒงแƒ˜แƒกแƒจแƒ˜:

แƒฌแƒแƒ˜แƒ™แƒ˜แƒ—แƒฎแƒ”แƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜ 2: SPI STM32-แƒ–แƒ”; PWM, แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒ”แƒ‘แƒ˜ STM8-แƒ–แƒ”

#define _RCC_(mem_offset) (*(volatile uint32_t *)(0x40021000 + (mem_offset)))

แƒ“แƒ แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒแƒœ แƒ“แƒแƒแƒฌแƒ™แƒแƒžแƒฃแƒœแƒ”แƒ— แƒ‘แƒ›แƒฃแƒšแƒ–แƒ”, แƒกแƒแƒ“แƒแƒช แƒชแƒ“แƒ˜แƒšแƒแƒ‘แƒ— แƒ แƒแƒ˜แƒ›แƒ”แƒก แƒžแƒแƒ•แƒœแƒแƒก แƒคแƒ˜แƒ แƒคแƒ˜แƒขแƒแƒจแƒ˜, แƒแƒœ, แƒ‘แƒ”แƒ•แƒ แƒแƒ“ แƒฃแƒ™แƒ”แƒ—แƒ”แƒกแƒ˜, แƒ’แƒแƒ“แƒแƒฎแƒ”แƒ“แƒ”แƒ— แƒ’แƒแƒ›แƒแƒซแƒšแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ”แƒšแƒ˜ แƒ แƒ”แƒ’แƒ˜แƒกแƒขแƒ แƒ”แƒ‘แƒ˜แƒก แƒแƒฆแƒฌแƒ”แƒ แƒ˜แƒšแƒแƒ‘แƒ”แƒ‘แƒก แƒ’แƒแƒœแƒงแƒแƒคแƒ˜แƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒ“แƒแƒœ. แƒ แƒ”แƒ’แƒ˜แƒกแƒขแƒ แƒ”แƒ‘แƒ˜แƒก แƒฉแƒแƒ แƒ—แƒ•แƒ. แƒกแƒแƒ“ แƒ•แƒ˜แƒžแƒแƒ•แƒ˜แƒ— RCC_APB1ENR แƒ“แƒ RCC_APB2ENR:

แƒฌแƒแƒ˜แƒ™แƒ˜แƒ—แƒฎแƒ”แƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜ 2: SPI STM32-แƒ–แƒ”; PWM, แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒ”แƒ‘แƒ˜ STM8-แƒ–แƒ”
แƒฌแƒแƒ˜แƒ™แƒ˜แƒ—แƒฎแƒ”แƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜ 2: SPI STM32-แƒ–แƒ”; PWM, แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒ”แƒ‘แƒ˜ STM8-แƒ–แƒ”

แƒ“แƒ แƒ˜แƒกแƒ˜แƒœแƒ˜, แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒกแƒแƒ“, แƒจแƒ”แƒ˜แƒชแƒแƒ•แƒก แƒ‘แƒ˜แƒขแƒ”แƒ‘แƒก, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒ›แƒแƒ˜แƒชแƒแƒ•แƒก SPI2, IOPB (I/O แƒžแƒแƒ แƒขแƒ˜ B) แƒ“แƒ แƒแƒšแƒขแƒ”แƒ แƒœแƒแƒขแƒ˜แƒฃแƒš แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒก (AFIO).

#define _APB2ENR 0x18
#define _APB1ENR 0x1C

#define IOPBEN 0x0008
#define SPI2EN 0x4000
#define AFIOEN 0x0001

//ะฒะบะปัŽั‡ะฐะตะผ ั‚ะฐะบั‚ะธั€ะพะฒะฐะฝะธะต ะฟะพั€ั‚ะฐ B ะธ ะฐะปัŒั‚. ั„ัƒะฝะบั†ะธะน
_RCC_(_APB2ENR) |= IOPBEN | AFIOEN;

//ะฒะบะปัŽั‡ะฐะตะผ  ั‚ะฐะบั‚ะธั€ะพะฒะฐะฝะธะต SPI2
_RCC_(_APB1ENR) |= SPI2EN;

แƒกแƒแƒ‘แƒแƒšแƒแƒ แƒ™แƒแƒ“แƒ˜ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ˜แƒฎแƒ˜แƒšแƒแƒ— แƒแƒฅ.

แƒ—แƒฃ แƒ—แƒฅแƒ•แƒ”แƒœ แƒ’แƒแƒฅแƒ•แƒ— แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒ แƒ“แƒ แƒกแƒฃแƒ แƒ•แƒ˜แƒšแƒ˜, แƒ›แƒแƒจแƒ˜แƒœ แƒจแƒ”แƒแƒ”แƒ แƒ—แƒ”แƒ— DM634 แƒแƒกแƒ”: DAI PB15-แƒ–แƒ”, DCK-แƒ–แƒ” PB13-แƒ–แƒ”, LAT-แƒ–แƒ” PB14-แƒ–แƒ”. แƒ“แƒ แƒแƒ˜แƒ•แƒ”แƒ แƒก แƒ•แƒแƒซแƒšแƒ”แƒ•แƒ— 5 แƒ•แƒแƒšแƒขแƒ˜แƒ“แƒแƒœ, แƒแƒ  แƒ“แƒแƒ’แƒแƒ•แƒ˜แƒฌแƒงแƒ“แƒ”แƒ— แƒกแƒแƒคแƒฃแƒซแƒ•แƒšแƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒ.

แƒฌแƒแƒ˜แƒ™แƒ˜แƒ—แƒฎแƒ”แƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜ 2: SPI STM32-แƒ–แƒ”; PWM, แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒ”แƒ‘แƒ˜ STM8-แƒ–แƒ”

STM8 PWM

PWM STM8-แƒ–แƒ”

แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒแƒฎแƒšแƒแƒฎแƒแƒœ แƒ•แƒ’แƒ”แƒ’แƒ›แƒแƒ•แƒ“แƒ˜ แƒแƒ› แƒกแƒขแƒแƒขแƒ˜แƒแƒก, แƒ’แƒแƒ“แƒแƒ•แƒฌแƒงแƒ•แƒ˜แƒขแƒ”, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒจแƒ”แƒ›แƒ”แƒกแƒฌแƒแƒ•แƒšแƒ แƒฃแƒชแƒœแƒแƒ‘แƒ˜ แƒฉแƒ˜แƒžแƒ˜แƒก แƒ’แƒแƒ แƒ™แƒ•แƒ”แƒฃแƒšแƒ˜ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒแƒœแƒ˜แƒ แƒ”แƒ‘แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒคแƒฃแƒ แƒชแƒšแƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—, แƒ แƒแƒ—แƒ แƒแƒ  แƒ“แƒแƒ›แƒ”แƒ›แƒ—แƒแƒ•แƒ แƒ”แƒ‘แƒ˜แƒœแƒ แƒคแƒ”แƒฎแƒกแƒแƒชแƒ›แƒšแƒ˜แƒก แƒ›แƒฌแƒแƒ แƒ›แƒแƒ”แƒ‘แƒ”แƒšแƒ˜ แƒฉแƒ”แƒฅแƒ›แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”. STM8 แƒ˜แƒ“แƒ”แƒแƒšแƒฃแƒ แƒ˜ แƒ˜แƒงแƒ แƒแƒ› แƒ แƒแƒšแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก: แƒฏแƒ”แƒ  แƒ”แƒ แƒ—แƒ˜, แƒ›แƒ” แƒ›แƒฅแƒแƒœแƒ“แƒ แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒฉแƒ˜แƒœแƒฃแƒ แƒ˜ แƒ“แƒแƒคแƒ STM8S103-แƒ˜แƒ— แƒ“แƒ แƒ›แƒ”แƒแƒ แƒ”แƒช, แƒ˜แƒก แƒแƒ แƒช แƒ—แƒฃ แƒ˜แƒกแƒ” แƒžแƒแƒžแƒฃแƒšแƒแƒ แƒฃแƒšแƒ˜แƒ แƒ“แƒ, แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒกแƒแƒ“, แƒ˜แƒœแƒขแƒ”แƒ แƒœแƒ”แƒขแƒจแƒ˜ แƒฌแƒแƒ™แƒ˜แƒ—แƒฎแƒ•แƒ˜แƒกแƒ แƒ“แƒ แƒ’แƒแƒ›แƒแƒกแƒแƒ•แƒšแƒ˜แƒก แƒžแƒแƒ•แƒœแƒ˜แƒก แƒชแƒ“แƒฃแƒœแƒ”แƒ‘แƒ แƒกแƒฌแƒแƒ แƒ”แƒ“ แƒแƒ› แƒ’แƒแƒ“แƒแƒฌแƒงแƒ•แƒ”แƒขแƒ˜แƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒœแƒแƒ™แƒšแƒ”แƒ‘แƒแƒ‘แƒแƒก แƒ”แƒงแƒ แƒ“แƒœแƒแƒ‘แƒ.

แƒฉแƒ˜แƒžแƒกแƒแƒช แƒแƒฅแƒ•แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒคแƒฃแƒ แƒชแƒ”แƒšแƒ˜ ะธ แƒกแƒแƒชแƒœแƒแƒ‘แƒแƒ แƒ แƒกแƒแƒฎแƒ”แƒšแƒ›แƒซแƒฆแƒ•แƒแƒœแƒ”แƒšแƒ RM0016, แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒจแƒ˜ แƒแƒ แƒ˜แƒก pinout แƒ“แƒ แƒ แƒ”แƒ’แƒ˜แƒกแƒขแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ”แƒ‘แƒ˜, แƒ›แƒ”แƒแƒ แƒ”แƒจแƒ˜ - แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒ“แƒแƒœแƒแƒ แƒฉแƒ”แƒœแƒ˜. STM8 แƒ“แƒแƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ C-แƒ–แƒ” แƒกแƒแƒจแƒ˜แƒœแƒ”แƒš IDE-แƒจแƒ˜ ST Visual Develop.

Clocking แƒ“แƒ I/O

แƒœแƒแƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ•แƒแƒ“, STM8 แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก 2 MHz แƒกแƒ˜แƒฎแƒจแƒ˜แƒ แƒ”แƒ–แƒ”, แƒ”แƒก แƒ“แƒแƒฃแƒงแƒแƒ•แƒœแƒ”แƒ‘แƒšแƒ˜แƒ• แƒฃแƒœแƒ“แƒ แƒ’แƒแƒ›แƒแƒกแƒฌแƒแƒ แƒ“แƒ”แƒก.

แƒฌแƒแƒ˜แƒ™แƒ˜แƒ—แƒฎแƒ”แƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜ 2: SPI STM32-แƒ–แƒ”; PWM, แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒ”แƒ‘แƒ˜ STM8-แƒ–แƒ”
HSI (แƒ›แƒแƒฆแƒแƒšแƒ˜ แƒกแƒ˜แƒฉแƒฅแƒแƒ แƒ˜แƒก แƒจแƒ˜แƒ“แƒ) แƒกแƒแƒแƒ—แƒ˜
HSI แƒกแƒแƒแƒ—แƒ˜แƒก แƒกแƒ˜แƒ’แƒœแƒแƒšแƒ˜ แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒจแƒ˜แƒ“แƒ 16 MHz RC แƒแƒกแƒชแƒ˜แƒšแƒแƒขแƒแƒ แƒ˜แƒ“แƒแƒœ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒแƒ“แƒ˜ แƒ’แƒแƒ›แƒงแƒแƒคแƒ˜แƒ— (1-แƒ“แƒแƒœ 8-แƒ›แƒ“แƒ”). แƒ˜แƒก แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒกแƒแƒแƒ—แƒ˜แƒก แƒ’แƒแƒ›แƒงแƒแƒค แƒ แƒ”แƒ”แƒกแƒขแƒ แƒจแƒ˜ (CLK_CKDIVR).
แƒจแƒ”แƒœแƒ˜แƒจแƒ•แƒœแƒ: แƒ“แƒแƒกแƒแƒฌแƒงแƒ˜แƒกแƒจแƒ˜, HSI RC แƒแƒกแƒชแƒ˜แƒšแƒแƒขแƒแƒ แƒ˜ 8-แƒ˜แƒก แƒ’แƒแƒ›แƒงแƒแƒคแƒ˜แƒ— แƒแƒ แƒฉแƒ”แƒฃแƒšแƒ˜แƒ แƒกแƒแƒแƒ—แƒ˜แƒก แƒกแƒ˜แƒ’แƒœแƒแƒšแƒ˜แƒก แƒฌแƒแƒ›แƒงแƒ•แƒแƒœ แƒฌแƒงแƒแƒ แƒแƒ“.

แƒฉแƒ•แƒ”แƒœ แƒ•แƒžแƒแƒฃแƒšแƒแƒ‘แƒ— แƒ แƒ”แƒ”แƒกแƒขแƒ แƒ˜แƒก แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒคแƒฃแƒ แƒชแƒ”แƒšแƒจแƒ˜, แƒแƒฆแƒฌแƒ”แƒ แƒแƒก refman-แƒจแƒ˜ แƒ“แƒ แƒ•แƒฎแƒ”แƒ“แƒแƒ•แƒ—, แƒ แƒแƒ› แƒ แƒ”แƒ”แƒกแƒขแƒ แƒ˜ แƒฃแƒœแƒ“แƒ แƒ’แƒแƒกแƒฃแƒคแƒ—แƒแƒ•แƒ“แƒ”แƒก:

#define CLK_CKDIVR *(volatile uint8_t *)0x0050C6

CLK_CKDIVR &= ~(0x18);

แƒ˜แƒ›แƒ˜แƒก แƒ’แƒแƒ›แƒ, แƒ แƒแƒ› แƒฉแƒ•แƒ”แƒœ แƒ•แƒแƒžแƒ˜แƒ แƒ”แƒ‘แƒ— PWM-แƒก แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒแƒก แƒ“แƒ LED-แƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒแƒก, แƒ›แƒแƒ“แƒ˜แƒ— แƒ’แƒแƒ“แƒแƒ•แƒฎแƒ”แƒ“แƒแƒ— แƒžแƒ˜แƒœแƒฃแƒขแƒก:

แƒฌแƒแƒ˜แƒ™แƒ˜แƒ—แƒฎแƒ”แƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜ 2: SPI STM32-แƒ–แƒ”; PWM, แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒ”แƒ‘แƒ˜ STM8-แƒ–แƒ”

แƒฉแƒ˜แƒžแƒ˜ แƒแƒ แƒ˜แƒก แƒžแƒแƒขแƒแƒ แƒ, แƒ‘แƒ”แƒ•แƒ แƒ˜ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ แƒจแƒ”แƒฉแƒ”แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ˜แƒ›แƒแƒ•แƒ” แƒฅแƒ˜แƒœแƒซแƒ˜แƒกแƒ—แƒแƒ•แƒ”แƒ‘แƒ–แƒ”. แƒ˜แƒก, แƒ แƒแƒช แƒ™แƒ•แƒแƒ“แƒ แƒแƒขแƒฃแƒš แƒคแƒ แƒฉแƒฎแƒ˜แƒšแƒ”แƒ‘แƒจแƒ˜แƒ, แƒแƒ แƒ˜แƒก โ€žแƒแƒšแƒขแƒ”แƒ แƒœแƒแƒขแƒ˜แƒฃแƒšแƒ˜ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒแƒœแƒ˜แƒ แƒ”แƒ‘แƒโ€œ, แƒ˜แƒก แƒ’แƒแƒ“แƒแƒ แƒ—แƒฃแƒšแƒ˜แƒ โ€žแƒแƒคแƒชแƒ˜แƒแƒœ แƒ‘แƒแƒ˜แƒขแƒ˜แƒ—โ€œ (แƒ•แƒแƒ แƒ˜แƒแƒœแƒขแƒ˜แƒก แƒ‘แƒแƒ˜แƒขแƒ”แƒ‘แƒ˜) โ€“ แƒ แƒแƒฆแƒแƒช แƒแƒขแƒ›แƒ”แƒ’แƒแƒก แƒ“แƒแƒฃแƒ™แƒ แƒแƒ•แƒ”แƒœ. แƒ—แƒฅแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒจแƒ”แƒชแƒ•แƒแƒšแƒแƒ— แƒ›แƒแƒ—แƒ˜ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ”แƒ‘แƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒฃแƒšแƒแƒ“, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ”แƒก แƒแƒ  แƒแƒ แƒ˜แƒก แƒแƒฃแƒชแƒ˜แƒšแƒ”แƒ‘แƒ”แƒšแƒ˜, แƒ แƒแƒ“แƒ’แƒแƒœ แƒแƒฎแƒแƒšแƒ˜ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ แƒ’แƒแƒแƒฅแƒขแƒ˜แƒฃแƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ’แƒแƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’. แƒฃแƒคแƒ แƒ แƒแƒ“แƒ•แƒ˜แƒšแƒ˜แƒ ST Visual Programmer-แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ (แƒฉแƒแƒ›แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒฃแƒšแƒ˜แƒ Visual Develop-แƒ˜แƒ—), แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ แƒจแƒ”แƒชแƒ•แƒแƒšแƒแƒก แƒ”แƒก แƒ‘แƒแƒ˜แƒขแƒ”แƒ‘แƒ˜. แƒžแƒ˜แƒœแƒแƒขแƒ˜ แƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒก, แƒ แƒแƒ› แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒ˜แƒก CH1 แƒ“แƒ CH2 แƒฅแƒ˜แƒœแƒซแƒ˜แƒกแƒ—แƒแƒ•แƒ”แƒ‘แƒ˜ แƒ“แƒแƒ›แƒแƒšแƒฃแƒšแƒ˜แƒ แƒ™แƒ•แƒแƒ“แƒ แƒแƒขแƒฃแƒš แƒคแƒ แƒฉแƒฎแƒ˜แƒšแƒ”แƒ‘แƒจแƒ˜; แƒแƒฃแƒชแƒ˜แƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ AFR1 แƒ“แƒ AFR0 แƒ‘แƒ˜แƒขแƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ STVP-แƒจแƒ˜, แƒฎแƒแƒšแƒ แƒ›แƒ”แƒแƒ แƒ” แƒแƒกแƒ”แƒ•แƒ” แƒ’แƒแƒ“แƒแƒกแƒชแƒ”แƒ›แƒก แƒ›แƒ”แƒแƒ แƒ” แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒ˜แƒก CH1 แƒ’แƒแƒ›แƒแƒ›แƒแƒ•แƒแƒšแƒก PD4-แƒ“แƒแƒœ PC5-แƒ–แƒ”.

แƒแƒ›แƒ แƒ˜แƒ’แƒแƒ“, 6 แƒฅแƒ˜แƒœแƒซแƒ˜แƒกแƒ—แƒแƒ•แƒ˜ แƒ’แƒแƒแƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ”แƒ‘แƒก LED-แƒ”แƒ‘แƒก: PC6, PC7 แƒ“แƒ PC3 แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒ˜, PC5, PD3 แƒ“แƒ PA3 แƒ›แƒ”แƒแƒ แƒ”แƒจแƒ˜.

I/O แƒžแƒ˜แƒœแƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ STM8-แƒ–แƒ” แƒฃแƒคแƒ แƒ แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜ แƒ“แƒ แƒšแƒแƒ’แƒ˜แƒ™แƒฃแƒ แƒ˜แƒ, แƒ•แƒ˜แƒ“แƒ แƒ” STM32-แƒ–แƒ”:

  • แƒœแƒแƒชแƒœแƒแƒ‘แƒ˜ Atmega DDR แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ›แƒ˜แƒ›แƒแƒ แƒ—แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ แƒ”แƒ”แƒกแƒขแƒ แƒ˜แƒ“แƒแƒœ (แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ›แƒ˜แƒ›แƒแƒ แƒ—แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ แƒ”แƒ’แƒ˜แƒกแƒขแƒ แƒแƒชแƒ˜แƒ): 1 = แƒ’แƒแƒ›แƒแƒ›แƒแƒ•แƒแƒšแƒ˜;
  • แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒกแƒแƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ แƒ แƒ”แƒ’แƒ˜แƒกแƒขแƒ แƒ˜ CR1, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒ’แƒแƒ›แƒแƒ“แƒ˜แƒก, แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒก แƒ‘แƒ˜แƒซแƒ’-แƒ’แƒแƒงแƒ•แƒแƒœแƒ˜แƒก แƒ แƒ”แƒŸแƒ˜แƒ›แƒก (1) แƒแƒœ แƒฆแƒ˜แƒ แƒ’แƒแƒ“แƒ˜แƒœแƒ”แƒ‘แƒแƒก (0); แƒ แƒแƒ“แƒ’แƒแƒœ LED-แƒ”แƒ‘แƒก แƒฉแƒ˜แƒžแƒก แƒ™แƒแƒ—แƒแƒ“แƒ”แƒ‘แƒ˜แƒ— แƒ•แƒฃแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘, แƒแƒฅ แƒœแƒฃแƒšแƒ”แƒ‘แƒก แƒ•แƒขแƒแƒ•แƒ”แƒ‘;
  • แƒ›แƒ”แƒแƒ แƒ” แƒกแƒแƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ แƒ แƒ”แƒ’แƒ˜แƒกแƒขแƒ แƒ˜ CR2, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒ’แƒแƒ›แƒแƒ“แƒ˜แƒก, แƒแƒ“แƒ’แƒ”แƒœแƒก แƒกแƒแƒแƒ—แƒ˜แƒก แƒกแƒ˜แƒฉแƒฅแƒแƒ แƒ”แƒก: 1 = 10 MHz

#define PA_DDR     *(volatile uint8_t *)0x005002
#define PA_CR2     *(volatile uint8_t *)0x005004
#define PD_DDR     *(volatile uint8_t *)0x005011
#define PD_CR2     *(volatile uint8_t *)0x005013
#define PC_DDR     *(volatile uint8_t *)0x00500C
#define PC_CR2     *(volatile uint8_t *)0x00500E

PA_DDR = (1<<3); //output
PA_CR2 |= (1<<3); //fast
PD_DDR = (1<<3); //output
PD_CR2 |= (1<<3); //fast
PC_DDR = ((1<<3) | (1<<5) | (1<<6) | (1<<7)); //output
PC_CR2 |= ((1<<3) | (1<<5) | (1<<6) | (1<<7)); //fast

PWM แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ˜

แƒžแƒ˜แƒ แƒ•แƒ”แƒš แƒ แƒ˜แƒ’แƒจแƒ˜, แƒ›แƒแƒ“แƒ˜แƒ— แƒ’แƒแƒœแƒ•แƒกแƒแƒ–แƒฆแƒ•แƒ แƒแƒ— แƒขแƒ”แƒ แƒ›แƒ˜แƒœแƒ”แƒ‘แƒ˜:

  • PWM แƒกแƒ˜แƒฎแƒจแƒ˜แƒ แƒ” - แƒกแƒ˜แƒฎแƒจแƒ˜แƒ แƒ”, แƒ แƒแƒ›แƒšแƒ˜แƒ—แƒแƒช แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒ˜ แƒ˜แƒ™แƒšแƒ”แƒ‘แƒก;
  • แƒแƒ•แƒขแƒแƒ›แƒแƒขแƒฃแƒ แƒ˜ แƒ’แƒแƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ, AR โ€“ แƒแƒ•แƒขแƒแƒ›แƒแƒขแƒฃแƒ แƒ˜ แƒฉแƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒแƒ“แƒ˜ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ–แƒ”แƒ“แƒแƒช แƒ“แƒแƒ˜แƒ—แƒ•แƒšแƒ”แƒ‘แƒ แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒ˜ (แƒžแƒฃแƒšแƒกแƒ˜แƒก แƒžแƒ”แƒ แƒ˜แƒแƒ“แƒ˜);
  • แƒฆแƒแƒœแƒ˜แƒกแƒซแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒ, UEV โ€“ แƒ›แƒแƒ•แƒšแƒ”แƒœแƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒฎแƒ“แƒ”แƒ‘แƒ, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒ˜ แƒ“แƒแƒ—แƒ•แƒšแƒ˜แƒก AR-แƒ›แƒ“แƒ”;
  • PWM แƒกแƒแƒ›แƒฃแƒจแƒแƒ แƒชแƒ˜แƒ™แƒšแƒ˜ - PWM แƒกแƒแƒ›แƒฃแƒจแƒแƒ แƒชแƒ˜แƒ™แƒšแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช แƒฎแƒจแƒ˜แƒ แƒแƒ“ แƒฃแƒฌแƒแƒ“แƒ”แƒ‘แƒ”แƒœ "แƒ›แƒแƒ แƒ˜แƒ’แƒ” แƒคแƒแƒฅแƒขแƒแƒ แƒก";
  • แƒฆแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒแƒฆแƒ”แƒ‘แƒ/แƒจแƒ”แƒ“แƒแƒ แƒ”แƒ‘แƒ โ€“ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ แƒแƒฆแƒ‘แƒ”แƒญแƒ“แƒ•แƒ˜แƒก/แƒจแƒ”แƒ“แƒแƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช แƒ˜แƒ—แƒ•แƒšแƒ˜แƒก แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒ˜ แƒ แƒแƒ›แƒ”แƒก แƒ’แƒแƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒก (PWM-แƒ˜แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜ แƒ˜แƒก แƒแƒ‘แƒ แƒฃแƒœแƒ”แƒ‘แƒก แƒ’แƒแƒ›แƒแƒ›แƒแƒ•แƒแƒš แƒกแƒ˜แƒ’แƒœแƒแƒšแƒก);
  • แƒฌแƒ˜แƒœแƒแƒกแƒฌแƒแƒ  แƒฉแƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ - แƒฌแƒ˜แƒœแƒแƒกแƒฌแƒแƒ  แƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒฃแƒšแƒ˜ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ. แƒจแƒ”แƒแƒ“แƒแƒ แƒ”แƒ— แƒฆแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ แƒ•แƒ”แƒ  แƒจแƒ”แƒ˜แƒชแƒ•แƒšแƒ”แƒ‘แƒ, แƒกแƒแƒœแƒแƒ› แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒ˜ แƒ˜แƒ™แƒ”แƒชแƒ”แƒ‘แƒ, แƒฌแƒ˜แƒœแƒแƒแƒฆแƒ›แƒ“แƒ”แƒ’ แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜ PWM แƒชแƒ˜แƒ™แƒšแƒ˜ แƒ˜แƒจแƒšแƒ”แƒ‘แƒ. แƒแƒ›แƒ˜แƒขแƒแƒ›, แƒแƒฎแƒแƒšแƒ˜ แƒ’แƒแƒ“แƒแƒชแƒ”แƒ›แƒฃแƒšแƒ˜ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ”แƒ‘แƒ˜ แƒ›แƒแƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ‘แƒฃแƒคแƒ”แƒ แƒจแƒ˜ แƒ“แƒ แƒแƒ›แƒแƒฆแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒ˜ แƒ›แƒ˜แƒแƒฆแƒฌแƒ”แƒ•แƒก แƒแƒ—แƒ•แƒšแƒ˜แƒก แƒ“แƒแƒกแƒแƒกแƒ แƒฃแƒšแƒก แƒ“แƒ แƒแƒฆแƒ“แƒ’แƒ”แƒ‘แƒ;
  • แƒ™แƒ˜แƒ“แƒ”แƒ–แƒ” แƒ’แƒแƒกแƒฌแƒแƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ ะธ แƒชแƒ”แƒœแƒขแƒ แƒจแƒ˜ แƒ’แƒแƒกแƒฌแƒแƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ แƒ”แƒŸแƒ˜แƒ›แƒ”แƒ‘แƒ˜ - แƒ’แƒแƒกแƒฌแƒแƒ แƒ”แƒ‘แƒ แƒกแƒแƒ–แƒฆแƒ•แƒ แƒ˜แƒก แƒ’แƒแƒกแƒฌแƒ•แƒ แƒ˜แƒ• แƒ“แƒ แƒชแƒ”แƒœแƒขแƒ แƒจแƒ˜, แƒ˜แƒ’แƒ˜แƒ•แƒ” แƒแƒขแƒ›แƒ”แƒšแƒ˜แƒก แƒกแƒฌแƒ แƒแƒคแƒ˜ PWM ะธ แƒคแƒแƒ–แƒ˜แƒก แƒกแƒฌแƒแƒ แƒ˜ PWM.
  • OCiREF, แƒ’แƒแƒ›แƒแƒ›แƒแƒ•แƒแƒšแƒ˜ แƒจแƒ”แƒ“แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒชแƒœแƒแƒ‘แƒแƒ แƒ แƒกแƒ˜แƒ’แƒœแƒแƒšแƒ˜ โ€“ แƒกแƒแƒชแƒœแƒแƒ‘แƒแƒ แƒ แƒ’แƒแƒ›แƒแƒ›แƒแƒ•แƒแƒšแƒ˜ แƒกแƒ˜แƒ’แƒœแƒแƒšแƒ˜, แƒคแƒแƒฅแƒขแƒแƒ‘แƒ แƒ˜แƒ•แƒแƒ“, แƒ˜แƒก, แƒ แƒแƒช แƒฉแƒœแƒ“แƒ”แƒ‘แƒ แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒก แƒžแƒ˜แƒœแƒ–แƒ” PWM แƒ แƒ”แƒŸแƒ˜แƒ›แƒจแƒ˜.

แƒ แƒแƒ’แƒแƒ แƒช แƒฃแƒ™แƒ•แƒ” แƒ˜แƒ แƒ™แƒ•แƒ”แƒ•แƒ แƒžแƒ˜แƒœแƒแƒขแƒ˜แƒ“แƒแƒœ, แƒแƒ  แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒก แƒแƒฅแƒ•แƒก PWM แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒ”แƒ‘แƒ˜ - แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒ“แƒ แƒ›แƒ”แƒแƒ แƒ”. แƒแƒ แƒ˜แƒ•แƒ” 16-แƒ‘แƒ˜แƒขแƒ˜แƒแƒœแƒ˜แƒ, แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒก แƒแƒฅแƒ•แƒก แƒ‘แƒ”แƒ•แƒ แƒ˜ แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ (แƒ™แƒ”แƒ แƒซแƒแƒ“, แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ แƒ“แƒแƒ—แƒ•แƒšแƒ แƒ–แƒ”แƒ•แƒ˜แƒ—แƒแƒช แƒ“แƒ แƒฅแƒ•แƒ”แƒ•แƒ˜แƒ—แƒแƒช). แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ แƒแƒ แƒ˜แƒ•แƒ” แƒ—แƒแƒœแƒแƒ‘แƒ แƒแƒ“ แƒ˜แƒ›แƒฃแƒจแƒแƒแƒก, แƒแƒ›แƒ˜แƒขแƒแƒ› แƒ’แƒแƒ“แƒแƒ•แƒฌแƒงแƒ•แƒ˜แƒขแƒ” แƒ“แƒแƒ•แƒ˜แƒฌแƒงแƒ แƒแƒจแƒ™แƒแƒ แƒแƒ“ แƒฆแƒแƒ แƒ˜แƒ‘แƒ˜ แƒ›แƒ”แƒแƒ แƒ”แƒ—แƒ˜, แƒ แƒแƒ—แƒ แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒ˜แƒ— แƒแƒ  แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒงแƒ”แƒœแƒ แƒ˜แƒก, แƒ แƒแƒช แƒแƒ  แƒแƒ แƒ˜แƒก. แƒ’แƒแƒ แƒ™แƒ•แƒ”แƒฃแƒšแƒ˜ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ แƒ˜แƒก แƒแƒ แƒ˜แƒก, แƒ แƒแƒ› แƒกแƒแƒชแƒœแƒแƒ‘แƒแƒ แƒ แƒกแƒแƒฎแƒ”แƒšแƒ›แƒซแƒฆแƒ•แƒแƒœแƒ”แƒšแƒแƒจแƒ˜ แƒงแƒ•แƒ”แƒšแƒ แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒ˜แƒก PWM แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒแƒœแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒแƒฆแƒฌแƒ”แƒ แƒ แƒ›แƒแƒชแƒ”แƒ›แƒฃแƒšแƒ˜แƒ แƒ—แƒแƒ•แƒจแƒ˜ แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘ (17.5.7 PWM แƒ แƒ”แƒŸแƒ˜แƒ›แƒ˜), แƒแƒกแƒ” แƒ แƒแƒ› แƒ—แƒฅแƒ•แƒ”แƒœ แƒ›แƒฃแƒ“แƒ›แƒ˜แƒ•แƒแƒ“ แƒฃแƒœแƒ“แƒ แƒ’แƒแƒ“แƒแƒฎแƒขแƒ”แƒ— แƒฌแƒ˜แƒœ แƒ“แƒ แƒฃแƒ™แƒแƒœ แƒ›แƒ—แƒ”แƒš แƒ“แƒแƒ™แƒฃแƒ›แƒ”แƒœแƒขแƒจแƒ˜.

PWM-แƒก STM8-แƒ–แƒ” แƒแƒฅแƒ•แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒแƒœแƒ˜ แƒฃแƒžแƒ˜แƒ แƒแƒขแƒ”แƒกแƒแƒ‘แƒ PWM-แƒ–แƒ” Atmega-แƒ–แƒ”:

แƒฌแƒแƒ˜แƒ™แƒ˜แƒ—แƒฎแƒ”แƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜ 2: SPI STM32-แƒ–แƒ”; PWM, แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒ”แƒ‘แƒ˜ STM8-แƒ–แƒ”
แƒกแƒแƒ–แƒฆแƒ•แƒ แƒ˜แƒก แƒ’แƒแƒกแƒฌแƒแƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ PWM
แƒแƒœแƒ’แƒแƒ แƒ˜แƒจแƒ˜แƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ แƒฅแƒ•แƒ”แƒ›แƒแƒ“แƒแƒœ แƒ–แƒ”แƒ›แƒแƒ“แƒแƒœ
แƒฅแƒ•แƒ”แƒ›แƒแƒ“แƒแƒœ แƒ–แƒ”แƒ›แƒแƒ— แƒ“แƒแƒ—แƒ•แƒšแƒ แƒแƒฅแƒขแƒ˜แƒฃแƒ แƒ˜แƒ, แƒ—แƒฃ TIM_CR1 แƒ แƒ”แƒ”แƒกแƒขแƒ แƒจแƒ˜ DIR แƒ‘แƒ˜แƒขแƒ˜ แƒ’แƒแƒกแƒฃแƒคแƒ—แƒแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ
แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ˜
แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ˜ แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒก แƒžแƒ˜แƒ แƒ•แƒ”แƒš PWM แƒ แƒ”แƒŸแƒ˜แƒ›แƒก. PWM แƒกแƒแƒชแƒœแƒแƒ‘แƒแƒ แƒ แƒกแƒ˜แƒ’แƒœแƒแƒšแƒ˜ OCiREF แƒ˜แƒœแƒแƒฎแƒ”แƒ‘แƒ แƒ›แƒแƒœแƒแƒ›, แƒกแƒแƒœแƒแƒ› TIM1_CNT < TIM1_CCRi. แƒฌแƒ˜แƒœแƒแƒแƒฆแƒ›แƒ“แƒ”แƒ’ แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜ แƒ“แƒแƒ‘แƒแƒš แƒ“แƒแƒœแƒ”แƒก แƒ˜แƒฆแƒ”แƒ‘แƒก. แƒ—แƒฃ แƒจแƒ”แƒ“แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ TIM1_CCRi แƒ แƒ”แƒ’แƒ˜แƒกแƒขแƒ แƒจแƒ˜ แƒ›แƒ”แƒขแƒ˜แƒ แƒแƒ•แƒขแƒแƒ›แƒแƒขแƒฃแƒ แƒ˜ แƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒแƒ–แƒ” (TIM1_ARR แƒ แƒ”แƒ’แƒ˜แƒกแƒขแƒ แƒ˜), OCiREF แƒกแƒ˜แƒ’แƒœแƒแƒšแƒ˜ แƒ˜แƒœแƒแƒฎแƒ”แƒ‘แƒ 1-แƒ–แƒ”. แƒ—แƒฃ แƒจแƒ”แƒ“แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ แƒแƒ แƒ˜แƒก 0, OCiREF แƒ˜แƒœแƒแƒฎแƒ”แƒ‘แƒ แƒœแƒฃแƒšแƒ–แƒ”....

STM8 แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒ˜ แƒ“แƒ แƒแƒก แƒฆแƒแƒœแƒ˜แƒกแƒซแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒ แƒฏแƒ”แƒ  แƒแƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒก แƒจแƒ”แƒแƒ“แƒแƒ แƒ”แƒ— แƒฆแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒแƒ“แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒแƒ›แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ’แƒแƒ›แƒแƒ˜แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒก แƒกแƒแƒชแƒœแƒแƒ‘แƒแƒ แƒ แƒกแƒ˜แƒ’แƒœแƒแƒšแƒก. แƒแƒขแƒ›แƒ”แƒ’แƒแƒก แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒ˜ แƒฏแƒ”แƒ  แƒฎแƒ แƒแƒฎแƒœแƒ˜แƒก แƒ“แƒ แƒ›แƒ”แƒ แƒ” แƒแƒ“แƒแƒ แƒ”แƒ‘แƒก, แƒ แƒ˜แƒก แƒจแƒ”แƒ“แƒ”แƒ’แƒแƒ“แƒแƒช compare value == 0 แƒ’แƒแƒ›แƒแƒ›แƒแƒ•แƒแƒšแƒ˜ แƒแƒ แƒ˜แƒก แƒœแƒ”แƒ›แƒกแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช แƒ แƒแƒ’แƒแƒ แƒ›แƒ” แƒฃแƒœแƒ“แƒ แƒ›แƒแƒ’แƒ•แƒแƒ แƒ“แƒ”แƒก (แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒšแƒแƒ’แƒ˜แƒ™แƒ˜แƒก แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒฃแƒšแƒแƒ“ แƒจแƒ”แƒ‘แƒ แƒฃแƒœแƒ”แƒ‘แƒ˜แƒ—).

แƒ แƒ˜แƒกแƒ˜ แƒ’แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒ แƒ’แƒ•แƒ˜แƒœแƒ“แƒ: 8-แƒ‘แƒ˜แƒขแƒ˜แƒแƒœแƒ˜ PWM (AR == 255), แƒ“แƒแƒ—แƒ•แƒšแƒ แƒฅแƒ•แƒ”แƒ›แƒแƒ“แƒแƒœ แƒ–แƒ”แƒ•แƒ˜แƒ—, แƒ’แƒแƒกแƒฌแƒแƒ แƒ”แƒ‘แƒ แƒกแƒแƒ–แƒฆแƒ•แƒ แƒ˜แƒก แƒ’แƒแƒกแƒฌแƒ•แƒ แƒ˜แƒ•. แƒ•แƒ˜แƒœแƒแƒ˜แƒ“แƒแƒœ แƒœแƒแƒ—แƒฃแƒ แƒ”แƒ‘แƒ˜ แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒฉแƒ˜แƒžแƒ—แƒแƒœ แƒ™แƒแƒ—แƒแƒ“แƒ”แƒ‘แƒ˜แƒ—, PWM แƒฃแƒœแƒ“แƒ แƒ’แƒแƒ›แƒแƒกแƒชแƒ”แƒก 0 (LED แƒฉแƒแƒ แƒ—แƒฃแƒšแƒ˜), แƒกแƒแƒœแƒแƒ› แƒจแƒ”แƒแƒ“แƒแƒ แƒ”แƒ— แƒฆแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ แƒ“แƒ 1 แƒจแƒ”แƒ›แƒ“แƒ”แƒ’.

แƒ–แƒแƒ’แƒ˜แƒ”แƒ แƒ—แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘ แƒฃแƒ™แƒ•แƒ” แƒฌแƒแƒ•แƒ˜แƒ™แƒ˜แƒ—แƒฎแƒ”แƒ— PWM แƒ แƒ”แƒŸแƒ˜แƒ›แƒ˜, แƒแƒกแƒ” แƒ แƒแƒ›, แƒฉแƒ•แƒ”แƒœ แƒ•แƒžแƒแƒฃแƒšแƒแƒ‘แƒ— แƒ›แƒ”แƒแƒ แƒ” แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒ˜แƒก แƒกแƒแƒญแƒ˜แƒ แƒ แƒ แƒ”แƒ”แƒกแƒขแƒ แƒก แƒแƒ› แƒคแƒ แƒแƒ–แƒ˜แƒก แƒกแƒแƒชแƒœแƒแƒ‘แƒแƒ แƒ แƒกแƒแƒฎแƒ”แƒšแƒ›แƒซแƒฆแƒ•แƒแƒœแƒ”แƒšแƒแƒจแƒ˜ แƒ›แƒแƒซแƒ˜แƒ”แƒ‘แƒ˜แƒ— (18.6.8 - TIMx_CCMR1):

แƒฌแƒแƒ˜แƒ™แƒ˜แƒ—แƒฎแƒ”แƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜ 2: SPI STM32-แƒ–แƒ”; PWM, แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒ”แƒ‘แƒ˜ STM8-แƒ–แƒ”
110: แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ PWM แƒ แƒ”แƒŸแƒ˜แƒ›แƒ˜ โ€“ แƒฅแƒ•แƒ”แƒ›แƒแƒ“แƒแƒœ แƒ–แƒ”แƒ•แƒ˜แƒ— แƒ“แƒแƒ—แƒ•แƒšแƒ˜แƒกแƒแƒก, แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒแƒ แƒฎแƒ˜ แƒแƒฅแƒขแƒ˜แƒฃแƒ แƒ˜แƒ, แƒฎแƒแƒšแƒ TIMx_CNT < TIMx_CCR1. แƒฌแƒ˜แƒœแƒแƒแƒฆแƒ›แƒ“แƒ”แƒ’ แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒแƒ แƒฎแƒ˜ แƒฃแƒ›แƒแƒฅแƒ›แƒ”แƒ“แƒแƒ. [แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ“แƒแƒ™แƒฃแƒ›แƒ”แƒœแƒขแƒจแƒ˜ แƒแƒ แƒ˜แƒก แƒ›แƒชแƒ“แƒแƒ แƒ˜ แƒ™แƒแƒžแƒ˜แƒ -แƒžแƒแƒกแƒขแƒ˜ แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒ˜ 1-แƒ“แƒแƒœ] 111: แƒ›แƒ”แƒแƒ แƒ” PWM แƒ แƒ”แƒŸแƒ˜แƒ›แƒ˜ โ€“ แƒฅแƒ•แƒ”แƒ›แƒแƒ“แƒแƒœ แƒ–แƒ”แƒ•แƒ˜แƒ— แƒ“แƒแƒ—แƒ•แƒšแƒ˜แƒกแƒแƒก แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒแƒ แƒฎแƒ˜ แƒฃแƒ›แƒแƒฅแƒ›แƒ”แƒ“แƒแƒ, แƒฎแƒแƒšแƒ TIMx_CNT < TIMx_CCR1. แƒฌแƒ˜แƒœแƒแƒแƒฆแƒ›แƒ“แƒ”แƒ’ แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒแƒ แƒฎแƒ˜ แƒแƒฅแƒขแƒ˜แƒฃแƒ แƒ˜แƒ.

แƒ•แƒ˜แƒœแƒแƒ˜แƒ“แƒแƒœ LED-แƒ”แƒ‘แƒ˜ MK-แƒก แƒ™แƒแƒ—แƒแƒ“แƒ”แƒ‘แƒ˜แƒ— แƒฃแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ, แƒ›แƒ”แƒแƒ แƒ” แƒ แƒ”แƒŸแƒ˜แƒ›แƒ˜ แƒ’แƒ•แƒ˜แƒฌแƒงแƒแƒ‘แƒก (แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜แƒช, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ”แƒก แƒฏแƒ”แƒ  แƒแƒ  แƒ•แƒ˜แƒชแƒ˜แƒ—).

แƒฌแƒแƒ˜แƒ™แƒ˜แƒ—แƒฎแƒ”แƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜ 2: SPI STM32-แƒ–แƒ”; PWM, แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒ”แƒ‘แƒ˜ STM8-แƒ–แƒ”
แƒ‘แƒ˜แƒขแƒ˜ 3 OC1PE: แƒฉแƒแƒ แƒ—แƒ”แƒ— แƒžแƒ˜แƒœแƒ˜ 1 แƒฌแƒ˜แƒœแƒแƒกแƒฌแƒแƒ  แƒฉแƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ
0: TIMx_CCR1-แƒ–แƒ” แƒฌแƒ˜แƒœแƒแƒกแƒฌแƒแƒ  แƒฉแƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒ แƒ”แƒ’แƒ˜แƒกแƒขแƒ แƒแƒชแƒ˜แƒ แƒ’แƒแƒ›แƒแƒ แƒ—แƒฃแƒšแƒ˜แƒ. แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ“แƒแƒฌแƒ”แƒ แƒแƒ— TIMx_CCR1 แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ  แƒ“แƒ แƒแƒก. แƒแƒฎแƒแƒšแƒ˜ แƒฆแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก แƒ“แƒแƒฃแƒงแƒแƒ•แƒœแƒ”แƒ‘แƒšแƒ˜แƒ•.
1: แƒฉแƒแƒ แƒ—แƒฃแƒšแƒ˜แƒ แƒฌแƒ˜แƒœแƒแƒกแƒฌแƒแƒ  แƒฉแƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒ แƒ”แƒ’แƒ˜แƒกแƒขแƒ แƒแƒชแƒ˜แƒ TIMx_CCR1-แƒ–แƒ”. แƒฌแƒแƒ™แƒ˜แƒ—แƒฎแƒ•แƒ˜แƒก/แƒฉแƒแƒฌแƒ”แƒ แƒ˜แƒก แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒฌแƒ•แƒ“แƒแƒ›แƒ แƒฌแƒ˜แƒœแƒแƒกแƒฌแƒแƒ  แƒฉแƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒ แƒ”แƒ”แƒกแƒขแƒ แƒจแƒ˜. แƒฌแƒ˜แƒœแƒแƒกแƒฌแƒแƒ  แƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒฃแƒšแƒ˜ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ TIMx_CCR1 แƒ˜แƒขแƒ•แƒ˜แƒ แƒ—แƒ”แƒ‘แƒ แƒฉแƒ แƒ“แƒ˜แƒšแƒ˜แƒก แƒ แƒ”แƒ”แƒกแƒขแƒ แƒจแƒ˜ แƒงแƒแƒ•แƒ”แƒšแƒ˜ แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒ•แƒšแƒ”แƒœแƒ˜แƒก แƒ“แƒ แƒแƒก.
*แƒจแƒ”แƒœแƒ˜แƒจแƒ•แƒœแƒ: แƒ˜แƒ›แƒ˜แƒกแƒแƒ—แƒ•แƒ˜แƒก, แƒ แƒแƒ› PWM แƒ แƒ”แƒŸแƒ˜แƒ›แƒ˜ แƒ’แƒแƒ›แƒแƒ แƒ—แƒฃแƒšแƒแƒ“ แƒ˜แƒ›แƒฃแƒจแƒแƒแƒก, แƒฌแƒ˜แƒœแƒแƒกแƒฌแƒแƒ  แƒฉแƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒ แƒ”แƒ’แƒ˜แƒกแƒขแƒ แƒ”แƒ‘แƒ˜ แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก แƒฉแƒแƒ แƒ—แƒฃแƒšแƒ˜. แƒ”แƒก แƒแƒ  แƒแƒ แƒ˜แƒก แƒแƒฃแƒชแƒ˜แƒšแƒ”แƒ‘แƒ”แƒšแƒ˜ แƒ”แƒ แƒ—แƒ˜ แƒกแƒ˜แƒ’แƒœแƒแƒšแƒ˜แƒก แƒ แƒ”แƒŸแƒ˜แƒ›แƒจแƒ˜ (OPM แƒ‘แƒ˜แƒขแƒ˜ แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ TIMx_CR1 แƒ แƒ”แƒ”แƒกแƒขแƒ แƒจแƒ˜).

แƒ™แƒแƒ แƒ’แƒ˜, แƒ›แƒแƒ“แƒ˜แƒ— แƒฉแƒแƒ•แƒ แƒ—แƒแƒ— แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜, แƒ แƒแƒช แƒ’แƒ•แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ แƒ›แƒ”แƒแƒ แƒ” แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒ˜แƒก แƒกแƒแƒ›แƒ˜ แƒแƒ แƒฎแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก:

#define TIM2_CCMR1 *(volatile uint8_t *)0x005307
#define TIM2_CCMR2 *(volatile uint8_t *)0x005308
#define TIM2_CCMR3 *(volatile uint8_t *)0x005309

#define PWM_MODE2   0x70 //PWM mode 2, 0b01110000
#define OCxPE       0x08 //preload enable

TIM2_CCMR1 = (PWM_MODE2 | OCxPE);
TIM2_CCMR2 = (PWM_MODE2 | OCxPE);
TIM2_CCMR3 = (PWM_MODE2 | OCxPE);

AR แƒจแƒ”แƒ“แƒ’แƒ”แƒ‘แƒ แƒแƒ แƒ˜ แƒ แƒ•แƒ แƒ‘แƒ˜แƒขแƒ˜แƒแƒœแƒ˜ แƒ แƒ”แƒ’แƒ˜แƒกแƒขแƒ แƒ˜แƒกแƒ’แƒแƒœ, แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜แƒ:

#define TIM2_ARRH  *(volatile uint8_t *)0x00530F
#define TIM2_ARRL  *(volatile uint8_t *)0x005310

TIM2_ARRH = 0;
TIM2_ARRL = 255;

แƒ›แƒ”แƒแƒ แƒ” แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒก แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒฅแƒ•แƒ”แƒ›แƒแƒ“แƒแƒœ แƒ–แƒ”แƒ›แƒแƒ“แƒแƒœ แƒ“แƒแƒ—แƒ•แƒšแƒ, แƒ’แƒแƒกแƒฌแƒแƒ แƒ”แƒ‘แƒ แƒกแƒแƒ–แƒฆแƒ•แƒ แƒ˜แƒก แƒ’แƒแƒกแƒฌแƒ•แƒ แƒ˜แƒ•, แƒแƒ แƒแƒคแƒ”แƒ แƒ˜ แƒฃแƒœแƒ“แƒ แƒจแƒ”แƒ˜แƒชแƒ•แƒแƒšแƒแƒก. แƒ›แƒแƒ“แƒ˜แƒ— แƒ“แƒแƒ•แƒแƒงแƒ”แƒœแƒแƒ— แƒกแƒ˜แƒฎแƒจแƒ˜แƒ แƒ˜แƒก แƒ’แƒแƒ›แƒงแƒแƒคแƒ˜, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, 256-แƒ–แƒ”. แƒ›แƒ”แƒแƒ แƒ” แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ’แƒแƒ›แƒงแƒแƒคแƒ˜ แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ TIM2_PSCR แƒ แƒ”แƒ”แƒกแƒขแƒ แƒจแƒ˜ แƒ“แƒ แƒแƒ แƒ˜แƒก แƒแƒ แƒ˜ แƒกแƒ˜แƒ›แƒซแƒšแƒแƒ•แƒ แƒ”:

#define TIM2_PSCR  *(volatile uint8_t *)0x00530E

TIM2_PSCR = 8;

แƒ แƒฉแƒ”แƒ‘แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ“แƒแƒกแƒ™แƒ•แƒœแƒ”แƒ‘แƒ˜แƒก แƒฉแƒแƒ แƒ—แƒ•แƒ แƒ“แƒ แƒ—แƒแƒ•แƒแƒ“ แƒ›แƒ”แƒแƒ แƒ” แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒ˜. แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ แƒ›แƒแƒ’แƒ•แƒแƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ แƒ”แƒ’แƒ˜แƒกแƒขแƒ แƒ”แƒ‘แƒ˜แƒ— แƒ’แƒแƒ“แƒแƒฆแƒ”แƒ‘แƒ/แƒจแƒ”แƒ“แƒแƒ แƒ”แƒ‘แƒ แƒฉแƒแƒ แƒ—แƒ•แƒ: แƒ›แƒแƒ—แƒ–แƒ” แƒแƒกแƒ˜แƒ›แƒ”แƒขแƒ แƒ˜แƒฃแƒšแƒแƒ“ แƒ›แƒ˜แƒ›แƒแƒคแƒแƒœแƒขแƒฃแƒšแƒ˜แƒ แƒแƒ แƒ˜, แƒกแƒแƒ›แƒ˜ แƒแƒ แƒฎแƒ˜. แƒแƒฅแƒ•แƒ” แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒ’แƒแƒ•แƒ˜แƒ’แƒแƒ—, แƒ แƒแƒ› แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒกแƒ˜แƒ’แƒœแƒแƒšแƒ˜แƒก แƒžแƒแƒšแƒแƒ แƒแƒ‘แƒ˜แƒก แƒจแƒ”แƒชแƒ•แƒšแƒ, แƒ”.แƒ˜. แƒžแƒ แƒ˜แƒœแƒชแƒ˜แƒžแƒจแƒ˜ แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜ แƒ˜แƒงแƒ PWM แƒ แƒ”แƒŸแƒ˜แƒ›แƒ˜ 1-แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ. แƒฉแƒ•แƒ”แƒœ แƒ•แƒฌแƒ”แƒ แƒ—:

#define TIM2_CCER1 *(volatile uint8_t *)0x00530A
#define TIM2_CCER2 *(volatile uint8_t *)0x00530B

#define CC1E  (1<<0) // CCER1
#define CC2E  (1<<4) // CCER1
#define CC3E  (1<<0) // CCER2

TIM2_CCER1 = (CC1E | CC2E);
TIM2_CCER2 = CC3E;

แƒ“แƒ แƒ‘แƒแƒšแƒแƒก, แƒฉแƒ•แƒ”แƒœ แƒ•แƒ˜แƒฌแƒงแƒ”แƒ‘แƒ— แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒก TIMx_CR1 แƒ แƒ”แƒ”แƒกแƒขแƒ แƒจแƒ˜:

แƒฌแƒแƒ˜แƒ™แƒ˜แƒ—แƒฎแƒ”แƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜ 2: SPI STM32-แƒ–แƒ”; PWM, แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒ”แƒ‘แƒ˜ STM8-แƒ–แƒ”

#define TIM2_CR1   *(volatile uint8_t *)0x005300

TIM2_CR1 |= 1;

แƒ›แƒแƒ“แƒ˜แƒ— แƒ“แƒแƒ•แƒฌแƒ”แƒ แƒแƒ— AnalogWrite(-แƒ˜แƒก แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜ แƒแƒœแƒแƒšแƒแƒ’แƒ˜), แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ’แƒแƒ“แƒแƒกแƒชแƒ”แƒ›แƒก แƒ แƒ”แƒแƒšแƒฃแƒ  แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ”แƒ‘แƒก แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒก แƒจแƒ”แƒ“แƒแƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒ แƒ”แƒ’แƒ˜แƒกแƒขแƒ แƒ”แƒ‘แƒ˜ แƒ“แƒแƒกแƒแƒฎแƒ”แƒšแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒžแƒ แƒแƒ’แƒœแƒแƒ–แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒแƒ“ แƒ แƒ”แƒ’แƒ˜แƒกแƒขแƒ แƒ”แƒ‘แƒ˜แƒก แƒแƒฆแƒ”แƒ‘แƒ/แƒจแƒ”แƒ“แƒแƒ แƒ”แƒ‘แƒแƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒแƒ แƒฎแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒแƒ แƒ˜แƒก แƒแƒ แƒ˜ แƒ›แƒแƒ—แƒ’แƒแƒœแƒ˜: แƒ“แƒแƒ‘แƒแƒšแƒ˜ แƒ แƒ˜แƒ’แƒ˜แƒก 8 แƒ‘แƒ˜แƒขแƒ˜ TIM2_CCRxL-แƒจแƒ˜ แƒ“แƒ แƒ›แƒแƒฆแƒแƒšแƒ˜ แƒ แƒ˜แƒ’แƒ˜แƒก TIM2_CCRxH. แƒ•แƒ˜แƒœแƒแƒ˜แƒ“แƒแƒœ แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ•แƒฅแƒ›แƒ”แƒœแƒ˜แƒ— 8-แƒ‘แƒ˜แƒขแƒ˜แƒแƒœแƒ˜ PWM, แƒกแƒแƒ™แƒ›แƒแƒ แƒ˜แƒกแƒ˜แƒ แƒฉแƒแƒฌแƒ”แƒ แƒแƒ— แƒ›แƒฎแƒแƒšแƒแƒ“ แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒœแƒแƒ™แƒšแƒ”แƒ‘แƒแƒ“ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒแƒœแƒ˜ แƒ‘แƒ˜แƒขแƒ”แƒ‘แƒ˜:

#define TIM2_CCR1L *(volatile uint8_t *)0x005312
#define TIM2_CCR2L *(volatile uint8_t *)0x005314
#define TIM2_CCR3L *(volatile uint8_t *)0x005316

void setRGBled(uint8_t r, uint8_t g, uint8_t b)
{
    TIM2_CCR1L = r;
    TIM2_CCR2L = g;
    TIM2_CCR3L = b;
}

แƒงแƒฃแƒ แƒแƒ“แƒฆแƒ”แƒ‘แƒ˜แƒแƒœแƒ˜ แƒ›แƒ™แƒ˜แƒ—แƒฎแƒ•แƒ”แƒšแƒ˜ แƒจแƒ”แƒแƒ›แƒฉแƒœแƒ”แƒ•แƒก, แƒ แƒแƒ› แƒ’แƒ•แƒแƒฅแƒ•แƒก แƒแƒ“แƒœแƒแƒ• แƒ“แƒ”แƒคแƒ”แƒฅแƒขแƒฃแƒ แƒ˜ PWM, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ•แƒ”แƒ  แƒแƒฌแƒแƒ แƒ›แƒแƒ”แƒ‘แƒก 100% แƒจแƒ”แƒ•แƒกแƒ”แƒ‘แƒแƒก (แƒ›แƒแƒฅแƒกแƒ˜แƒ›แƒแƒšแƒฃแƒ แƒ˜ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ˜แƒ— 255, แƒกแƒ˜แƒ’แƒœแƒแƒšแƒ˜ แƒ˜แƒœแƒ•แƒ”แƒ แƒกแƒ˜แƒฃแƒšแƒ˜แƒ แƒ”แƒ แƒ—แƒ˜ แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒ˜แƒก แƒชแƒ˜แƒ™แƒšแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก). LED-แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒแƒ›แƒแƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ แƒแƒ  แƒแƒฅแƒ•แƒก แƒ“แƒ แƒงแƒฃแƒ แƒแƒ“แƒฆแƒ”แƒ‘แƒ˜แƒแƒœ แƒ›แƒ™แƒ˜แƒ—แƒฎแƒ•แƒ”แƒšแƒก แƒฃแƒ™แƒ•แƒ” แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ แƒ’แƒแƒ›แƒแƒ˜แƒชแƒœแƒแƒก แƒ แƒแƒ’แƒแƒ  แƒ’แƒแƒแƒกแƒฌแƒแƒ แƒแƒก แƒ˜แƒ’แƒ˜.

แƒ›แƒ”แƒแƒ แƒ” แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒ–แƒ” PWM แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก, แƒ›แƒแƒ“แƒ˜แƒ— แƒ’แƒแƒ“แƒแƒ•แƒ˜แƒ“แƒ”แƒ— แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ–แƒ”.

แƒžแƒ˜แƒ แƒ•แƒ”แƒš แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒก แƒแƒฅแƒ•แƒก แƒ–แƒฃแƒกแƒขแƒแƒ“ แƒ˜แƒ’แƒ˜แƒ•แƒ” แƒ‘แƒ˜แƒขแƒ”แƒ‘แƒ˜ แƒ˜แƒ›แƒแƒ•แƒ” แƒ แƒ”แƒ”แƒกแƒขแƒ แƒ”แƒ‘แƒจแƒ˜ (แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ แƒ˜แƒก แƒ‘แƒ˜แƒขแƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒ“แƒแƒ แƒฉแƒ "แƒ แƒ”แƒ–แƒ”แƒ แƒ•แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜" แƒ›แƒ”แƒแƒ แƒ” แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒจแƒ˜, แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒจแƒ˜ แƒแƒฅแƒขแƒ˜แƒฃแƒ แƒแƒ“ แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒงแƒ•แƒ”แƒšแƒ แƒกแƒแƒฎแƒ˜แƒก แƒ›แƒแƒฌแƒ˜แƒœแƒแƒ•แƒ” แƒœแƒ˜แƒ•แƒ—แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก). แƒแƒ›แƒ˜แƒขแƒแƒ› แƒกแƒแƒ™แƒ›แƒแƒ แƒ˜แƒกแƒ˜แƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒคแƒฃแƒ แƒชแƒ”แƒšแƒจแƒ˜ แƒ˜แƒ›แƒแƒ•แƒ” แƒ แƒ”แƒ’แƒ˜แƒกแƒขแƒ แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒซแƒ˜แƒ”แƒ‘แƒ แƒ“แƒ แƒ™แƒแƒ“แƒ˜แƒก แƒ™แƒแƒžแƒ˜แƒ แƒ”แƒ‘แƒ. แƒจแƒ”แƒชแƒ•แƒแƒšแƒ”แƒ— แƒกแƒ˜แƒฎแƒจแƒ˜แƒ แƒ˜แƒก แƒ’แƒแƒ›แƒงแƒแƒคแƒ˜แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ, แƒ แƒแƒ“แƒ’แƒแƒœ... แƒžแƒ˜แƒ แƒ•แƒ”แƒš แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒก แƒกแƒฃแƒ แƒก แƒ›แƒ˜แƒ˜แƒฆแƒแƒก แƒแƒ แƒ แƒแƒ แƒ˜, แƒแƒ แƒแƒ›แƒ”แƒ“ แƒ–แƒฃแƒกแƒขแƒ˜ 16-แƒ‘แƒ˜แƒขแƒ˜แƒแƒœแƒ˜ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ แƒแƒ  แƒ แƒ”แƒ”แƒกแƒขแƒ แƒจแƒ˜ Prescaler แƒ›แƒแƒฆแƒแƒšแƒ˜ ะธ แƒ“แƒแƒ‘แƒแƒšแƒ˜. แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒก แƒ•แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒ— แƒ“แƒ... แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒ˜ แƒแƒ  แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก. แฒ แƒ แƒ›แƒแƒฎแƒ“แƒ?

แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ˜แƒก แƒ’แƒแƒ“แƒแƒญแƒ แƒ แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ 1-แƒ˜แƒก แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒ˜แƒก แƒกแƒแƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ แƒ แƒ”แƒ’แƒ˜แƒกแƒขแƒ แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ—แƒ”แƒšแƒ˜ แƒ’แƒแƒœแƒงแƒแƒคแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ“แƒแƒฎแƒ”แƒ“แƒ•แƒ˜แƒ—, แƒกแƒแƒ“แƒแƒช แƒ•แƒ”แƒซแƒ”แƒ‘แƒ— แƒ›แƒแƒก, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ›แƒ”แƒแƒ แƒ” แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒก แƒแƒ  แƒแƒฅแƒ•แƒก. แฒ˜แƒฅ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ 17.7.30 แƒจแƒ”แƒกแƒ•แƒ”แƒœแƒ”แƒ‘แƒ˜แƒก แƒ แƒ”แƒ’แƒ˜แƒกแƒขแƒ แƒแƒชแƒ˜แƒ (TIM1_BKR), แƒกแƒแƒ“แƒแƒช แƒแƒ แƒ˜แƒก แƒ”แƒก แƒ‘แƒ˜แƒขแƒ˜:

แƒฌแƒแƒ˜แƒ™แƒ˜แƒ—แƒฎแƒ”แƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜ 2: SPI STM32-แƒ–แƒ”; PWM, แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒ”แƒ‘แƒ˜ STM8-แƒ–แƒ”
แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒ˜ แƒ’แƒแƒ›แƒแƒ›แƒแƒ•แƒแƒšแƒ˜ แƒฉแƒแƒ แƒ—แƒ•แƒ

#define TIM1_BKR   *(volatile uint8_t *)0x00526D

TIM1_BKR = (1<<7);

แƒ”แƒก แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒ“แƒแƒ แƒฌแƒ›แƒฃแƒœแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒแƒฎแƒšแƒ, แƒ™แƒแƒ“แƒ˜ แƒ˜แƒ›แƒแƒ•แƒ” แƒแƒ“แƒ’แƒ˜แƒšแƒแƒก.

แƒฌแƒแƒ˜แƒ™แƒ˜แƒ—แƒฎแƒ”แƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜ 2: SPI STM32-แƒ–แƒ”; PWM, แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒ”แƒ‘แƒ˜ STM8-แƒ–แƒ”

STM8 Multiplex

แƒ›แƒฃแƒšแƒขแƒ˜แƒžแƒšแƒ”แƒฅแƒกแƒ˜แƒ แƒ”แƒ‘แƒ STM8-แƒ–แƒ”

แƒ›แƒ”แƒกแƒแƒ›แƒ” แƒ›แƒ˜แƒœแƒ˜-แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜ แƒแƒ แƒ˜แƒก แƒ แƒ•แƒ RGB LED-แƒ˜แƒก แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒ แƒ›แƒ”แƒแƒ แƒ” แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒ—แƒแƒœ PWM แƒ แƒ”แƒŸแƒ˜แƒ›แƒจแƒ˜ แƒ“แƒ แƒ›แƒแƒ— แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒคแƒ”แƒ แƒ˜แƒก แƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒ. แƒ˜แƒ’แƒ˜ แƒ“แƒแƒคแƒฃแƒซแƒœแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ LED แƒ›แƒฃแƒšแƒขแƒ˜แƒžแƒšแƒ”แƒฅแƒกแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒ™แƒแƒœแƒชแƒ”แƒคแƒชแƒ˜แƒแƒ–แƒ”, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒ แƒ˜แƒก แƒ˜แƒก, แƒ แƒแƒ› แƒ—แƒฃ แƒ—แƒฅแƒ•แƒ”แƒœ แƒฉแƒแƒ แƒ—แƒแƒ•แƒ— แƒ“แƒ แƒ’แƒแƒ›แƒแƒ แƒ—แƒแƒ•แƒ— LED-แƒ”แƒ‘แƒก แƒซแƒแƒšแƒ˜แƒแƒœ, แƒซแƒแƒšแƒ˜แƒแƒœ แƒกแƒฌแƒ แƒแƒคแƒแƒ“, แƒ’แƒ•แƒ”แƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒ, แƒ แƒแƒ› แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒ›แƒฃแƒ“แƒ›แƒ˜แƒ•แƒแƒ“ แƒฉแƒแƒ แƒ—แƒฃแƒšแƒ˜แƒ (แƒฎแƒ”แƒ“แƒ•แƒ˜แƒก แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒ, แƒ•แƒ˜แƒ–แƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒแƒฆแƒฅแƒ›แƒ˜แƒก แƒ˜แƒœแƒ”แƒ แƒชแƒ˜แƒ). แƒ”แƒ แƒ—แƒฎแƒ”แƒš แƒ’แƒแƒ•แƒแƒ™แƒ”แƒ—แƒ” แƒ แƒแƒฆแƒแƒช แƒ›แƒกแƒ’แƒแƒ•แƒกแƒ˜ Arduino-แƒ–แƒ”.

แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒก แƒแƒšแƒ’แƒแƒ แƒ˜แƒ—แƒ›แƒ˜ แƒแƒกแƒ” แƒ’แƒแƒ›แƒแƒ˜แƒงแƒฃแƒ แƒ”แƒ‘แƒ:

  • แƒ“แƒแƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ— แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ RGB LED-แƒ˜แƒก แƒแƒœแƒแƒ“แƒ˜;
  • แƒแƒแƒœแƒ—แƒ แƒ˜แƒ’แƒ˜, แƒแƒ’แƒ–แƒแƒ•แƒœแƒ˜แƒก แƒกแƒแƒญแƒ˜แƒ แƒ แƒกแƒ˜แƒ’แƒœแƒแƒšแƒ”แƒ‘แƒก แƒ™แƒแƒ—แƒแƒ“แƒ”แƒ‘แƒ–แƒ”;
  • แƒ“แƒแƒ”แƒšแƒแƒ“แƒ PWM แƒชแƒ˜แƒ™แƒšแƒ˜แƒก แƒ“แƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒแƒก;
  • แƒ“แƒแƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ— แƒ›แƒ”แƒแƒ แƒ” RGB LED-แƒ˜แƒก แƒแƒœแƒแƒ“แƒ˜;
  • แƒแƒแƒœแƒ—แƒ...

แƒ˜แƒกแƒ” แƒ“แƒ แƒ.แƒจ. แƒ แƒ แƒ—แƒฅแƒ›แƒ แƒฃแƒœแƒ“แƒ, แƒšแƒแƒ›แƒแƒ–แƒ˜ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒกแƒแƒญแƒ˜แƒ แƒแƒ แƒแƒœแƒแƒ“แƒ˜แƒก แƒ›แƒ˜แƒ”แƒ แƒ—แƒ”แƒ‘แƒ แƒ“แƒ แƒจแƒฃแƒฅแƒ“แƒ˜แƒแƒ“แƒ˜แƒก โ€žแƒแƒœแƒ—แƒ”แƒ‘แƒโ€œ แƒ”แƒ แƒ—แƒ“แƒ แƒแƒฃแƒšแƒแƒ“. แƒ™แƒแƒ แƒ’แƒแƒ“, แƒแƒœ แƒ—แƒ˜แƒ—แƒฅแƒ›แƒ˜แƒก. แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ  แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒฉแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒ“แƒแƒ•แƒฌแƒ”แƒ แƒแƒ— แƒ™แƒแƒ“แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ’แƒแƒ›แƒแƒกแƒชแƒ”แƒ›แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ”แƒ‘แƒก แƒ›แƒ”แƒแƒ แƒ” แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒ˜แƒก แƒกแƒแƒ› แƒแƒ แƒฎแƒจแƒ˜, แƒจแƒ”แƒ•แƒชแƒ•แƒšแƒ˜แƒ— แƒ›แƒแƒ— UEV แƒ›แƒ˜แƒฆแƒฌแƒ”แƒ•แƒ˜แƒกแƒแƒก แƒ“แƒ แƒแƒ›แƒแƒ•แƒ“แƒ แƒแƒฃแƒšแƒแƒ“ แƒจแƒ”แƒ•แƒชแƒ•แƒšแƒ˜แƒ— แƒแƒ›แƒŸแƒแƒ›แƒแƒ“ แƒแƒฅแƒขแƒ˜แƒฃแƒ  RGB LED-แƒก.

แƒ•แƒ˜แƒœแƒแƒ˜แƒ“แƒแƒœ LED แƒ’แƒแƒ“แƒแƒ แƒ—แƒ•แƒ แƒแƒ•แƒขแƒแƒ›แƒแƒขแƒฃแƒ แƒ˜แƒ, แƒฉแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒจแƒ”แƒ•แƒฅแƒ›แƒœแƒแƒ— โ€žแƒ•แƒ˜แƒ“แƒ”แƒ แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒโ€œ, แƒกแƒแƒ˜แƒ“แƒแƒœแƒแƒช แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒ›แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ”แƒšแƒ˜ แƒ›แƒ˜แƒ˜แƒฆแƒ”แƒ‘แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒก. แƒ”แƒก แƒแƒ แƒ˜แƒก แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜ แƒ›แƒแƒกแƒ˜แƒ•แƒ˜:

uint8_t colors[8][3];

แƒ™แƒแƒœแƒ™แƒ แƒ”แƒขแƒฃแƒšแƒ˜ LED-แƒ˜แƒก แƒคแƒ”แƒ แƒ˜แƒก แƒจแƒ”แƒกแƒแƒชแƒ•แƒšแƒ”แƒšแƒแƒ“ แƒกแƒแƒ™แƒ›แƒแƒ แƒ˜แƒกแƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒแƒ› แƒ›แƒแƒกแƒ˜แƒ•แƒจแƒ˜ แƒกแƒแƒญแƒ˜แƒ แƒ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ”แƒ‘แƒ˜แƒก แƒฉแƒแƒฌแƒ”แƒ แƒ. แƒ“แƒ แƒชแƒ•แƒšแƒแƒ“แƒ˜ แƒžแƒแƒกแƒฃแƒฎแƒ˜แƒกแƒ›แƒ’แƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒแƒฅแƒขแƒ˜แƒฃแƒ แƒ˜ LED- แƒ˜แƒก แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒแƒ–แƒ”

uint8_t cnt;

แƒ“แƒ”แƒ›แƒฃแƒฅแƒกแƒ˜

แƒกแƒแƒ—แƒแƒœแƒแƒ“แƒ แƒ›แƒฃแƒšแƒขแƒ˜แƒžแƒšแƒ”แƒฅแƒกแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ, แƒฃแƒชแƒœแƒแƒฃแƒ แƒแƒ“ แƒกแƒแƒ™แƒ›แƒแƒ แƒ˜แƒกแƒ˜, CD74HC238 แƒ“แƒ”แƒ›แƒฃแƒšแƒขแƒ˜แƒžแƒšแƒ”แƒฅแƒกแƒ”แƒ แƒ˜. แƒ“แƒ”แƒ›แƒฃแƒšแƒขแƒ˜แƒžแƒšแƒ”แƒฅแƒกแƒ”แƒ แƒ˜ - แƒฉแƒ˜แƒžแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒก แƒแƒžแƒ”แƒ แƒแƒขแƒแƒ แƒก แƒแƒžแƒแƒ แƒแƒขแƒฃแƒ แƒแƒจแƒ˜ <<. แƒกแƒแƒ›แƒ˜ แƒจแƒ”แƒงแƒ•แƒแƒœแƒ˜แƒก แƒžแƒ˜แƒœแƒ˜แƒก แƒ›แƒ”แƒจแƒ•แƒ”แƒแƒ‘แƒ˜แƒ— (แƒ‘แƒ˜แƒขแƒ˜ 0, 1 แƒ“แƒ 2) แƒฉแƒ•แƒ”แƒœ แƒ•แƒแƒซแƒšแƒ”แƒ•แƒ— แƒ›แƒแƒก แƒกแƒแƒ› แƒ‘แƒ˜แƒขแƒ˜แƒแƒœ X แƒ แƒ˜แƒชแƒฎแƒ•แƒก แƒ“แƒ แƒกแƒแƒžแƒแƒกแƒฃแƒฎแƒแƒ“ แƒ˜แƒก แƒแƒแƒฅแƒขแƒ˜แƒฃแƒ แƒ”แƒ‘แƒก แƒ’แƒแƒ›แƒแƒ›แƒแƒ•แƒแƒš แƒœแƒแƒ›แƒ”แƒ แƒก (1<<X). แƒฉแƒ˜แƒžแƒ˜แƒก แƒ“แƒแƒ แƒฉแƒ”แƒœแƒ˜แƒšแƒ˜ แƒจแƒ”แƒœแƒแƒขแƒแƒœแƒ”แƒ‘แƒ˜ แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒ›แƒ—แƒšแƒ˜แƒแƒœแƒ˜ แƒ“แƒ˜แƒ–แƒแƒ˜แƒœแƒ˜แƒก แƒ’แƒแƒกแƒแƒ–แƒแƒ›แƒแƒ“. แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ แƒ”แƒก แƒฉแƒ˜แƒžแƒ˜ แƒแƒ แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ›แƒ˜แƒ™แƒ แƒแƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ”แƒ แƒ˜แƒก แƒ“แƒแƒ™แƒแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒฅแƒ˜แƒœแƒซแƒ˜แƒกแƒ—แƒแƒ•แƒ”แƒ‘แƒ˜แƒก แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒ›แƒชแƒ˜แƒ แƒ”แƒ‘แƒšแƒแƒ“, แƒแƒ แƒแƒ›แƒ”แƒ“ แƒฃแƒกแƒแƒคแƒ แƒ—แƒฎแƒแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก - แƒ˜แƒกแƒ”, แƒ แƒแƒ› แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒ˜แƒ— แƒแƒ  แƒฉแƒแƒ แƒ—แƒแƒ— แƒ›แƒ”แƒขแƒ˜ LED-แƒ”แƒ‘แƒ˜, แƒ•แƒ˜แƒ“แƒ แƒ” แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒ“แƒ แƒแƒ  แƒ“แƒแƒฌแƒ•แƒแƒ— MK. แƒฉแƒ˜แƒžแƒ˜ แƒฆแƒ˜แƒ แƒก แƒ”แƒ แƒ—แƒ˜ แƒžแƒ”แƒœแƒ˜ แƒ“แƒ แƒงแƒแƒ•แƒ”แƒšแƒ—แƒ•แƒ˜แƒก แƒฃแƒœแƒ“แƒ แƒ˜แƒœแƒแƒฎแƒ”แƒ‘แƒแƒ“แƒ”แƒก แƒ—แƒฅแƒ•แƒ”แƒœแƒก แƒกแƒแƒฎแƒšแƒจแƒ˜ แƒ›แƒ”แƒ“แƒ˜แƒชแƒ˜แƒœแƒ˜แƒก แƒ™แƒแƒ‘แƒ˜แƒœแƒ”แƒขแƒจแƒ˜.

แƒฉแƒ•แƒ”แƒœแƒ˜ CD74HC238 แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒžแƒแƒกแƒฃแƒฎแƒ˜แƒกแƒ›แƒ’แƒ”แƒ‘แƒ”แƒšแƒ˜ แƒซแƒแƒ‘แƒ•แƒ˜แƒก แƒ›แƒ˜แƒฌแƒแƒ“แƒ”แƒ‘แƒแƒ–แƒ” แƒกแƒแƒกแƒฃแƒ แƒ•แƒ”แƒšแƒ˜ LED-แƒ˜แƒก แƒแƒœแƒแƒ“แƒ–แƒ”. แƒกแƒ แƒฃแƒšแƒคแƒแƒกแƒแƒ•แƒแƒœ แƒ›แƒฃแƒšแƒขแƒ˜แƒžแƒšแƒ”แƒฅแƒกแƒจแƒ˜ แƒ˜แƒก แƒซแƒแƒ‘แƒ•แƒแƒก แƒแƒฌแƒ•แƒ“แƒ˜แƒก แƒกแƒ•แƒ”แƒขแƒก P-MOSFET-แƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ˜แƒ—, แƒ›แƒแƒ’แƒ แƒแƒ› แƒแƒ› แƒ“แƒ”แƒ›แƒแƒจแƒ˜ แƒ”แƒก แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒžแƒ˜แƒ แƒ“แƒแƒžแƒ˜แƒ , แƒ แƒแƒ“แƒ’แƒแƒœ แƒ˜แƒ’แƒ˜ แƒแƒ›แƒแƒฎแƒ•แƒ˜แƒšแƒ”แƒ‘แƒก 20 mA-แƒก, แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒกแƒแƒ“ แƒแƒ‘แƒกแƒแƒšแƒฃแƒขแƒฃแƒ แƒ˜ แƒ›แƒแƒฅแƒกแƒ˜แƒ›แƒแƒšแƒฃแƒ แƒ˜ แƒ แƒ”แƒ˜แƒขแƒ˜แƒœแƒ’แƒ”แƒ‘แƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒคแƒฃแƒ แƒชแƒ”แƒšแƒจแƒ˜. แƒ“แƒแƒœ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒคแƒฃแƒ แƒชแƒ”แƒšแƒ˜ CD74HC238 แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ pinouts แƒ“แƒ แƒ”แƒก แƒ›แƒแƒขแƒงแƒฃแƒ”แƒ‘แƒ˜แƒก แƒคแƒฃแƒ แƒชแƒ”แƒšแƒ˜:

แƒฌแƒแƒ˜แƒ™แƒ˜แƒ—แƒฎแƒ”แƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜ 2: SPI STM32-แƒ–แƒ”; PWM, แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒ”แƒ‘แƒ˜ STM8-แƒ–แƒ”
H = แƒ›แƒแƒฆแƒแƒšแƒ˜ แƒซแƒแƒ‘แƒ•แƒ˜แƒก แƒ“แƒแƒœแƒ”, L = แƒ“แƒแƒ‘แƒแƒšแƒ˜ แƒซแƒแƒ‘แƒ•แƒ˜แƒก แƒ“แƒแƒœแƒ”, X - แƒแƒ  แƒ›แƒแƒ˜แƒœแƒขแƒ”แƒ แƒ”แƒกแƒ”แƒ‘แƒก

แƒฉแƒ•แƒ”แƒœ แƒ•แƒฃแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ˜แƒ— E2 แƒ“แƒ E1 แƒ›แƒ˜แƒฌแƒแƒก, E3, A0, A1 แƒ“แƒ A3 แƒฅแƒ˜แƒœแƒซแƒ˜แƒกแƒ—แƒแƒ•แƒ”แƒ‘แƒก PD5, PC3, PC4 แƒ“แƒ PC5 STM8. แƒ•แƒ˜แƒœแƒแƒ˜แƒ“แƒแƒœ แƒ–แƒ”แƒ›แƒแƒ— แƒ›แƒแƒชแƒ”แƒ›แƒฃแƒšแƒ˜ แƒชแƒฎแƒ แƒ˜แƒšแƒ˜ แƒจแƒ”แƒ˜แƒชแƒแƒ•แƒก แƒ แƒแƒ’แƒแƒ แƒช แƒ“แƒแƒ‘แƒแƒš, แƒแƒกแƒ”แƒ•แƒ” แƒ›แƒแƒฆแƒแƒš แƒ“แƒแƒœแƒ”แƒ”แƒ‘แƒก, แƒฉแƒ•แƒ”แƒœ แƒ•แƒแƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒ˜แƒ แƒ”แƒ‘แƒ— แƒแƒ› แƒฅแƒ˜แƒœแƒซแƒ˜แƒกแƒ—แƒแƒ•แƒ”แƒ‘แƒก, แƒ แƒแƒ’แƒแƒ แƒช Push-pull pins.

PWM

แƒ›แƒ”แƒแƒ แƒ” แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒ–แƒ” PWM แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ˜แƒกแƒ”แƒ•แƒ”, แƒ แƒแƒ’แƒแƒ แƒช แƒฌแƒ˜แƒœแƒ แƒ˜แƒกแƒขแƒแƒ แƒ˜แƒแƒจแƒ˜, แƒแƒ แƒ˜ แƒ’แƒแƒœแƒกแƒฎแƒ•แƒแƒ•แƒ”แƒ‘แƒ˜แƒ—:

แƒžแƒ˜แƒ แƒ•แƒ”แƒš แƒ แƒ˜แƒ’แƒจแƒ˜, แƒฉแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒ’แƒแƒ•แƒแƒแƒฅแƒขแƒ˜แƒฃแƒ แƒแƒ— แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒ แƒฆแƒแƒœแƒ˜แƒกแƒซแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒ (UEV), แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ’แƒแƒ›แƒแƒ˜แƒซแƒแƒฎแƒ”แƒ‘แƒก แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒแƒก, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ’แƒแƒ“แƒแƒ แƒ—แƒแƒ•แƒก แƒแƒฅแƒขแƒ˜แƒฃแƒ  LED-แƒก. แƒ”แƒก แƒ™แƒ”แƒ—แƒ“แƒ”แƒ‘แƒ แƒ‘แƒ˜แƒขแƒ˜แƒก แƒจแƒ”แƒชแƒ•แƒšแƒ˜แƒ— แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒ˜แƒก แƒฉแƒแƒ แƒ—แƒ•แƒ แƒ แƒ”แƒ”แƒกแƒขแƒ แƒจแƒ˜ แƒ›แƒ”แƒขแƒงแƒ•แƒ”แƒšแƒ˜ แƒกแƒแƒฎแƒ”แƒšแƒ˜แƒ—

แƒฌแƒแƒ˜แƒ™แƒ˜แƒ—แƒฎแƒ”แƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜ 2: SPI STM32-แƒ–แƒ”; PWM, แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒ”แƒ‘แƒ˜ STM8-แƒ–แƒ”
แƒจแƒ”แƒฌแƒงแƒ•แƒ”แƒขแƒ˜แƒก แƒฉแƒแƒ แƒ—แƒ•แƒ˜แƒก แƒ แƒ”แƒ’แƒ˜แƒกแƒขแƒ แƒแƒชแƒ˜แƒ

#define TIM2_IER   *(volatile uint8_t *)0x005303

//enable interrupt
TIM2_IER = 1;

แƒ›แƒ”แƒแƒ แƒ” แƒ’แƒแƒœแƒกแƒฎแƒ•แƒแƒ•แƒ”แƒ‘แƒ แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ›แƒฃแƒšแƒขแƒ˜แƒžแƒšแƒ”แƒฅแƒกแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒคแƒ”แƒœแƒแƒ›แƒ”แƒœแƒ—แƒแƒœ, แƒ›แƒแƒ’ ghosting - แƒ“แƒ˜แƒแƒ“แƒ”แƒ‘แƒ˜แƒก แƒžแƒแƒ แƒแƒ–แƒ˜แƒขแƒฃแƒšแƒ˜ แƒ‘แƒ–แƒ˜แƒœแƒ•แƒแƒ แƒ”แƒ‘แƒ. แƒฉแƒ•แƒ”แƒœแƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒ”แƒก แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒ›แƒแƒฉแƒœแƒ“แƒ”แƒก แƒ˜แƒ›แƒ˜แƒก แƒ’แƒแƒ›แƒ, แƒ แƒแƒ› แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ›แƒแƒช UEV-แƒ–แƒ” แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒ แƒ’แƒแƒ›แƒแƒ˜แƒฌแƒ•แƒ˜แƒ, แƒแƒ’แƒ แƒซแƒ”แƒšแƒ”แƒ‘แƒก แƒ›แƒแƒœแƒ˜แƒจแƒ•แƒœแƒแƒก, แƒฎแƒแƒšแƒ แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒ›แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ”แƒšแƒก แƒแƒ  แƒแƒฅแƒ•แƒก แƒ“แƒ แƒ, แƒ’แƒแƒ“แƒแƒ แƒ—แƒแƒก LED, แƒกแƒแƒœแƒแƒ› แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒ˜ แƒ“แƒแƒ˜แƒฌแƒงแƒ”แƒ‘แƒก แƒ แƒแƒ˜แƒ›แƒ”แƒก แƒ“แƒแƒฌแƒ”แƒ แƒแƒก แƒฅแƒ˜แƒœแƒซแƒ˜แƒกแƒ—แƒแƒ•แƒ”แƒ‘แƒ–แƒ”. แƒแƒ›แƒ˜แƒก แƒฌแƒ˜แƒœแƒแƒแƒฆแƒ›แƒ“แƒ”แƒ’ แƒกแƒแƒ‘แƒ แƒซแƒแƒšแƒ•แƒ”แƒšแƒแƒ“, แƒ—แƒฅแƒ•แƒ”แƒœ แƒ›แƒแƒ’แƒ˜แƒฌแƒ”แƒ•แƒ— แƒšแƒแƒ’แƒ˜แƒ™แƒ˜แƒก แƒจแƒ”แƒ‘แƒ แƒฃแƒœแƒ”แƒ‘แƒ (0 = แƒ›แƒแƒฅแƒกแƒ˜แƒ›แƒแƒšแƒฃแƒ แƒ˜ แƒกแƒ˜แƒ™แƒแƒจแƒ™แƒแƒจแƒ”, 255 = แƒแƒ แƒแƒคแƒ”แƒ แƒ˜แƒ แƒ’แƒแƒœแƒแƒ—แƒ”แƒ‘แƒฃแƒšแƒ˜) แƒ“แƒ แƒ—แƒแƒ•แƒ˜แƒ“แƒแƒœ แƒแƒ˜แƒชแƒ˜แƒšแƒแƒ— แƒ”แƒฅแƒกแƒขแƒ แƒ”แƒ›แƒแƒšแƒฃแƒ แƒ˜ แƒกแƒแƒ›แƒฃแƒจแƒแƒ แƒชแƒ˜แƒ™แƒšแƒ˜แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ”แƒ‘แƒ˜. แƒ˜แƒ›แƒแƒ—. แƒ“แƒแƒ แƒฌแƒ›แƒฃแƒœแƒ“แƒ˜แƒ—, แƒ แƒแƒ› UEV-แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ LED-แƒ”แƒ‘แƒ˜ แƒ›แƒ—แƒšแƒ˜แƒแƒœแƒแƒ“ แƒฉแƒแƒฅแƒ แƒ”แƒ‘แƒ แƒ”แƒ แƒ—แƒ˜ PWM แƒชแƒ˜แƒ™แƒšแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก.

แƒžแƒแƒšแƒแƒ แƒแƒ‘แƒ˜แƒก แƒจแƒ”แƒชแƒ•แƒšแƒ:

//set polarity 
    TIM2_CCER1 |= (CC1P | CC2P);
    TIM2_CCER2 |= CC3P;

แƒ›แƒแƒ”แƒ แƒ˜แƒ“แƒ”แƒ— r, g แƒ“แƒ b 255-แƒ–แƒ” แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒแƒก แƒ“แƒ แƒ“แƒแƒ˜แƒ›แƒแƒฎแƒกแƒแƒ•แƒ แƒ”แƒ— แƒ›แƒแƒ—แƒ˜ แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒกแƒแƒก แƒ›แƒแƒ—แƒ˜ แƒ˜แƒœแƒ•แƒ”แƒ แƒกแƒ˜แƒ.

แƒฌแƒงแƒ•แƒ”แƒขแƒก

แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒ˜แƒก แƒแƒ แƒกแƒ˜ แƒ˜แƒ›แƒแƒจแƒ˜ แƒ›แƒ“แƒ’แƒแƒ›แƒแƒ แƒ”แƒแƒ‘แƒก, แƒ แƒแƒ› แƒ’แƒแƒ แƒ™แƒ•แƒ”แƒฃแƒš แƒžแƒ˜แƒ แƒแƒ‘แƒ”แƒ‘แƒจแƒ˜ แƒฉแƒ˜แƒžแƒ˜ แƒฌแƒงแƒ•แƒ”แƒขแƒก แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒก แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒแƒก แƒ“แƒ แƒ˜แƒฌแƒ•แƒ”แƒ•แƒก แƒ แƒแƒ˜แƒ›แƒ” แƒ’แƒแƒ แƒ” แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒแƒก. แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒ”แƒ‘แƒ˜ แƒฎแƒ“แƒ”แƒ‘แƒ แƒ’แƒแƒ แƒ” แƒแƒœ แƒจแƒ˜แƒ“แƒ แƒ’แƒแƒ•แƒšแƒ”แƒœแƒ˜แƒก แƒ’แƒแƒ›แƒ, แƒ›แƒแƒ— แƒจแƒแƒ แƒ˜แƒก แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒ˜.

แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒฉแƒ•แƒ”แƒœ แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒแƒ“ แƒจแƒ”แƒ•แƒฅแƒ›แƒ”แƒœแƒ˜แƒ— แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜ ST Visual Develop-แƒจแƒ˜, แƒ’แƒแƒ แƒ“แƒ แƒแƒ›แƒ˜แƒกแƒ main.c แƒ›แƒ˜แƒ•แƒ˜แƒฆแƒ”แƒ— แƒคแƒแƒœแƒฏแƒแƒ แƒ แƒ˜แƒ“แƒฃแƒ›แƒแƒšแƒ˜ แƒคแƒแƒ˜แƒšแƒ˜แƒ— stm8_interrupt_vector.c, แƒแƒ•แƒขแƒแƒ›แƒแƒขแƒฃแƒ แƒแƒ“ แƒจแƒ”แƒ“แƒ˜แƒก แƒžแƒ แƒแƒ”แƒฅแƒขแƒจแƒ˜. แƒแƒ› แƒคแƒแƒ˜แƒšแƒจแƒ˜ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ แƒ”แƒœแƒ˜แƒญแƒ”แƒ‘แƒ แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒš แƒจแƒ”แƒฌแƒงแƒ•แƒ”แƒขแƒแƒก NonHandledInterrupt. แƒฉแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒ“แƒแƒ•แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒแƒ— แƒฉแƒ•แƒ”แƒœแƒ˜ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ แƒกแƒแƒกแƒฃแƒ แƒ•แƒ”แƒš แƒจแƒ”แƒฌแƒงแƒ•แƒ”แƒขแƒแƒกแƒ—แƒแƒœ.

แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒคแƒฃแƒ แƒชแƒ”แƒšแƒก แƒแƒฅแƒ•แƒก แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒ˜แƒก แƒ•แƒ”แƒฅแƒขแƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒชแƒฎแƒ แƒ˜แƒšแƒ˜, แƒกแƒแƒ“แƒแƒช แƒ•แƒžแƒแƒฃแƒšแƒแƒ‘แƒ— แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ:

แƒฌแƒแƒ˜แƒ™แƒ˜แƒ—แƒฎแƒ”แƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜ 2: SPI STM32-แƒ–แƒ”; PWM, แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒ”แƒ‘แƒ˜ STM8-แƒ–แƒ”
13 TIM2 แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒ/แƒ’แƒแƒ“แƒ˜แƒœแƒ”แƒ‘แƒ
14 TIM2 แƒ’แƒแƒ“แƒแƒฆแƒ”แƒ‘แƒ/แƒจแƒ”แƒ“แƒแƒ แƒ”แƒ‘แƒ

แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ LED-แƒ˜แƒก แƒจแƒ”แƒชแƒ•แƒšแƒ UEV-แƒ–แƒ”, แƒแƒ›แƒ˜แƒขแƒแƒ› แƒ’แƒ•แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ แƒจแƒ”แƒฌแƒงแƒ•แƒ”แƒขแƒ #13.

แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒกแƒแƒ“, แƒžแƒ˜แƒ แƒ•แƒ”แƒš แƒ แƒ˜แƒ’แƒจแƒ˜, แƒคแƒแƒ˜แƒšแƒจแƒ˜ stm8_interrupt_vector.c แƒจแƒ”แƒชแƒ•แƒแƒšแƒ”แƒ— แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ˜แƒก แƒœแƒแƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ•แƒ˜ แƒกแƒแƒฎแƒ”แƒšแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒžแƒแƒกแƒฃแƒฎแƒ˜แƒกแƒ›แƒ’แƒ”แƒ‘แƒ”แƒšแƒ˜แƒ No13 แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒแƒ–แƒ” (IRQ13) แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜แƒ—:

{0x82, TIM2_Overflow}, /* irq13 */

แƒ›แƒ”แƒแƒ แƒ”แƒช, แƒฉแƒ•แƒ”แƒœ แƒ›แƒแƒ’แƒ•แƒ˜แƒฌแƒ”แƒ•แƒก แƒคแƒแƒ˜แƒšแƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ main.h แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒจแƒ˜แƒœแƒแƒแƒ แƒกแƒ˜แƒ—:

#ifndef __MAIN_H
#define __MAIN_H

@far @interrupt void TIM2_Overflow (void);
#endif

แƒ“แƒ แƒ‘แƒแƒšแƒแƒก, แƒฉแƒแƒฌแƒ”แƒ แƒ”แƒ— แƒ”แƒก แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ แƒ—แƒฅแƒ•แƒ”แƒœแƒกแƒจแƒ˜ main.c:

@far @interrupt void TIM2_Overflow (void)
{
    PD_ODR &= ~(1<<5); // ะฒั‹ั€ัƒะฑะฐะตะผ ะดะตะผัƒะปัŒั‚ะธะฟะปะตะบัะพั€
    PC_ODR = (cnt<<3); // ะทะฐะฟะธัั‹ะฒะฐะตะผ ะฒ ะดะตะผัƒะปัŒั‚ะธะฟะปะตะบัะพั€ ะฝะพะฒะพะต ะทะฝะฐั‡ะตะฝะธะต
    PD_ODR |= (1<<5); // ะฒะบะปัŽั‡ะฐะตะผ ะดะตะผัƒะปัŒั‚ะธะฟะปะตะบัะพั€

    TIM2_SR1 = 0; // ัะฑั€ะฐัั‹ะฒะฐะตะผ ั„ะปะฐะณ Update Interrupt Pending

    cnt++; 
    cnt &= 7; // ะดะฒะธะณะฐะตะผ ัั‡ะตั‚ั‡ะธะบ LED

    TIM2_CCR1L = ~colors[cnt][0]; // ะฟะตั€ะตะดะฐะตะผ ะฒ ะฑัƒั„ะตั€ ะธะฝะฒะตั€ั‚ะธั€ะพะฒะฐะฝะฝั‹ะต ะทะฝะฐั‡ะตะฝะธั
    TIM2_CCR2L = ~colors[cnt][1]; // ะดะปั ัะปะตะดัƒัŽั‰ะตะณะพ ั†ะธะบะปะฐ ะจะ˜ะœ
    TIM2_CCR3L = ~colors[cnt][2]; // 

    return;
}

แƒ แƒฉแƒ”แƒ‘แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒฉแƒแƒ แƒ—แƒ•แƒ. แƒ”แƒก แƒ™แƒ”แƒ—แƒ“แƒ”แƒ‘แƒ แƒแƒกแƒแƒ›แƒ‘แƒšแƒ”แƒ แƒ˜แƒก แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ— rim -แƒจแƒ”แƒœ แƒ›แƒแƒ’แƒ˜แƒฌแƒ”แƒ•แƒก แƒ›แƒ˜แƒกแƒ˜ แƒซแƒ”แƒ‘แƒœแƒ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒฎแƒ”แƒšแƒ›แƒซแƒฆแƒ•แƒแƒœแƒ”แƒšแƒ:

//enable interrupts
_asm("rim");

แƒแƒกแƒแƒ›แƒ‘แƒšแƒ”แƒ แƒ˜แƒก แƒ™แƒ˜แƒ“แƒ”แƒ• แƒ”แƒ แƒ—แƒ˜ แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒแƒ sim โ€“ แƒ—แƒ˜แƒจแƒแƒ•แƒก แƒฌแƒงแƒ•แƒ”แƒขแƒ”แƒ‘แƒก. แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒฃแƒœแƒ“แƒ แƒ’แƒแƒ›แƒแƒ แƒ—แƒแƒ—, แƒกแƒแƒœแƒแƒ› แƒแƒฎแƒแƒšแƒ˜ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ”แƒ‘แƒ˜ แƒ˜แƒฌแƒ”แƒ แƒ”แƒ‘แƒ "แƒ•แƒ˜แƒ“แƒ”แƒ แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒแƒจแƒ˜", แƒ แƒแƒ—แƒ แƒแƒ แƒแƒกแƒฌแƒแƒ  แƒ›แƒแƒ›แƒ”แƒœแƒขแƒจแƒ˜ แƒ’แƒแƒ›แƒแƒฌแƒ•แƒ”แƒฃแƒšแƒ›แƒ แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒแƒ› แƒแƒ  แƒ’แƒแƒแƒคแƒฃแƒญแƒแƒก แƒ›แƒแƒกแƒ˜แƒ•แƒ˜.

แƒงแƒ•แƒ”แƒšแƒ แƒ™แƒแƒ“แƒ˜ - GitHub-แƒ–แƒ”.

แƒฌแƒแƒ˜แƒ™แƒ˜แƒ—แƒฎแƒ”แƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜ 2: SPI STM32-แƒ–แƒ”; PWM, แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒ”แƒ‘แƒ˜ STM8-แƒ–แƒ”

แƒ—แƒฃ แƒ•แƒ˜แƒœแƒ›แƒ”แƒก แƒ›แƒแƒ˜แƒœแƒช แƒ”แƒก แƒกแƒขแƒแƒขแƒ˜แƒ แƒ’แƒแƒ›แƒแƒแƒ“แƒ’แƒ”แƒ‘แƒ, แƒขแƒงแƒฃแƒ˜แƒšแƒแƒ“ แƒแƒ  แƒ“แƒแƒ•แƒฌแƒ”แƒ แƒ”. แƒกแƒ˜แƒแƒ›แƒแƒ•แƒœแƒ”แƒ‘แƒ˜แƒ— แƒ›แƒ˜แƒ•แƒ˜แƒฆแƒ”แƒ‘ แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ”แƒ‘แƒก แƒ“แƒ แƒจแƒ”แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒ‘แƒก, แƒ•แƒ”แƒชแƒ“แƒ”แƒ‘แƒ˜ แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ–แƒ” แƒ•แƒฃแƒžแƒแƒกแƒฃแƒฎแƒ.

แƒฌแƒงแƒแƒ แƒ: www.habr.com

แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ