āĻĄā§‡āĻŸāĻžāĻļāĻŋāĻŸ 2 āĻĒāĻĄāĻŧā§āĻ¨: STM32-āĻ SPI; STM8-āĻ PWM, āĻŸāĻžāĻ‡āĻŽāĻžāĻ° āĻāĻŦāĻ‚ āĻŦāĻžāĻ§āĻž

āĻĄā§‡āĻŸāĻžāĻļāĻŋāĻŸ 2 āĻĒāĻĄāĻŧā§āĻ¨: STM32-āĻ SPI; STM8-āĻ PWM, āĻŸāĻžāĻ‡āĻŽāĻžāĻ° āĻāĻŦāĻ‚ āĻŦāĻžāĻ§āĻž

В āĻĒā§āĻ°āĻĨāĻŽ āĻ…āĻ‚āĻļ āĻ†āĻŽāĻŋ āĻļāĻ–ā§‡āĻ° āĻ‡āĻ˛ā§‡āĻ•āĻŸā§āĻ°āĻ¨āĻŋāĻ•ā§āĻ¸ āĻ‡āĻžā§āĻœāĻŋāĻ¨āĻŋāĻ¯āĻŧāĻžāĻ°āĻĻā§‡āĻ° āĻŦāĻ˛āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°ā§‡āĻ›āĻŋ āĻ¯āĻžāĻ°āĻž Arduino āĻĒā§āĻ¯āĻžāĻ¨ā§āĻŸ āĻĨā§‡āĻ•ā§‡ āĻŦā§‡āĻĄāĻŧā§‡ āĻ‰āĻ ā§‡āĻ›ā§‡āĻ¨ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻāĻŦāĻ‚ āĻ•ā§‡āĻ¨ āĻ¤āĻžāĻĻā§‡āĻ° āĻŽāĻžāĻ‡āĻ•ā§āĻ°ā§‹āĻ•āĻ¨ā§āĻŸā§āĻ°ā§‹āĻ˛āĻžāĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĄā§‡āĻŸāĻžāĻļāĻŋāĻŸ āĻāĻŦāĻ‚ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ āĻĒāĻĄāĻŧāĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻĒāĻžāĻ ā§āĻ¯āĻŸāĻŋ āĻŦāĻĄāĻŧ āĻšāĻ¯āĻŧā§‡ āĻ‰āĻ ā§‡āĻ›ā§‡, āĻ¤āĻžāĻ‡ āĻ†āĻŽāĻŋ āĻāĻ•āĻŸāĻŋ āĻĒā§ƒāĻĨāĻ• āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻŋāĻ• āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻĻā§‡āĻ–āĻžāĻ¨ā§‹āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻļā§āĻ°ā§āĻ¤āĻŋ āĻĻāĻŋāĻ¯āĻŧā§‡āĻ›āĻŋāĨ¤ āĻ āĻŋāĻ• āĻ†āĻ›ā§‡, āĻ¤āĻŋāĻ¨āĻŋ āĻ¨āĻŋāĻœā§‡āĻ•ā§‡ āĻāĻ•āĻœāĻ¨ āĻ˛ā§‹āĻĄāĻžāĻ° āĻŦāĻ˛ā§‡āĻ›ā§‡āĻ¨ ...

āĻ†āĻœ āĻ†āĻŽāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻĻā§‡āĻ–āĻžāĻŦ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ STM32 (āĻŦā§āĻ˛ā§ āĻĒāĻŋāĻ˛) āĻāĻŦāĻ‚ STM8 āĻ•āĻ¨ā§āĻŸā§āĻ°ā§‹āĻ˛āĻžāĻ°ā§‡āĻ° āĻ…āĻ¨ā§‡āĻ• āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻŽā§‹āĻŸāĻžāĻŽā§āĻŸāĻŋ āĻ¸āĻšāĻœ, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻ•āĻžāĻœāĻ—ā§āĻ˛āĻŋ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĄā§‡āĻŸāĻžāĻļāĻŋāĻŸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻšāĻ¯āĻŧāĨ¤ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĄā§‡āĻŽā§‹ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒāĻ—ā§āĻ˛āĻŋ āĻ†āĻŽāĻžāĻ° āĻĒā§āĻ°āĻŋāĻ¯āĻŧ āĻāĻ˛āĻ‡āĻĄāĻŋāĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻ‰āĻ¤ā§āĻ¸āĻ°ā§āĻ—ā§€āĻ•ā§ƒāĻ¤, āĻ†āĻŽāĻ°āĻž āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻĒā§āĻ°āĻšā§āĻ° āĻĒāĻ°āĻŋāĻŽāĻžāĻŖā§‡ āĻ†āĻ˛ā§‹āĻ•āĻŋāĻ¤ āĻ•āĻ°āĻŦ, āĻ¯āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ§āĻ°āĻŖā§‡āĻ° āĻ†āĻ•āĻ°ā§āĻˇāĻŖā§€āĻ¯āĻŧ āĻĒā§‡āĻ°āĻŋāĻĢā§‡āĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤

āĻĒāĻžāĻ ā§āĻ¯āĻŸāĻŋ āĻ†āĻŦāĻžāĻ° āĻŦāĻŋāĻļāĻžāĻ˛ āĻšāĻ¯āĻŧā§‡ āĻ‰āĻ ā§‡āĻ›ā§‡, āĻ¤āĻžāĻ‡ āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻŽāĻŋ āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŦāĻ¸ā§āĻ¤ā§ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ›āĻŋ:

STM32 āĻŦā§āĻ˛ā§ āĻĒāĻŋāĻ˛: DM16 āĻĄā§āĻ°āĻžāĻ‡āĻ­āĻžāĻ° āĻ¸āĻš 634āĻŸāĻŋ āĻāĻ˛āĻ‡āĻĄāĻŋ
STM8: āĻ›āĻ¯āĻŧ PWM āĻĒāĻŋāĻ¨ āĻ¸ā§‡āĻŸ āĻ†āĻĒ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡
STM8: āĻ¤āĻŋāĻ¨āĻŸāĻŋ āĻĒāĻŋāĻ¨ā§‡ 8 RGB LEDs, āĻŦāĻžāĻ§āĻž

āĻĻāĻžāĻŦāĻŋāĻ¤ā§āĻ¯āĻžāĻ—: āĻ†āĻŽāĻŋ āĻāĻ•āĻœāĻ¨ āĻĒā§āĻ°āĻ•ā§ŒāĻļāĻ˛ā§€ āĻ¨āĻ‡, āĻ†āĻŽāĻŋ āĻ‡āĻ˛ā§‡āĻ•āĻŸā§āĻ°āĻ¨āĻŋāĻ•ā§āĻ¸ā§‡ āĻ—āĻ­ā§€āĻ° āĻœā§āĻžāĻžāĻ¨ āĻĨāĻžāĻ•āĻžāĻ° āĻ­āĻžāĻ¨ āĻ•āĻ°āĻŋ āĻ¨āĻž, āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻŸāĻŋ āĻ†āĻŽāĻžāĻ° āĻŽāĻ¤ā§‹ āĻ…āĻĒā§‡āĻļāĻžāĻĻāĻžāĻ°āĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ†āĻ¸āĻ˛ā§‡ āĻ†āĻŽāĻŋ āĻĻā§āĻ‡ āĻŦāĻ›āĻ° āĻ†āĻ—ā§‡ āĻ¨āĻŋāĻœā§‡āĻ•ā§‡ āĻŸāĻžāĻ°ā§āĻ—ā§‡āĻŸ āĻ…āĻĄāĻŋāĻ¯āĻŧā§‡āĻ¨ā§āĻ¸ āĻšāĻŋāĻ¸ā§‡āĻŦā§‡ āĻ­āĻžāĻŦāĻ¤āĻžāĻŽāĨ¤ āĻ¯āĻĻāĻŋ āĻ•ā§‡āĻ‰ āĻ†āĻŽāĻžāĻ•ā§‡ āĻŦāĻ˛āĻ¤ āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋ āĻ…āĻĒāĻ°āĻŋāĻšāĻŋāĻ¤ āĻšāĻŋāĻĒā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĄā§‡āĻŸāĻžāĻļāĻŋāĻŸ āĻĒāĻĄāĻŧāĻž āĻ­ā§€āĻ¤āĻŋāĻ•āĻ° āĻ¨āĻ¯āĻŧ, āĻ†āĻŽāĻŋ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻ¨ā§‡āĻŸā§‡ āĻ•āĻŋāĻ›ā§ āĻ•ā§‹āĻĄā§‡āĻ° āĻŸā§āĻ•āĻ°ā§‹ āĻ–ā§āĻāĻœāĻ¤ā§‡ āĻāĻŦāĻ‚ āĻ•āĻžāĻāĻšāĻŋ āĻāĻŦāĻ‚ āĻ†āĻ āĻžāĻ˛ā§‹ āĻĒā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ° āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ•ā§āĻ°āĻžāĻš āĻ†āĻŦāĻŋāĻˇā§āĻ•āĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻ–ā§āĻŦ āĻŦā§‡āĻļāĻŋ āĻ¸āĻŽāĻ¯āĻŧ āĻŦā§āĻ¯āĻ¯āĻŧ āĻ•āĻ°āĻ¤āĻžāĻŽ āĻ¨āĻžāĨ¤

āĻāĻ‡ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§‡āĻ° āĻĢā§‹āĻ•āĻžāĻ¸ āĻĄā§‡āĻŸāĻžāĻļāĻŋāĻŸ, āĻ–āĻ¸āĻĄāĻŧāĻž āĻ¨āĻ¯āĻŧ, āĻ¤āĻžāĻ‡ āĻ•ā§‹āĻĄāĻŸāĻŋ āĻ–ā§āĻŦ āĻŦā§‡āĻļāĻŋ āĻĒāĻžāĻ˛āĻŋāĻļ āĻ¨āĻžāĻ“ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻļāĻ‡ āĻāĻ•āĻŸāĻŋ āĻ•ā§āĻ°āĻžāĻšāĨ¤ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒāĻ—ā§āĻ˛āĻŋ āĻ¨āĻŋāĻœā§‡āĻ°āĻžāĻ‡ āĻ–ā§āĻŦ āĻ¸āĻšāĻœ, āĻ¯āĻĻāĻŋāĻ“ āĻ¤āĻžāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻšāĻŋāĻĒā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻĒā§āĻ°āĻĨāĻŽ āĻĒāĻ°āĻŋāĻšāĻŋāĻ¤āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ‰āĻĒāĻ¯ā§āĻ•ā§āĻ¤āĨ¤

āĻ†āĻŽāĻŋ āĻ†āĻļāĻž āĻ•āĻ°āĻŋ āĻ¯ā§‡ āĻ†āĻŽāĻžāĻ° āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻŸāĻŋ āĻļāĻ–ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻĄā§āĻŦ āĻĻā§‡āĻ“āĻ¯āĻŧāĻžāĻ° āĻāĻ•āĻ‡ āĻĒāĻ°ā§āĻ¯āĻžāĻ¯āĻŧā§‡ āĻ•āĻžāĻ‰āĻ•ā§‡ āĻ¸āĻšāĻžāĻ¯āĻŧāĻ¤āĻž āĻ•āĻ°āĻŦā§‡āĨ¤

āĻāĻ¸āĻŸāĻŋāĻāĻŽ 32

DM16 āĻāĻŦāĻ‚ SPI āĻ¸āĻš 634āĻŸāĻŋ āĻāĻ˛āĻ‡āĻĄāĻŋ

āĻŦā§āĻ˛ā§ āĻĒāĻŋāĻ˛ (STM32F103C8T6) āĻāĻŦāĻ‚ DM634 LED āĻĄā§āĻ°āĻžāĻ‡āĻ­āĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ›ā§‹āĻŸ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒāĨ¤ āĻĄā§‡āĻŸāĻžāĻļāĻŋāĻŸā§‡āĻ° āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ā§‡, āĻ†āĻŽāĻ°āĻž āĻĄā§āĻ°āĻžāĻ‡āĻ­āĻžāĻ°, STM IO āĻĒā§‹āĻ°ā§āĻŸ āĻāĻŦāĻ‚ SPI āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻŦāĨ¤

DM634

16 x 16-āĻŦāĻŋāĻŸ PWM āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ¸āĻš āĻ¤āĻžāĻ‡āĻ“āĻ¯āĻŧāĻžāĻ¨āĻŋāĻœ āĻšāĻŋāĻĒ, āĻšā§‡āĻ‡āĻ¨ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻ›ā§‹āĻŸ 12-āĻŦāĻŋāĻŸ āĻŽāĻĄā§‡āĻ˛āĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ—āĻžāĻ°ā§āĻšāĻ¸ā§āĻĨā§āĻ¯ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒ āĻĨā§‡āĻ•ā§‡ āĻĒāĻ°āĻŋāĻšāĻŋāĻ¤ āĻšāĻžāĻ˛āĻ•āĻž āĻĒā§āĻ¯āĻžāĻ•. āĻāĻ• āĻ¸āĻŽāĻ¯āĻŧā§‡, DM63x āĻāĻŦāĻ‚ āĻ¸ā§āĻĒāĻ°āĻŋāĻšāĻŋāĻ¤ TLC5940-āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻŦā§‡āĻ›ā§‡ āĻ¨āĻŋāĻ¯āĻŧā§‡, āĻ†āĻŽāĻŋ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ•āĻžāĻ°āĻŖā§‡ DM-āĻ¤ā§‡ āĻ¸ā§āĻĨāĻŋāĻ° āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĻžāĻŽ: 1) Aliexpress-āĻ TLC āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻœāĻžāĻ˛, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻāĻŸāĻŋ āĻ¨āĻ¯āĻŧ; 2) DM āĻāĻ° āĻ¨āĻŋāĻœāĻ¸ā§āĻŦ āĻĢā§āĻ°āĻŋāĻ•ā§‹āĻ¯āĻŧā§‡āĻ¨ā§āĻ¸āĻŋ āĻœā§‡āĻ¨āĻžāĻ°ā§‡āĻŸāĻ° āĻ¸āĻš āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻŦāĻžāĻ¯āĻŧāĻ¤ā§āĻ¤āĻļāĻžāĻ¸āĻŋāĻ¤ PWM āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡; 3) āĻāĻŸāĻŋ āĻŽāĻ¸ā§āĻ•ā§‹āĻ¤ā§‡ āĻ¸āĻ¸ā§āĻ¤āĻžāĻ¯āĻŧ āĻ•ā§‡āĻ¨āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻāĻŦāĻ‚ āĻ†āĻ˛ā§€āĻ° āĻ•āĻžāĻ› āĻĨā§‡āĻ•ā§‡ āĻĒāĻžāĻ°ā§āĻ¸ā§‡āĻ˛ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ…āĻĒā§‡āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻŦā§‡āĻ¨ āĻ¨āĻžāĨ¤ āĻāĻŦāĻ‚, āĻ…āĻŦāĻļā§āĻ¯āĻ‡, āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻšāĻŋāĻĒāĻŸāĻŋ āĻ¨āĻŋāĻœā§‡āĻ‡ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻ•āĻ°āĻŦā§‡āĻ¨ āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŦā§‡āĻ¨ āĻ¨āĻž āĻ¤āĻž āĻļāĻŋāĻ–āĻ¤ā§‡ āĻ†āĻ•āĻ°ā§āĻˇāĻŖā§€āĻ¯āĻŧ āĻ›āĻŋāĻ˛āĨ¤ āĻšāĻŋāĻĒāĻ—ā§āĻ˛āĻŋ āĻāĻ–āĻ¨ āĻĒā§āĻ°āĻ§āĻžāĻ¨āĻ¤ SSOP24 āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœā§‡ āĻ‰āĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻŋāĻ¤ āĻšāĻ¯āĻŧ, āĻāĻ—ā§āĻ˛āĻŋ āĻ…ā§āĻ¯āĻžāĻĄāĻžāĻĒā§āĻŸāĻžāĻ°ā§‡ āĻ¸ā§‹āĻ˛ā§āĻĄāĻžāĻ° āĻ•āĻ°āĻž āĻ¸āĻšāĻœāĨ¤

āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤āĻ•āĻžāĻ°āĻ• āĻ¤āĻžāĻ‡āĻ“āĻ¯āĻŧāĻžāĻ¨āĻŋāĻœ, āĻ¤āĻĨā§āĻ¯ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻŸā§ āĻĻā§āĻ¯ āĻšāĻŋāĻĒ āĻšā§€āĻ¨āĻž āĻ‡āĻ‚āĻ°ā§‡āĻœāĻŋāĻ¤ā§‡ āĻ˛ā§‡āĻ–āĻž āĻ†āĻ›ā§‡, āĻ¯āĻžāĻ° āĻŽāĻžāĻ¨ā§‡ āĻŽāĻœāĻž āĻšāĻŦā§‡āĨ¤ āĻĒā§āĻ°āĻĨāĻŽā§‡ āĻĒāĻŋāĻ¨āĻ†āĻ‰āĻŸāĻŸāĻŋ āĻĻā§‡āĻ–ā§āĻ¨āĻĒāĻŋāĻ¨ āĻ¸āĻ‚āĻ¯ā§‹āĻ—) āĻŦā§āĻāĻ¤ā§‡ āĻ•ā§‹āĻ¨ āĻĒāĻž āĻ•āĻŋ āĻ•āĻŋ āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡, āĻāĻŦāĻ‚ āĻĒāĻŋāĻ¨ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻŦāĻ°āĻŖ (āĻĒāĻŋāĻ¨ āĻŦāĻŋāĻŦāĻ°āĻŖ) 16 āĻĒāĻŋāĻ¨:

āĻĄā§‡āĻŸāĻžāĻļāĻŋāĻŸ 2 āĻĒāĻĄāĻŧā§āĻ¨: STM32-āĻ SPI; STM8-āĻ PWM, āĻŸāĻžāĻ‡āĻŽāĻžāĻ° āĻāĻŦāĻ‚ āĻŦāĻžāĻ§āĻž
āĻ¸āĻŋāĻ™ā§āĻ• āĻĄāĻŋāĻ¸āĻŋ āĻ‰āĻ¤ā§āĻ¸ (āĻ–ā§‹āĻ˛āĻž āĻĄā§āĻ°ā§‡āĻ¨)

āĻĄā§āĻŦāĻž / āĻ“āĻĒā§‡āĻ¨-āĻĄā§āĻ°ā§‡āĻ¨ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ - āĻ¸ā§āĻŸāĻ•; āĻ‡āĻ¨āĻ•āĻžāĻŽāĻŋāĻ‚ āĻ¸ā§āĻ°ā§‹āĻ¤ā§‡āĻ° āĻ‰ā§ŽāĻ¸; āĻāĻ•āĻŸāĻŋ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ…āĻŦāĻ¸ā§āĻĨāĻžāĻ¯āĻŧ āĻŽāĻžāĻŸāĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻāĻ•āĻŸāĻŋ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ - āĻāĻ˛āĻ‡āĻĄāĻŋ āĻ•ā§āĻ¯āĻžāĻĨā§‹āĻĄ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĄā§āĻ°āĻžāĻ‡āĻ­āĻžāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻĨāĻžāĻ•ā§‡āĨ¤ āĻŦā§ˆāĻĻā§āĻ¯ā§āĻ¤āĻŋāĻ•āĻ­āĻžāĻŦā§‡, āĻāĻŸāĻŋ āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻ•ā§‹āĻ¨ "āĻ–ā§‹āĻ˛āĻž āĻĄā§āĻ°ā§‡āĻ¨" āĻ¨āĻ¯āĻŧ (āĻ–ā§‹āĻ˛āĻž āĻ¨āĻ°ā§āĻĻāĻŽāĻž), āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻĄā§‡āĻŸāĻžāĻļāĻŋāĻŸā§‡ āĻĄā§āĻ°ā§‡āĻ¨ āĻŽā§‹āĻĄā§‡ āĻ†āĻ‰āĻŸāĻĒā§āĻŸāĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ‡ āĻœāĻžāĻ¤ā§€āĻ¯āĻŧ āĻĒāĻĻāĻŦā§€ āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻļāĻ‡ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻ¯āĻŧāĨ¤

āĻĄā§‡āĻŸāĻžāĻļāĻŋāĻŸ 2 āĻĒāĻĄāĻŧā§āĻ¨: STM32-āĻ SPI; STM8-āĻ PWM, āĻŸāĻžāĻ‡āĻŽāĻžāĻ° āĻāĻŦāĻ‚ āĻŦāĻžāĻ§āĻž
āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻŽāĻžāĻ¨ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻ¤ā§‡ REXT āĻāĻŦāĻ‚ GND āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻŦāĻžāĻšā§āĻ¯āĻŋāĻ• āĻĒā§āĻ°āĻ¤āĻŋāĻ°ā§‹āĻ§āĻ•

REXT āĻĒāĻŋāĻ¨ āĻāĻŦāĻ‚ āĻ—ā§āĻ°āĻžāĻ‰āĻ¨ā§āĻĄā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋ āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ āĻĒā§āĻ°āĻ¤āĻŋāĻ°ā§‹āĻ§āĻ• āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻž āĻ†āĻ›ā§‡, āĻ¯āĻž āĻ†āĻ‰āĻŸāĻĒā§āĻŸāĻ—ā§āĻ˛āĻŋāĻ° āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻĒā§āĻ°āĻ¤āĻŋāĻ°ā§‹āĻ§āĻ•ā§‡ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻ•āĻ°ā§‡, āĻĄā§‡āĻŸāĻžāĻļāĻŋāĻŸā§‡āĻ° 9 āĻĒā§ƒāĻˇā§āĻ āĻžāĻ° āĻ—ā§āĻ°āĻžāĻĢāĻŸāĻŋ āĻĻā§‡āĻ–ā§āĻ¨āĨ¤ DM634-āĻ, āĻ¸āĻžāĻŽāĻ—ā§āĻ°āĻŋāĻ• āĻ‰āĻœā§āĻœā§āĻŦāĻ˛āĻ¤āĻž (āĻŦāĻŋāĻļā§āĻŦ āĻ‰āĻœā§āĻœā§āĻŦāĻ˛āĻ¤āĻž); āĻ†āĻŽāĻŋ āĻāĻ‡ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§‡ āĻŦāĻŋāĻļāĻĻā§‡ āĻ¯āĻžāĻŦ āĻ¨āĻž, āĻ†āĻŽāĻŋ āĻāĻ–āĻžāĻ¨ā§‡ āĻāĻ•āĻŸāĻŋ 2.2 - 3 kOhm āĻĒā§āĻ°āĻ¤āĻŋāĻ°ā§‹āĻ§āĻ• āĻ°āĻžāĻ–āĻŦāĨ¤

āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻšāĻŋāĻĒ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻ¯āĻŧ āĻ¤āĻž āĻŦā§‹āĻāĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻ¸ā§āĻ¨ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ā§‡āĻ° āĻŦāĻ°ā§āĻŖāĻ¨āĻžāĻŸāĻŋ āĻĻā§‡āĻ–āĻŋ:

āĻĄā§‡āĻŸāĻžāĻļāĻŋāĻŸ 2 āĻĒāĻĄāĻŧā§āĻ¨: STM32-āĻ SPI; STM8-āĻ PWM, āĻŸāĻžāĻ‡āĻŽāĻžāĻ° āĻāĻŦāĻ‚ āĻŦāĻžāĻ§āĻž

āĻšā§āĻ¯āĻžāĻ, āĻāĻ–āĻžāĻ¨ā§‡, āĻšā§€āĻ¨āĻž āĻ‡āĻ‚āĻ°ā§‡āĻœāĻŋ āĻ¤āĻžāĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŽāĻšāĻŋāĻŽāĻžāĻ¯āĻŧāĨ¤ āĻāĻŸāĻŋ āĻ…āĻ¨ā§āĻŦāĻžāĻĻ āĻ•āĻ°āĻž āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ¯ā§āĻ•ā§āĻ¤, āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻšāĻžāĻ¨ āĻ¤āĻŦā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻāĻŸāĻŋ āĻŦā§āĻāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨, āĻ¤āĻŦā§‡ āĻ†āĻ°ā§‡āĻ•āĻŸāĻŋ āĻ‰āĻĒāĻžāĻ¯āĻŧ āĻ†āĻ›ā§‡ - āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻĄā§‡āĻŸāĻžāĻļā§€āĻŸā§‡ āĻ¸āĻ‚āĻ¯ā§‹āĻ—āĻŸāĻŋ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°ā§€āĻ­āĻžāĻŦā§‡ āĻŦāĻ¨ā§āĻ§ TLC5940 āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¤āĻž āĻĻā§‡āĻ–āĻžāĻ° āĻœāĻ¨ā§āĻ¯:

āĻĄā§‡āĻŸāĻžāĻļāĻŋāĻŸ 2 āĻĒāĻĄāĻŧā§āĻ¨: STM32-āĻ SPI; STM8-āĻ PWM, āĻŸāĻžāĻ‡āĻŽāĻžāĻ° āĻāĻŦāĻ‚ āĻŦāĻžāĻ§āĻž
â€Ļ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ā§‡ āĻĄā§‡āĻŸāĻž āĻĒā§āĻ°āĻŦā§‡āĻļā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¤āĻŋāĻ¨āĻŸāĻŋ āĻĒāĻŋāĻ¨ā§‡āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨āĨ¤ SCLK āĻ¸āĻ‚āĻ•ā§‡āĻ¤ā§‡āĻ° āĻ•ā§āĻ°āĻŽāĻŦāĻ°ā§āĻ§āĻŽāĻžāĻ¨ āĻĒā§āĻ°āĻžāĻ¨ā§āĻ¤āĻŸāĻŋ SIN āĻĒāĻŋāĻ¨ āĻĨā§‡āĻ•ā§‡ āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ°ā§‡ āĻĄā§‡āĻŸāĻž āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ°āĻŋāĻ¤ āĻ•āĻ°ā§‡āĨ¤ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĄā§‡āĻŸāĻž āĻ˛ā§‹āĻĄ āĻšāĻ“āĻ¯āĻŧāĻžāĻ° āĻĒāĻ°ā§‡, āĻāĻ•āĻŸāĻŋ āĻ¸āĻ‚āĻ•ā§āĻˇāĻŋāĻĒā§āĻ¤ āĻ‰āĻšā§āĻš XLAT āĻ¸āĻ‚āĻ•ā§‡āĻ¤ āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ°ā§‡ āĻ¸āĻŋāĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛āĻŋ āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ°āĻŋāĻ¤ āĻĄā§‡āĻŸāĻžāĻ•ā§‡ āĻ†āĻŸāĻ•ā§‡ āĻĻā§‡āĻ¯āĻŧāĨ¤ āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ° āĻšāĻ˛ XLAT āĻ¸āĻ‚āĻ•ā§‡āĻ¤ āĻ¸ā§āĻ¤āĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻŸā§āĻ°āĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻž āĻ—ā§‡āĻŸāĨ¤ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĄā§‡āĻŸāĻž āĻĒā§āĻ°āĻĨāĻŽā§‡ MSB āĻĒā§āĻ°ā§‡āĻ°āĻŖ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤

āĻšā§āĻĄāĻŧāĻ•āĻž - āĻ˛ā§āĻ¯āĻžāĻš / āĻ˛ā§āĻ¯āĻžāĻš / āĻ˛ā§āĻ¯āĻžāĻšāĨ¤
āĻ•ā§āĻ°āĻŽāĻŦāĻ°ā§āĻ§āĻŽāĻžāĻ¨ āĻĒā§āĻ°āĻžāĻ¨ā§āĻ¤ āĻ¨āĻžāĻĄāĻŧāĻŋ āĻ¨ā§‡āĻ¤ā§ƒāĻ¸ā§āĻĨāĻžāĻ¨ā§€āĻ¯āĻŧ āĻĒā§āĻ°āĻžāĻ¨ā§āĻ¤ āĻšāĻ¯āĻŧ
MSB āĻĒā§āĻ°āĻĨāĻŽā§‡ - āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ–āĻ¯ā§‹āĻ—ā§āĻ¯ (āĻŦāĻžāĻŽ āĻĻāĻŋāĻ•ā§‡) āĻŦāĻŋāĻŸ āĻāĻ—āĻŋāĻ¯āĻŧā§‡āĨ¤
āĻ˜āĻĄāĻŧāĻŋ āĻ¤āĻĨā§āĻ¯ - āĻ•ā§āĻ°āĻŽāĻžāĻ¨ā§āĻ¸āĻžāĻ°ā§‡ āĻĄā§‡āĻŸāĻž āĻĒā§āĻ°ā§‡āĻ°āĻŖ āĻ•āĻ°ā§āĻ¨ (āĻŦāĻŋāĻŸ āĻ•āĻ°ā§‡)āĨ¤

āĻļāĻŦā§āĻĻ āĻšā§āĻĄāĻŧāĻ•āĻž āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻļāĻ‡ āĻšāĻŋāĻĒāĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ā§‡ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ‰āĻĒāĻžāĻ¯āĻŧā§‡ āĻ…āĻ¨ā§āĻŦāĻžāĻĻ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻ‡ āĻŦā§‹āĻāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻŽāĻŋ āĻ¨āĻŋāĻœā§‡āĻ•ā§‡ āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻŦ

āĻ›ā§‹āĻŸ āĻļāĻŋāĻ•ā§āĻˇāĻžāĻŽā§‚āĻ˛āĻ• āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻāĻ˛āĻ‡āĻĄāĻŋ āĻĄā§āĻ°āĻžāĻ‡āĻ­āĻžāĻ° āĻŽā§‚āĻ˛āĻ¤ āĻāĻ•āĻŸāĻŋ āĻļāĻŋāĻĢāĻŸ āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ°āĨ¤ "āĻļāĻŋāĻĢāĻŸ" (āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨) āĻ¨āĻžāĻŽā§‡ - āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ā§‡āĻ° āĻ­āĻŋāĻ¤āĻ°ā§‡ āĻĄā§‡āĻŸāĻžāĻ° āĻŦāĻŋāĻŸ-āĻŦāĻžāĻ‡-āĻŦāĻŋāĻŸ āĻ¨āĻĄāĻŧāĻžāĻšāĻĄāĻŧāĻž: āĻ­āĻŋāĻ¤āĻ°ā§‡ āĻĸā§‡āĻ•ā§‡ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻŦāĻŋāĻŸ āĻĒā§āĻ°ā§‹ āĻšā§‡āĻ‡āĻ¨āĻŸāĻŋāĻ•ā§‡ āĻ¸āĻžāĻŽāĻ¨ā§‡āĻ° āĻĻāĻŋāĻ•ā§‡ āĻ ā§‡āĻ˛ā§‡ āĻĻā§‡āĻ¯āĻŧāĨ¤ āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻ•ā§‡āĻ‰ āĻļāĻŋāĻĢāĻŸā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻ˛āĻ‡āĻĄāĻŋ-āĻ° āĻŦāĻŋāĻļā§ƒāĻ™ā§āĻ–āĻ˛ āĻŦā§āĻ˛āĻŋāĻ™ā§āĻ•āĻŋāĻ‚ āĻĒāĻ°ā§āĻ¯āĻŦā§‡āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¯āĻŧ āĻ¨āĻž, āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻļāĻžāĻŸāĻžāĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻļā§āĻ°āĻŽāĻŋāĻ•āĻĻā§‡āĻ° āĻĨā§‡āĻ•ā§‡ āĻ†āĻ˛āĻžāĻĻāĻž āĻ•āĻ°āĻž āĻŦāĻžāĻĢāĻžāĻ° āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ°ā§‡ āĻ¸āĻžā§āĻšāĻžāĻ˛āĻŋāĻ¤ āĻšāĻ¯āĻŧ (āĻšā§āĻĄāĻŧāĻ•āĻž) āĻšāĻ˛ āĻāĻ• āĻ§āĻ°āĻŖā§‡āĻ° āĻĄā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ āĻ°ā§āĻŽ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻŦāĻŋāĻŸāĻ—ā§āĻ˛āĻŋ āĻĒāĻ›āĻ¨ā§āĻĻāĻ¸āĻ‡ āĻ•ā§āĻ°āĻŽ āĻ…āĻ¨ā§āĻ¸āĻžāĻ°ā§‡ āĻ˛āĻžāĻ‡āĻ¨ āĻ•āĻ°ā§‡āĨ¤ āĻ¯āĻ–āĻ¨ āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤ āĻšāĻ¯āĻŧ, āĻļāĻžāĻŸāĻžāĻ°āĻŸāĻŋ āĻ–ā§‹āĻ˛ā§‡ āĻāĻŦāĻ‚ āĻŦāĻŋāĻŸāĻ—ā§āĻ˛āĻŋ āĻ•āĻžāĻœ āĻ•āĻ°āĻ¤ā§‡ āĻ¯āĻžāĻ¯āĻŧ, āĻ†āĻ—ā§‡āĻ° āĻŦā§āĻ¯āĻžāĻšāĻŸāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°ā§‡āĨ¤ āĻļāĻŦā§āĻĻ āĻšā§āĻĄāĻŧāĻ•āĻž āĻŽāĻžāĻ‡āĻ•ā§āĻ°ā§‹āĻ¸āĻžāĻ°ā§āĻ•āĻŋāĻŸā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ā§‡ āĻĒā§āĻ°āĻžāĻ¯āĻŧ āĻ¸āĻŦāĻ¸āĻŽāĻ¯āĻŧ āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻĄā§āĻ¯āĻžāĻŽā§āĻĒāĻžāĻ° āĻŦā§‹āĻāĻžāĻ¯āĻŧ, āĻāĻŸāĻŋ āĻ¯ā§‡ āĻ•ā§‹āĻ¨āĻ“ āĻ¸āĻ‚āĻŽāĻŋāĻļā§āĻ°āĻŖā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤

āĻ¸ā§āĻ¤āĻ°āĻžāĻ‚, DM634-āĻ āĻĄā§‡āĻŸāĻž āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ° āĻ¨āĻŋāĻŽā§āĻ¨āĻ°ā§‚āĻĒ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ: DAI āĻ‡āĻ¨āĻĒā§āĻŸāĻŸāĻŋāĻ•ā§‡ āĻĻā§‚āĻ°ā§‡āĻ° LED āĻāĻ° āĻ‰āĻšā§āĻš āĻŦāĻŋāĻŸā§‡āĻ° āĻŽāĻžāĻ¨ āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§āĻ¨, DCK āĻ‰āĻĒāĻ°ā§‡ āĻāĻŦāĻ‚ āĻ¨ā§€āĻšā§‡ āĻŸāĻžāĻ¨ā§āĻ¨; DAI āĻ‡āĻ¨āĻĒā§āĻŸāĻ•ā§‡ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻŦāĻŋāĻŸā§‡āĻ° āĻŽāĻžāĻ¨ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°ā§āĻ¨, DCK āĻŸāĻžāĻ¨ā§āĻ¨; āĻāĻŦāĻ‚ āĻ¤āĻžāĻ‡ āĻ¯āĻ¤āĻ•ā§āĻˇāĻŖ āĻ¨āĻž āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŦāĻŋāĻŸ āĻĒā§āĻ°ā§‡āĻ°āĻŖ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ (āĻŽāĻ§ā§āĻ¯ā§‡ āĻ˜āĻĄāĻŧāĻŋ), āĻ¯āĻžāĻ° āĻĒāĻ°ā§‡ āĻ†āĻŽāĻ°āĻž LAT āĻŸāĻžāĻ¨āĨ¤ āĻāĻŸāĻŋ āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛āĻŋ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻŦāĻŋāĻŸ āĻ ā§āĻ‚ āĻļāĻŦā§āĻĻ), āĻ¤āĻŦā§‡ āĻāĻŸāĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻŦāĻŋāĻļā§‡āĻˇāĻ­āĻžāĻŦā§‡ āĻ¤ā§€āĻ•ā§āĻˇā§āĻŖ SPI āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ­āĻžāĻ˛, āĻ•āĻžāĻ°āĻŖ āĻāĻŸāĻŋ āĻ†āĻŽāĻžāĻĻā§‡āĻ° STM32 āĻ āĻĻā§āĻŸāĻŋ āĻ•āĻĒāĻŋāĻ¤ā§‡ āĻ‰āĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

āĻ¨ā§€āĻ˛ āĻŸā§āĻ¯āĻžāĻŦāĻ˛ā§‡āĻŸ STM32F103

āĻĒāĻ°āĻŋāĻšāĻžāĻ¯āĻŧāĻ•: STM32 āĻ•āĻ¨ā§āĻŸā§āĻ°ā§‹āĻ˛āĻžāĻ°āĻ—ā§āĻ˛āĻŋ Atmega328 āĻāĻ° āĻšā§‡āĻ¯āĻŧā§‡ āĻ…āĻ¨ā§‡āĻ• āĻŦā§‡āĻļāĻŋ āĻœāĻŸāĻŋāĻ˛ āĻ¯ā§‡ āĻ¤āĻžāĻ°āĻž āĻ­ā§€āĻ¤āĻŋāĻ•āĻ° āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻāĻ•āĻ‡ āĻ¸āĻŽāĻ¯āĻŧā§‡, āĻļāĻ•ā§āĻ¤āĻŋ āĻ¸āĻžā§āĻšāĻ¯āĻŧā§‡āĻ° āĻ•āĻžāĻ°āĻŖā§‡, āĻĒā§āĻ°āĻžāĻ¯āĻŧ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒā§‡āĻ°āĻŋāĻĢā§‡āĻ°āĻžāĻ˛āĻ—ā§āĻ˛āĻŋ āĻļā§āĻ°ā§āĻ¤ā§‡ āĻ…āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻ‰āĻ¤ā§āĻ¸ āĻĨā§‡āĻ•ā§‡ āĻ˜āĻĄāĻŧāĻŋāĻ° āĻĢā§āĻ°āĻŋāĻ•ā§‹āĻ¯āĻŧā§‡āĻ¨ā§āĻ¸āĻŋ 8 āĻŽā§‡āĻ—āĻžāĻšāĻžāĻ°ā§āĻŸāĻœāĨ¤ āĻ¸ā§ŒāĻ­āĻžāĻ—ā§āĻ¯āĻŦāĻļāĻ¤, āĻāĻ¸āĻŸāĻŋāĻāĻŽ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻžāĻ°āĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻ•ā§‹āĻĄ āĻ˛āĻŋāĻ–ā§‡āĻ›āĻŋāĻ˛ āĻ¯āĻž āĻšāĻŋāĻĒāĻŸāĻŋāĻ•ā§‡ "āĻ—āĻŖāĻ¨āĻž āĻ•āĻ°āĻž" 72 āĻŽā§‡āĻ—āĻžāĻšāĻžāĻ°ā§āĻŸāĻœā§‡ āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ†āĻ¸ā§‡ āĻāĻŦāĻ‚ āĻ†āĻŽāĻžāĻ° āĻœāĻžāĻ¨āĻž āĻ¸āĻŽāĻ¸ā§āĻ¤ IDE-āĻāĻ° āĻ˛ā§‡āĻ–āĻ•āĻ°āĻž āĻāĻŸāĻŋāĻ•ā§‡ āĻļā§āĻ°ā§ āĻ•āĻ°āĻžāĻ° āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ¤ā§‡ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°ā§‡āĻ›ā§‡āĻ¨, āĻ¤āĻžāĻ‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ˜āĻĄāĻŧāĻŋāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ¨ā§‡āĻ‡ (āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻ¸āĻ¤ā§āĻ¯āĻŋāĻ‡ āĻšāĻžāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨) āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻĒā§‡āĻ°āĻŋāĻĢā§‡āĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛ āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤

āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨: āĻœāĻ¨āĻĒā§āĻ°āĻŋāĻ¯āĻŧ STM32F103C8T6 āĻšāĻŋāĻĒāĻŸāĻŋ āĻŦā§āĻ˛ā§ āĻĒāĻŋāĻ˛ā§‡ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻž āĻ†āĻ›ā§‡, āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻĻā§āĻŸāĻŋ āĻĻāĻ°āĻ•āĻžāĻ°ā§€ āĻ¨āĻĨāĻŋ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡:

āĻĄā§‡āĻŸāĻžāĻļāĻŋāĻŸā§‡, āĻ†āĻŽāĻ°āĻž āĻ†āĻ—ā§āĻ°āĻšā§€ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ:

  • āĻĒāĻŋāĻ¨āĻ†āĻ‰āĻŸ - āĻšāĻŋāĻĒ āĻĒāĻŋāĻ¨āĻ†āĻ‰āĻŸ - āĻ¯āĻĻāĻŋ āĻ†āĻŽāĻ°āĻž āĻ¨āĻŋāĻœā§‡āĻ°āĻžāĻ‡ āĻŦā§‹āĻ°ā§āĻĄ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤ āĻ¨āĻŋāĻ‡;
  • āĻŽā§‡āĻŽāĻ°āĻŋ āĻŽā§āĻ¯āĻžāĻĒ - āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻšāĻŋāĻĒā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻŽā§‡āĻŽāĻ°āĻŋ āĻŽā§āĻ¯āĻžāĻĒāĨ¤ āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛āĻŸāĻŋāĻ¤ā§‡ āĻĒā§āĻ°ā§‹ āĻ˛āĻžāĻ‡āĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻŽāĻžāĻ¨āĻšāĻŋāĻ¤ā§āĻ° āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡, āĻāĻ¤ā§‡ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻ—ā§āĻ˛āĻŋ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ– āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯āĻž āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¨āĻ¯āĻŧāĨ¤
  • āĻĒāĻŋāĻ¨ āĻ¸āĻ‚āĻœā§āĻžāĻž āĻŸā§‡āĻŦāĻŋāĻ˛ - āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻāĻŦāĻ‚ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻĒāĻŋāĻ¨ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž; āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻ¨ā§‡āĻŸā§‡ "āĻ¨ā§€āĻ˛ āĻŦāĻĄāĻŧāĻŋ" āĻāĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻĒāĻ¨āĻŋ āĻĒāĻŋāĻ¨ā§‡āĻ° āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻāĻŦāĻ‚ āĻ¤āĻžāĻĻā§‡āĻ° āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ¸āĻš āĻ†āĻ°āĻ“ āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻœāĻ¨āĻ• āĻ›āĻŦāĻŋ āĻ–ā§āĻāĻœā§‡ āĻĒā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤ āĻ…āĻ¤āĻāĻŦ, āĻ†āĻŽāĻ°āĻž āĻ…āĻŦāĻŋāĻ˛āĻŽā§āĻŦā§‡ āĻŦā§āĻ˛ā§ āĻĒāĻŋāĻ˛ āĻĒāĻŋāĻ¨āĻ†āĻ‰āĻŸ āĻ—ā§āĻ—āĻ˛ āĻ•āĻ°āĻŋ āĻāĻŦāĻ‚ āĻāĻ‡ āĻ›āĻŦāĻŋāĻŸāĻŋ āĻšāĻžāĻ¤ā§‡ āĻ°āĻžāĻ–āĻŋ:

āĻĄā§‡āĻŸāĻžāĻļāĻŋāĻŸ 2 āĻĒāĻĄāĻŧā§āĻ¨: STM32-āĻ SPI; STM8-āĻ PWM, āĻŸāĻžāĻ‡āĻŽāĻžāĻ° āĻāĻŦāĻ‚ āĻŦāĻžāĻ§āĻž
āĻĻā§āĻ°āĻˇā§āĻŸāĻŦā§āĻ¯: āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻ¨ā§‡āĻŸ āĻĨā§‡āĻ•ā§‡ āĻ›āĻŦāĻŋāĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻ›āĻŋāĻ˛, āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻ•āĻ°āĻž āĻ—ā§‡āĻ›ā§‡, āĻ¯āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ§āĻ¨ā§āĻ¯āĻŦāĻžāĻĻāĨ¤ āĻ›āĻŦāĻŋāĻŸāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¤āĻŦā§‡ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻĒāĻžāĻ  - āĻĄā§‡āĻŸāĻžāĻļāĻŋāĻŸ āĻĨā§‡āĻ•ā§‡ āĻ¨āĻ¯āĻŧ āĻ¤āĻĨā§āĻ¯ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻž āĻ­āĻžāĻ˛āĨ¤

āĻ†āĻŽāĻ°āĻž āĻĄā§‡āĻŸāĻžāĻļā§€āĻŸāĻŸāĻŋ āĻ¸āĻ°āĻŋāĻ¯āĻŧā§‡ āĻĢā§‡āĻ˛āĻŋ, āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛ āĻ–ā§āĻ˛āĻŋ, āĻāĻ–āĻ¨ āĻĨā§‡āĻ•ā§‡ āĻ†āĻŽāĻ°āĻž āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŋāĨ¤
āĻĒāĻĻā§āĻ§āĻ¤āĻŋ: āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻ‡āĻ¨āĻĒā§āĻŸ/āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§āĻ¨, SPI āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°ā§āĻ¨, āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻĒā§‡āĻ°āĻŋāĻĢā§‡āĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛ āĻšāĻžāĻ˛ā§ āĻ•āĻ°ā§āĻ¨āĨ¤

āĻ‡āĻ¨āĻĒā§āĻŸ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ

Atmega328 āĻ, I/O āĻ…āĻ¤ā§āĻ¯āĻ¨ā§āĻ¤ āĻ¸āĻšāĻœ, āĻ¯ā§‡ āĻ•āĻžāĻ°āĻŖā§‡ STM32 āĻŦāĻŋāĻ•āĻ˛ā§āĻĒā§‡āĻ° āĻĒā§āĻ°āĻžāĻšā§āĻ°ā§āĻ¯ āĻŦāĻŋāĻ­ā§āĻ°āĻžāĻ¨ā§āĻ¤āĻŋāĻ•āĻ° āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻāĻ–āĻ¨ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ‰āĻĒāĻ¸āĻ‚āĻšāĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻāĻŽāĻ¨āĻ•āĻŋ āĻšāĻžāĻ°āĻŸāĻŋ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻ†āĻ›ā§‡:

āĻĄā§‡āĻŸāĻžāĻļāĻŋāĻŸ 2 āĻĒāĻĄāĻŧā§āĻ¨: STM32-āĻ SPI; STM8-āĻ PWM, āĻŸāĻžāĻ‡āĻŽāĻžāĻ° āĻāĻŦāĻ‚ āĻŦāĻžāĻ§āĻž
āĻ“āĻĒā§‡āĻ¨ āĻĄā§āĻ°ā§‡āĻ¨ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ, āĻĒā§āĻļ-āĻĒā§āĻ˛ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ, āĻĒā§āĻļ-āĻĒā§āĻ˛ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ, āĻ“āĻĒā§‡āĻ¨-āĻĄā§āĻ°ā§‡āĻ¨ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ

"āĻĒā§āĻ˛ āĻ§āĻžāĻ•ā§āĻ•āĻž" (āĻ§āĻžāĻ•ā§āĻ•āĻž āĻŸāĻžāĻ¨āĻž) - āĻ†āĻ°āĻĄā§āĻ‡āĻ¨ā§‹ āĻĨā§‡āĻ•ā§‡ āĻ¸ā§āĻŦāĻžāĻ­āĻžāĻŦāĻŋāĻ• āĻ†āĻ‰āĻŸāĻĒā§āĻŸ, āĻĒāĻŋāĻ¨āĻŸāĻŋ āĻ‰āĻšā§āĻš āĻŦāĻž āĻ¨āĻŋāĻŽā§āĻ¨ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ ‘āĻ“āĻĒā§‡āĻ¨ āĻĄā§āĻ°ā§‡āĻ¨â€™ āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ‰āĻ āĻ›ā§‡ āĻ…āĻ¸ā§āĻŦāĻŋāĻ§āĻž, āĻ¯āĻĻāĻŋāĻ“ āĻ†āĻ¸āĻ˛ā§‡ āĻāĻ–āĻžāĻ¨ā§‡ āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻ¸āĻšāĻœ:

āĻĄā§‡āĻŸāĻžāĻļāĻŋāĻŸ 2 āĻĒāĻĄāĻŧā§āĻ¨: STM32-āĻ SPI; STM8-āĻ PWM, āĻŸāĻžāĻ‡āĻŽāĻžāĻ° āĻāĻŦāĻ‚ āĻŦāĻžāĻ§āĻž
āĻĄā§‡āĻŸāĻžāĻļāĻŋāĻŸ 2 āĻĒāĻĄāĻŧā§āĻ¨: STM32-āĻ SPI; STM8-āĻ PWM, āĻŸāĻžāĻ‡āĻŽāĻžāĻ° āĻāĻŦāĻ‚ āĻŦāĻžāĻ§āĻž
āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ / āĻ¯āĻ–āĻ¨ āĻĒā§‹āĻ°ā§āĻŸ āĻ†āĻ‰āĻŸāĻĒā§āĻŸā§‡ āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ: / āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻŦāĻžāĻĢāĻžāĻ° āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ: / – āĻ–ā§‹āĻ˛āĻž āĻĄā§āĻ°ā§‡āĻ¨ āĻŽā§‹āĻĄ: āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ°ā§‡ "0" N-MOS āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°ā§‡, āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ°ā§‡ "1" āĻšāĻžāĻ‡-āĻœā§‡āĻĄ āĻŽā§‹āĻĄā§‡ āĻĒā§‹āĻ°ā§āĻŸ āĻ›ā§‡āĻĄāĻŧā§‡ āĻĻā§‡āĻ¯āĻŧ (P -MOS āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĻ¨āĻŋ ) /- āĻĒā§āĻļ-āĻĒā§āĻ˛ āĻŽā§‹āĻĄ: āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ°ā§‡ "0" N-MOS āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°ā§‡, āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ°ā§‡ "1" P-MOS āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°ā§‡ā§ˇ

āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ–ā§‹āĻ˛āĻž āĻĄā§āĻ°ā§‡āĻ¨ āĻĒāĻžāĻ°ā§āĻĨāĻ•ā§āĻ¯ (āĻ–ā§‹āĻ˛āĻž āĻ¨āĻ°ā§āĻĻāĻŽāĻž) "āĻĒā§āĻļ-āĻŸāĻžāĻ¨" āĻĨā§‡āĻ•ā§‡ (āĻ§āĻžāĻ•ā§āĻ•āĻž āĻŸāĻžāĻ¨āĻž) āĻšāĻ˛ āĻ¯ā§‡ āĻĒā§āĻ°āĻĨāĻŽ āĻĒāĻŋāĻ¨ā§‡ āĻāĻŸāĻŋ āĻ‰āĻšā§āĻš āĻ…āĻŦāĻ¸ā§āĻĨāĻž āĻ¨āĻŋāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¨āĻž: āĻ¯āĻ–āĻ¨ āĻāĻ•āĻŸāĻŋ āĻ‡āĻ‰āĻ¨āĻŋāĻŸ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ°ā§‡ āĻ˛ā§‡āĻ–āĻž āĻšāĻ¯āĻŧ, āĻ¤āĻ–āĻ¨ āĻāĻŸāĻŋ āĻ‰āĻšā§āĻš āĻĒā§āĻ°āĻ¤āĻŋāĻ°ā§‹āĻ§ā§‡āĻ° āĻŽā§‹āĻĄā§‡ āĻšāĻ˛ā§‡ āĻ¯āĻžāĻ¯āĻŧ (āĻ‰āĻšā§āĻš āĻ°ā§‹āĻ§, āĻšāĻžāĻ‡-āĻœā§‡āĻĄ) āĻļā§‚āĻ¨ā§āĻ¯ āĻ˛ā§‡āĻ–āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻ‰āĻ­āĻ¯āĻŧ āĻŽā§‹āĻĄā§‡ āĻĒāĻŋāĻ¨ āĻāĻ•āĻ‡ āĻ†āĻšāĻ°āĻŖ āĻ•āĻ°ā§‡, āĻ¯ā§ŒāĻ•ā§āĻ¤āĻŋāĻ• āĻāĻŦāĻ‚ āĻŦā§ˆāĻĻā§āĻ¯ā§āĻ¤āĻŋāĻ•āĻ­āĻžāĻŦā§‡āĨ¤

āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻŽā§‹āĻĄā§‡, āĻĒāĻŋāĻ¨āĻŸāĻŋ āĻ•ā§‡āĻŦāĻ˛ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ°ā§‡āĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŦāĻ¸ā§āĻ¤ā§ āĻ…āĻ¨ā§āĻŦāĻžāĻĻ āĻ•āĻ°ā§‡āĨ¤ "āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ"-āĻ āĻāĻŸāĻŋ āĻ¸āĻ‚āĻļā§āĻ˛āĻŋāĻˇā§āĻŸ āĻĒā§‡āĻ°āĻŋāĻĢā§‡āĻ°āĻžāĻ˛ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧ (9.1.4 āĻĻā§‡āĻ–ā§āĻ¨):

āĻĄā§‡āĻŸāĻžāĻļāĻŋāĻŸ 2 āĻĒāĻĄāĻŧā§āĻ¨: STM32-āĻ SPI; STM8-āĻ PWM, āĻŸāĻžāĻ‡āĻŽāĻžāĻ° āĻāĻŦāĻ‚ āĻŦāĻžāĻ§āĻž
āĻ¯āĻĻāĻŋ āĻĒā§‹āĻ°ā§āĻŸ āĻŦāĻŋāĻŸ āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ° āĻ¨āĻŋāĻˇā§āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻĒāĻŋāĻ¨āĻŸāĻŋ āĻĒā§‡āĻ°āĻŋāĻĢā§‡āĻ°āĻžāĻ˛ā§‡āĻ° āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ¸āĻ‚āĻ•ā§‡āĻ¤ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻĨāĻžāĻ•ā§‡āĨ¤

āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻĒāĻŋāĻ¨ā§‡āĻ° āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻžāĻ°āĻŋāĻ¤āĻž āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻĒāĻŋāĻ¨ āĻ¸āĻ‚āĻœā§āĻžāĻž āĻĄāĻžāĻŸāĻžāĻļāĻŋāĻŸāĻŸāĻŋ āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻž āĻ›āĻŦāĻŋāĻ¤ā§‡ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ¯āĻ–āĻ¨ āĻœāĻŋāĻœā§āĻžāĻžāĻ¸āĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛ āĻ¯ā§‡ āĻĒāĻŋāĻ¨ā§‡āĻ° āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻĨāĻžāĻ•āĻ˛ā§‡ āĻ•ā§€ āĻ•āĻ°āĻŦā§‡āĻ¨, āĻ‰āĻ¤ā§āĻ¤āĻ°āĻŸāĻŋ āĻĄā§‡āĻŸāĻžāĻļā§€āĻŸā§‡ āĻāĻ•āĻŸāĻŋ āĻĒāĻžāĻĻāĻŸā§€āĻ•āĻž āĻĻā§āĻŦāĻžāĻ°āĻž āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻ¯āĻŧ:

āĻĄā§‡āĻŸāĻžāĻļāĻŋāĻŸ 2 āĻĒāĻĄāĻŧā§āĻ¨: STM32-āĻ SPI; STM8-āĻ PWM, āĻŸāĻžāĻ‡āĻŽāĻžāĻ° āĻāĻŦāĻ‚ āĻŦāĻžāĻ§āĻž
āĻ¯āĻĻāĻŋ āĻāĻ•āĻžāĻ§āĻŋāĻ• āĻĒā§‡āĻ°āĻŋāĻĢā§‡āĻ°āĻžāĻ˛ āĻāĻ•āĻ‡ āĻĒāĻŋāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡, āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻĻā§āĻŦāĻ¨ā§āĻĻā§āĻŦ āĻāĻĄāĻŧāĻžāĻ¤ā§‡, āĻĒā§‡āĻ°āĻŋāĻĢā§‡āĻ°āĻžāĻ˛ āĻ•ā§āĻ˛āĻ• āĻāĻ¨āĻžāĻŦāĻ˛ āĻŦāĻŋāĻŸ (āĻ¸āĻ‚āĻļā§āĻ˛āĻŋāĻˇā§āĻŸ RCC āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ°ā§‡) āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¸ā§āĻ¯ā§āĻ‡āĻš āĻ•āĻ°ā§‡ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻ•āĻŸāĻŋ āĻĒā§‡āĻ°āĻŋāĻĢā§‡āĻ°āĻžāĻ˛ āĻāĻ•āĻŦāĻžāĻ°ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤āĨ¤

āĻ…āĻŦāĻļā§‡āĻˇā§‡, āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻŽā§‹āĻĄā§‡ āĻĒāĻŋāĻ¨ā§‡āĻ°āĻ“ āĻ˜āĻĄāĻŧāĻŋāĻ° āĻ—āĻ¤āĻŋ āĻĨāĻžāĻ•ā§‡āĨ¤ āĻāĻŸāĻŋ āĻ†āĻ°ā§‡āĻ•āĻŸāĻŋ āĻļāĻ•ā§āĻ¤āĻŋ āĻ¸āĻžā§āĻšāĻ¯āĻŧāĻ•āĻžāĻ°ā§€ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯, āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ†āĻŽāĻ°āĻž āĻāĻŸāĻŋāĻ•ā§‡ āĻ¸āĻ°ā§āĻŦā§‹āĻšā§āĻš āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻŋ āĻāĻŦāĻ‚ āĻ­ā§āĻ˛ā§‡ āĻ¯āĻžāĻ‡āĨ¤

āĻ¸ā§āĻ¤āĻ°āĻžāĻ‚: āĻ†āĻŽāĻ°āĻž SPI āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ›āĻŋ, āĻ¯āĻžāĻ° āĻ…āĻ°ā§āĻĨ āĻšāĻ˛ āĻĻā§āĻŸāĻŋ āĻĒāĻŋāĻ¨ (āĻĄā§‡āĻŸāĻž āĻ¸āĻš āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ āĻ˜āĻĄāĻŧāĻŋāĻ° āĻ¸āĻ‚āĻ•ā§‡āĻ¤ āĻ¸āĻš) "āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻĒā§āĻļ-āĻĒā§āĻ˛ āĻĢāĻžāĻ‚āĻļāĻ¨" āĻšāĻ“āĻ¯āĻŧāĻž āĻ‰āĻšāĻŋāĻ¤, āĻāĻŦāĻ‚ āĻ†āĻ°āĻ“ āĻāĻ•āĻŸāĻŋ (LAT) āĻšāĻ“āĻ¯āĻŧāĻž āĻ‰āĻšāĻŋāĻ¤ "āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻĒā§āĻļ-āĻĒā§āĻ˛"āĨ¤ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¤āĻžāĻĻā§‡āĻ° āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻ•āĻ°āĻžāĻ° āĻ†āĻ—ā§‡, āĻ†āĻ¸ā§āĻ¨ SPI āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻŽā§‹āĻ•āĻžāĻŦāĻŋāĻ˛āĻž āĻ•āĻ°āĻŋāĨ¤

SPI

āĻ†āĻ°ā§‡āĻ•āĻŸāĻŋ āĻ›ā§‹āĻŸ āĻšā§āĻ¯āĻžāĻ•

āĻāĻ¸āĻĒāĻŋāĻ†āĻ‡ āĻŦāĻž āĻ¸āĻŋāĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛ āĻĒā§‡āĻ°āĻŋāĻĢā§‡āĻ°āĻžāĻ˛ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ (āĻ¸āĻŋāĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛ āĻĒā§‡āĻ°āĻŋāĻĢā§‡āĻ°āĻžāĻ˛ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸) āĻšāĻ˛ āĻāĻ•āĻŸāĻŋ āĻ¸āĻšāĻœ āĻāĻŦāĻ‚ āĻ–ā§āĻŦ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ āĻ¯āĻž āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻāĻŽāĻ•ā§‡ āĻāĻŦāĻ‚ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ­āĻžāĻŦā§‡ āĻŦāĻžāĻ‡āĻ°ā§‡āĻ° āĻŦāĻŋāĻļā§āĻŦā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻŽāĻ•ā§‡ āĻ¯ā§‹āĻ—āĻžāĻ¯ā§‹āĻ— āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯āĨ¤ āĻāĻ° āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ā§‡āĻ° āĻ¨ā§€āĻ¤āĻŋāĻŸāĻŋ āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡ āĻ‰āĻĒāĻ°ā§‡ āĻŦāĻ°ā§āĻŖāĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻšā§€āĻ¨āĻž LED āĻĄā§āĻ°āĻžāĻ‡āĻ­āĻžāĻ° āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ (āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛āĻŸāĻŋāĻ¤ā§‡ āĻŦāĻŋāĻ­āĻžāĻ— 25 āĻĻā§‡āĻ–ā§āĻ¨)āĨ¤ SPI āĻŽāĻžāĻ¸ā§āĻŸāĻžāĻ° ("āĻŽāĻžāĻ¸ā§āĻŸāĻžāĻ°") āĻāĻŦāĻ‚ āĻ¸ā§āĻ˛ā§‡āĻ­ ("āĻ¸ā§āĻ˛ā§‡āĻ­") āĻŽā§‹āĻĄā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ SPI-āĻāĻ° āĻšāĻžāĻ°āĻŸāĻŋ āĻŽā§ŒāĻ˛āĻŋāĻ• āĻšā§āĻ¯āĻžāĻ¨ā§‡āĻ˛ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¯āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¸āĻŦāĻžāĻ‡ āĻœāĻĄāĻŧāĻŋāĻ¤ āĻ¨āĻžāĻ“ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡:

  • MOSI, āĻŽāĻžāĻ¸ā§āĻŸāĻžāĻ° āĻ†āĻ‰āĻŸāĻĒā§āĻŸ / āĻ¸ā§āĻ˛ā§‡āĻ­ āĻ‡āĻ¨āĻĒā§āĻŸ: āĻāĻ‡ āĻĒāĻŋāĻ¨āĻŸāĻŋ āĻŽāĻžāĻ¸ā§āĻŸāĻžāĻ° āĻŽā§‹āĻĄā§‡ āĻĄā§‡āĻŸāĻž āĻĒāĻžāĻ āĻžāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻ¸ā§āĻ˛ā§‡āĻ­ āĻŽā§‹āĻĄā§‡ āĻĄā§‡āĻŸāĻž āĻ—ā§āĻ°āĻšāĻŖ āĻ•āĻ°ā§‡;
  • MISO, āĻŽāĻžāĻ¸ā§āĻŸāĻžāĻ° āĻ‡āĻ¨āĻĒā§āĻŸ / āĻ¸ā§āĻ˛ā§‡āĻ­ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ: āĻŦāĻŋāĻĒāĻ°ā§€āĻ¤ā§‡, āĻŽāĻžāĻ¸ā§āĻŸāĻžāĻ°ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻŸāĻŋ āĻ—ā§āĻ°āĻšāĻŖ āĻ•āĻ°ā§‡, āĻ¸ā§āĻ˛ā§‡āĻ­ā§‡ āĻāĻŸāĻŋ āĻĻā§‡āĻ¯āĻŧ;
  • SCK, āĻ¸āĻŋāĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛ āĻ•ā§āĻ˛āĻ•: āĻŽāĻžāĻ¸ā§āĻŸāĻžāĻ°ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻĄā§‡āĻŸāĻž āĻŸā§āĻ°āĻžāĻ¨ā§āĻ¸āĻŽāĻŋāĻļāĻ¨ā§‡āĻ° āĻĢā§āĻ°āĻŋāĻ•ā§‹āĻ¯āĻŧā§‡āĻ¨ā§āĻ¸āĻŋ āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§‡ āĻŦāĻž āĻ¸ā§āĻ˛ā§‡āĻ­ā§‡ āĻ˜āĻĄāĻŧāĻŋāĻ° āĻ¸āĻ‚āĻ•ā§‡āĻ¤ āĻĒāĻžāĻ¯āĻŧāĨ¤ āĻ…āĻ—āĻ¤ā§āĻ¯āĻž, beats beats;
  • āĻāĻ¸āĻāĻ¸, āĻ¸ā§āĻ˛ā§‡āĻ­ āĻ¸āĻŋāĻ˛ā§‡āĻ•ā§āĻŸ: āĻāĻ‡ āĻšā§āĻ¯āĻžāĻ¨ā§‡āĻ˛ā§‡āĻ° āĻ¸āĻžāĻĨā§‡, āĻ¸ā§āĻ˛ā§‡āĻ­ āĻœāĻžāĻ¨ā§‡ āĻ¯ā§‡ āĻ¤āĻžāĻ°āĻž āĻ¤āĻžāĻ° āĻ•āĻžāĻ› āĻĨā§‡āĻ•ā§‡ āĻ•āĻŋāĻ›ā§ āĻšāĻžāĻ¯āĻŧāĨ¤ STM32-āĻ āĻāĻ•ā§‡ NSS āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ, āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ N = āĻ‹āĻŖāĻžāĻ¤ā§āĻŽāĻ•, āĻ…āĻ°ā§āĻĨāĻžā§Ž āĻāĻ‡ āĻšā§āĻ¯āĻžāĻ¨ā§‡āĻ˛ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻĨāĻ˛ āĻĨāĻžāĻ•āĻ˛ā§‡ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻ• āĻāĻ•āĻœāĻ¨ āĻĻāĻžāĻ¸ āĻšāĻ¯āĻŧā§‡ āĻ¯āĻžāĻ¯āĻŧāĨ¤ āĻāĻŸāĻŋ āĻ“āĻĒā§‡āĻ¨ āĻĄā§āĻ°ā§‡āĻ¨ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻŽā§‹āĻĄā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ­āĻžāĻ˛ āĻ¸āĻŽāĻ¨ā§āĻŦāĻ¯āĻŧ āĻ•āĻ°ā§‡, āĻ¤āĻŦā§‡ āĻāĻŸāĻŋ āĻ…āĻ¨ā§āĻ¯ āĻ—āĻ˛ā§āĻĒāĨ¤

āĻ…āĻ¨ā§āĻ¯ āĻ¸āĻŦ āĻ•āĻŋāĻ›ā§āĻ° āĻŽāĻ¤ā§‹, STM32-āĻ SPI āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻžāĻ°āĻŋāĻ¤āĻž āĻ¸āĻŽā§ƒāĻĻā§āĻ§, āĻ¯āĻž āĻāĻŸāĻŋāĻ•ā§‡ āĻŦā§‹āĻāĻž āĻ•āĻŋāĻ›ā§āĻŸāĻž āĻ•āĻ āĻŋāĻ¨ āĻ•āĻ°ā§‡ āĻ¤ā§‹āĻ˛ā§‡āĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻāĻŸāĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° SPI āĻāĻ° āĻ¸āĻžāĻĨā§‡āĻ‡ āĻ¨āĻ¯āĻŧ, āĻāĻ•āĻŸāĻŋ I2S āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ā§‡āĻ° āĻ¸āĻžāĻĨā§‡āĻ“ āĻ•āĻžāĻœ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻāĻŦāĻ‚ āĻ¤āĻžāĻĻā§‡āĻ° āĻŦāĻŋāĻŦāĻ°āĻŖāĻ—ā§āĻ˛āĻŋ āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ā§‡ āĻŽāĻŋāĻļā§āĻ°āĻŋāĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸āĻŽāĻ¯āĻŧāĻŽāĻ¤ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ¤ā§‡ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻ•ā§‡āĻŸā§‡ āĻĢā§‡āĻ˛āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•āĻžāĻœ āĻ…āĻ¤ā§āĻ¯āĻ¨ā§āĻ¤ āĻ¸āĻšāĻœ: āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° MOSI āĻāĻŦāĻ‚ SCK āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻĄā§‡āĻŸāĻž āĻĻāĻŋāĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻ†āĻŽāĻ°āĻž 25.3.4 āĻ¸ā§‡āĻ•āĻļāĻ¨ā§‡ āĻ¯āĻžāĻ‡ (āĻšāĻžāĻĢ-āĻĄā§āĻĒā§āĻ˛ā§‡āĻ•ā§āĻ¸ āĻ•āĻŽāĻŋāĻ‰āĻ¨āĻŋāĻ•ā§‡āĻļāĻ¨, āĻšāĻžāĻĢ-āĻĄā§āĻĒā§āĻ˛ā§‡āĻ•ā§āĻ¸ āĻ•āĻŽāĻŋāĻ‰āĻ¨āĻŋāĻ•ā§‡āĻļāĻ¨), āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ†āĻŽāĻ°āĻž āĻĒāĻžāĻ‡ 1 āĻ˜āĻĄāĻŧāĻŋ āĻāĻŦāĻ‚ 1 unidirectional āĻĄā§‡āĻŸāĻž āĻ¤āĻžāĻ° (1 āĻ˜āĻĄāĻŧāĻŋ āĻāĻŦāĻ‚ 1 āĻāĻ•āĻŽā§āĻ–ā§€ āĻĄā§‡āĻŸāĻž āĻ¸ā§āĻŸā§āĻ°ā§€āĻŽ):

āĻĄā§‡āĻŸāĻžāĻļāĻŋāĻŸ 2 āĻĒāĻĄāĻŧā§āĻ¨: STM32-āĻ SPI; STM8-āĻ PWM, āĻŸāĻžāĻ‡āĻŽāĻžāĻ° āĻāĻŦāĻ‚ āĻŦāĻžāĻ§āĻž
āĻāĻ‡ āĻŽā§‹āĻĄā§‡, āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻŸāĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻŸā§āĻ°āĻžāĻ¨ā§āĻ¸āĻŽāĻŋāĻŸ āĻŦāĻž āĻ°āĻŋāĻ¸āĻŋāĻ­-āĻ…āĻ¨āĻ˛āĻŋ āĻŽā§‹āĻĄā§‡ SPI āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĨ¤ / āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻŸā§āĻ°āĻžāĻ¨ā§āĻ¸āĻŽāĻŋāĻŸ āĻŽā§‹āĻĄāĻŸāĻŋ āĻĄā§āĻĒā§āĻ˛ā§‡āĻ•ā§āĻ¸ āĻŽā§‹āĻĄā§‡āĻ° āĻ…āĻ¨ā§āĻ°ā§‚āĻĒ: āĻŸā§āĻ°āĻžāĻ¨ā§āĻ¸āĻŽāĻŋāĻŸ āĻĒāĻŋāĻ¨ā§‡ āĻĄā§‡āĻŸāĻž āĻĒā§āĻ°ā§‡āĻ°āĻŖ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ (āĻŽāĻžāĻ¸ā§āĻŸāĻžāĻ° āĻŽā§‹āĻĄā§‡ MOSI āĻŦāĻž āĻ¸ā§āĻ˛ā§‡āĻ­ āĻŽā§‹āĻĄā§‡ MISO), āĻ¯āĻ–āĻ¨ āĻ°āĻŋāĻ¸āĻŋāĻ­ āĻĒāĻŋāĻ¨ (āĻ¯āĻĨāĻžāĻ•ā§āĻ°āĻŽā§‡ MISO āĻŦāĻž MOSI) āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ I/O āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻĒāĻŋāĻ¨ āĻāĻ‡ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻāĻŸāĻŋ Rx āĻŦāĻžāĻĢāĻžāĻ° āĻ‰āĻĒā§‡āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¯āĻĨā§‡āĻˇā§āĻŸ (āĻ¯āĻĻāĻŋ āĻāĻŸāĻŋ āĻĒāĻĄāĻŧāĻž āĻšāĻ¯āĻŧ, āĻ•ā§‹āĻ¨ āĻĒā§āĻ°ā§‡āĻ°āĻŋāĻ¤ āĻĄā§‡āĻŸāĻž āĻĨāĻžāĻ•āĻŦā§‡ āĻ¨āĻž)āĨ¤

āĻĻā§āĻ°ā§āĻĻāĻžāĻ¨ā§āĻ¤, MISO āĻĒāĻŋāĻ¨āĻŸāĻŋ āĻŦāĻŋāĻ¨āĻžāĻŽā§‚āĻ˛ā§āĻ¯ā§‡, āĻ†āĻ¸ā§āĻ¨ āĻāĻŸāĻŋāĻ¤ā§‡ LAT āĻ¸āĻ‚āĻ•ā§‡āĻ¤āĻŸāĻŋ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻŋā§ˇ āĻ†āĻ¸ā§āĻ¨ āĻ¸ā§āĻ˛ā§‡āĻ­ āĻ¸āĻŋāĻ˛ā§‡āĻ•ā§āĻŸā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻŽā§‹āĻ•āĻžāĻŦāĻŋāĻ˛āĻž āĻ•āĻ°āĻŋ, āĻ¯āĻž STM32-āĻ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽā§āĻ¯āĻžāĻŸāĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻ¯āĻž āĻ…āĻ¤ā§āĻ¯āĻ¨ā§āĻ¤ āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻœāĻ¨āĻ•āĨ¤ āĻ†āĻŽāĻ°āĻž āĻ…āĻ¨ā§āĻšā§āĻ›ā§‡āĻĻ 25.3.1 SPI āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻŦāĻŋāĻŦāĻ°āĻŖā§‡ āĻāĻ•āĻ‡ āĻ¨āĻžāĻŽā§‡āĻ° āĻ…āĻ¨ā§āĻšā§āĻ›ā§‡āĻĻāĻŸāĻŋ āĻĒāĻĄāĻŧāĻŋ:

āĻĄā§‡āĻŸāĻžāĻļāĻŋāĻŸ 2 āĻĒāĻĄāĻŧā§āĻ¨: STM32-āĻ SPI; STM8-āĻ PWM, āĻŸāĻžāĻ‡āĻŽāĻžāĻ° āĻāĻŦāĻ‚ āĻŦāĻžāĻ§āĻž
NSS āĻ¸āĻĢā§āĻŸāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ (SSM = 1) / āĻ¸ā§āĻ˛ā§‡āĻ­ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¨ā§‡āĻ° āĻ¤āĻĨā§āĻ¯ SPI_CR1 āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ°ā§‡āĻ° SSI āĻŦāĻŋāĻŸā§‡ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻŦāĻžāĻšā§āĻ¯āĻŋāĻ• NSS āĻĒāĻŋāĻ¨ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻŦāĻŋāĻ¨āĻžāĻŽā§‚āĻ˛ā§āĻ¯ā§‡ āĻ›ā§‡āĻĄāĻŧā§‡ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻ¯āĻŧ.

āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ°ā§‡ āĻ˛ā§‡āĻ–āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻ¸ā§‡āĻ›ā§‡āĨ¤ āĻ†āĻŽāĻŋ SPI2 āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤ āĻ¨āĻŋāĻ¯āĻŧā§‡āĻ›āĻŋ, āĻ†āĻŽāĻ°āĻž āĻĄā§‡āĻŸāĻžāĻļāĻŋāĻŸā§‡ āĻāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ āĻŋāĻ•āĻžāĻ¨āĻž āĻ–ā§āĻāĻœāĻ›āĻŋ - āĻŦāĻŋāĻ­āĻžāĻ—ā§‡ 3.3 āĻŽā§‡āĻŽāĻ°āĻŋ āĻŽā§āĻ¯āĻžāĻĒ (āĻŽā§‡āĻŽāĻ°āĻŋ āĻŽā§āĻ¯āĻžāĻĒ):

āĻĄā§‡āĻŸāĻžāĻļāĻŋāĻŸ 2 āĻĒāĻĄāĻŧā§āĻ¨: STM32-āĻ SPI; STM8-āĻ PWM, āĻŸāĻžāĻ‡āĻŽāĻžāĻ° āĻāĻŦāĻ‚ āĻŦāĻžāĻ§āĻž

āĻ†āĻšā§āĻ›āĻž, āĻļā§āĻ°ā§ āĻ•āĻ°āĻž āĻ¯āĻžāĻ•:

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

āĻ†āĻŽāĻ°āĻž "āĻŽāĻžāĻ¸ā§āĻŸāĻžāĻ° āĻŽā§‹āĻĄā§‡ SPI āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻž" āĻļāĻŋāĻ°ā§‹āĻ¨āĻžāĻŽ āĻ¸āĻš āĻŦāĻŋāĻ­āĻžāĻ— 25.3.3 āĻ–ā§āĻ˛āĻŋ:

āĻĄā§‡āĻŸāĻžāĻļāĻŋāĻŸ 2 āĻĒāĻĄāĻŧā§āĻ¨: STM32-āĻ SPI; STM8-āĻ PWM, āĻŸāĻžāĻ‡āĻŽāĻžāĻ° āĻāĻŦāĻ‚ āĻŦāĻžāĻ§āĻž

1. SPI_CR2 āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ°ā§‡ BR[0:1] āĻŦāĻŋāĻŸā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻŋāĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ āĻ˜āĻĄāĻŧāĻŋ āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§āĻ¨āĨ¤

āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ°āĻ—ā§āĻ˛āĻŋ āĻāĻ•āĻ‡ āĻ¨āĻžāĻŽā§‡āĻ° āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛ āĻŦāĻŋāĻ­āĻžāĻ—ā§‡ āĻ¸āĻ‚āĻ—ā§āĻ°āĻš āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻ āĻŋāĻ•āĻžāĻ¨āĻž āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ° (āĻ āĻŋāĻ•āĻžāĻ¨āĻž āĻ…āĻĢāĻ¸ā§‡āĻŸ) CR1 āĻāĻ° 0x00 āĻ†āĻ›ā§‡, āĻĄāĻŋāĻĢāĻ˛ā§āĻŸāĻ°ā§‚āĻĒā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŦāĻŋāĻŸ āĻ¸āĻžāĻĢ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ (āĻŽāĻžāĻ¨ āĻ°āĻŋāĻ¸ā§‡āĻŸ āĻ•āĻ°ā§āĻ¨ 0x0000):

āĻĄā§‡āĻŸāĻžāĻļāĻŋāĻŸ 2 āĻĒāĻĄāĻŧā§āĻ¨: STM32-āĻ SPI; STM8-āĻ PWM, āĻŸāĻžāĻ‡āĻŽāĻžāĻ° āĻāĻŦāĻ‚ āĻŦāĻžāĻ§āĻž

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-āĻ āĻšāĻŋāĻ¤ā§āĻ° āĻĻā§‡āĻ–ā§āĻ¨)

āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻ†āĻŽāĻ°āĻž āĻāĻ–āĻžāĻ¨ā§‡ āĻāĻ•āĻŸāĻŋ āĻĄā§‡āĻŸāĻžāĻļāĻŋāĻŸ āĻĒāĻĄāĻŧāĻ›āĻŋ, āĻāĻŦāĻ‚ āĻ¸ā§āĻ•āĻŋāĻŽā§āĻ¯āĻžāĻŸāĻŋāĻ•ā§āĻ¸ā§‡āĻ° āĻĻāĻŋāĻ•ā§‡ āĻ¤āĻžāĻ•āĻžāĻšā§āĻ›āĻŋ āĻ¨āĻž, āĻ†āĻ¸ā§āĻ¨ 704 āĻĒā§ƒāĻˇā§āĻ āĻžāĻ¯āĻŧ CPOL āĻāĻŦāĻ‚ CPHA āĻŦāĻŋāĻŸāĻ—ā§āĻ˛āĻŋāĻ° āĻĒāĻžāĻ ā§āĻ¯ āĻŦāĻŋāĻŦāĻ°āĻŖāĻŸāĻŋ āĻ˜āĻ¨āĻŋāĻˇā§āĻ āĻ­āĻžāĻŦā§‡ āĻĻā§‡āĻ–ā§‡ āĻ¨ā§‡āĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻ• (SPI āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻŦāĻŋāĻŦāĻ°āĻŖ):

āĻĄā§‡āĻŸāĻžāĻļāĻŋāĻŸ 2 āĻĒāĻĄāĻŧā§āĻ¨: STM32-āĻ SPI; STM8-āĻ PWM, āĻŸāĻžāĻ‡āĻŽāĻžāĻ° āĻāĻŦāĻ‚ āĻŦāĻžāĻ§āĻž
āĻ•ā§āĻ˛āĻ• āĻĢā§‡āĻœ āĻāĻŦāĻ‚ āĻĒā§‹āĻ˛āĻžāĻ°āĻŋāĻŸāĻŋ
SPI_CR1 āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ°ā§‡āĻ° CPOL āĻāĻŦāĻ‚ CPHA āĻŦāĻŋāĻŸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻŸāĻžāĻ‡āĻŽāĻŋāĻ‚ āĻ…āĻ¨ā§āĻĒāĻžāĻ¤ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽā§āĻ¯āĻžāĻŸāĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻšāĻžāĻ°āĻŸāĻŋ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤ CPOL (āĻ•ā§āĻ˛āĻ• āĻĒā§‹āĻ˛āĻžāĻ°āĻŋāĻŸāĻŋ) āĻŦāĻŋāĻŸ āĻ˜āĻĄāĻŧāĻŋāĻ° āĻ¸āĻ‚āĻ•ā§‡āĻ¤ā§‡āĻ° āĻ…āĻŦāĻ¸ā§āĻĨāĻž āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻ•āĻ°ā§‡ āĻ¯āĻ–āĻ¨ āĻ•ā§‹āĻ¨ā§‹ āĻ¤āĻĨā§āĻ¯ āĻĒā§āĻ°ā§‡āĻ°āĻŖ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¨āĻžāĨ¤ āĻāĻ‡ āĻŦāĻŋāĻŸ āĻŽāĻžāĻ¸ā§āĻŸāĻžāĻ° āĻāĻŦāĻ‚ āĻ¸ā§āĻ˛ā§‡āĻ­ āĻŽā§‹āĻĄ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻ•āĻ°ā§‡āĨ¤ āĻ¯āĻĻāĻŋ CPOL āĻ°āĻŋāĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, SCK āĻĒāĻŋāĻ¨ āĻŦāĻŋāĻļā§āĻ°āĻžāĻŽā§‡ āĻ•āĻŽ āĻĨāĻžāĻ•ā§‡āĨ¤ CPOL āĻŦāĻŋāĻŸ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž āĻĨāĻžāĻ•āĻ˛ā§‡, āĻ¨āĻŋāĻˇā§āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ…āĻŦāĻ¸ā§āĻĨāĻžāĻ¯āĻŧ SCK āĻĒāĻŋāĻ¨āĻŸāĻŋ āĻŦā§‡āĻļāĻŋ āĻĨāĻžāĻ•ā§‡āĨ¤
āĻ¯āĻĻāĻŋ CPHA (āĻ•ā§āĻ˛āĻ• āĻĢā§‡āĻœ) āĻŦāĻŋāĻŸ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž āĻĨāĻžāĻ•ā§‡, MSB āĻŸā§āĻ°ā§āĻ¯āĻžāĻĒ āĻ¸ā§āĻŸā§āĻ°ā§‹āĻŦ āĻšāĻ˛ SCK āĻ¸āĻŋāĻ—āĻ¨ā§āĻ¯āĻžāĻ˛ā§‡āĻ° āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧ āĻĒā§āĻ°āĻžāĻ¨ā§āĻ¤ (CPOL āĻ¸āĻžāĻĢ āĻ•āĻ°āĻž āĻšāĻ˛ā§‡ āĻĒāĻ¤āĻ¨ āĻšāĻ¯āĻŧ, āĻ…āĻĨāĻŦāĻž CPOL āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž āĻĨāĻžāĻ•āĻ˛ā§‡ āĻ•ā§āĻ°āĻŽāĻŦāĻ°ā§āĻ§āĻŽāĻžāĻ¨ āĻĒā§āĻ°āĻžāĻ¨ā§āĻ¤)āĨ¤ āĻĄā§‡āĻŸāĻž āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧ āĻ˜āĻĄāĻŧāĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§‡āĻ° āĻ‰āĻĒāĻ° latched āĻšāĻ¯āĻŧ. āĻ¯āĻĻāĻŋ CPHA āĻŦāĻŋāĻŸ āĻ¸āĻžāĻĢ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻšāĻžāĻ‡ āĻŦāĻŋāĻŸ āĻŸā§āĻ°ā§āĻ¯āĻžāĻĒ āĻ¸ā§āĻŸā§āĻ°ā§‹āĻŦ āĻšāĻ˛ SCK āĻ¸āĻŋāĻ—āĻ¨ā§āĻ¯āĻžāĻ˛ā§‡āĻ° āĻ•ā§āĻ°āĻŽāĻŦāĻ°ā§āĻ§āĻŽāĻžāĻ¨ āĻĒā§āĻ°āĻžāĻ¨ā§āĻ¤ (CPOL āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž āĻĨāĻžāĻ•āĻ˛ā§‡ āĻĒāĻ¤āĻ¨, āĻ…āĻĨāĻŦāĻž CPOL āĻĒāĻ°āĻŋāĻˇā§āĻ•āĻžāĻ° āĻšāĻ˛ā§‡ āĻ•ā§āĻ°āĻŽāĻŦāĻ°ā§āĻ§āĻŽāĻžāĻ¨ āĻĒā§āĻ°āĻžāĻ¨ā§āĻ¤)āĨ¤ āĻĒā§āĻ°āĻĨāĻŽ āĻ˜āĻĄāĻŧāĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻĄā§‡āĻŸāĻž āĻ˛ā§āĻ¯āĻžāĻš āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤

āĻāĻ‡ āĻœā§āĻžāĻžāĻ¨ā§‡āĻ° āĻ¸ā§āĻŦāĻžāĻĻ āĻ—ā§āĻ°āĻšāĻŖ āĻ•āĻ°āĻžāĻ° āĻĒāĻ°ā§‡, āĻ†āĻŽāĻ°āĻž āĻāĻ‡ āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤ā§‡ āĻ‰āĻĒāĻ¨ā§€āĻ¤ āĻšāĻ‡ āĻ¯ā§‡ āĻ‰āĻ­āĻ¯āĻŧ āĻŦāĻŋāĻŸāĻ•ā§‡āĻ‡ āĻļā§‚āĻ¨ā§āĻ¯ āĻĨāĻžāĻ•āĻ¤ā§‡ āĻšāĻŦā§‡, āĻ•āĻžāĻ°āĻŖ āĻ†āĻŽāĻ°āĻž āĻšāĻžāĻ‡ SCK āĻ¸āĻ‚āĻ•ā§‡āĻ¤ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ¨āĻž āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ•āĻŽ āĻĨāĻžāĻ•ā§āĻ•, āĻāĻŦāĻ‚ āĻĄāĻžāĻŸāĻž āĻĒāĻžāĻ˛āĻ¸ā§‡āĻ° āĻ•ā§āĻ°āĻŽāĻŦāĻ°ā§āĻ§āĻŽāĻžāĻ¨ āĻĒā§āĻ°āĻžāĻ¨ā§āĻ¤ā§‡ āĻĒā§āĻ°ā§‡āĻ°āĻŖ āĻ•āĻ°āĻž āĻšā§‹āĻ• (āĻšāĻŋāĻ¤ā§āĻ° āĻĻā§‡āĻ–ā§āĻ¨āĨ¤ āĻ•ā§āĻ°āĻŽāĻŦāĻ°ā§āĻ§āĻŽāĻžāĻ¨ āĻĒā§āĻ°āĻžāĻ¨ā§āĻ¤ āĻĄā§‡āĻŸāĻžāĻļāĻŋāĻŸ DM634-āĻ)āĨ¤

āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻāĻ–āĻžāĻ¨ā§‡ āĻ†āĻŽāĻ°āĻž āĻĒā§āĻ°āĻĨāĻŽā§‡ ST āĻĄā§‡āĻŸāĻžāĻļāĻŋāĻŸā§‡ āĻļāĻŦā§āĻĻāĻ­āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ā§‡āĻ° āĻ¸āĻŽā§āĻŽā§āĻ–ā§€āĻ¨ āĻšāĻ¯āĻŧā§‡āĻ›āĻŋ: āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ "āĻŦāĻŋāĻŸāĻ•ā§‡ āĻļā§‚āĻ¨ā§āĻ¯ā§‡ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§āĻ¨" āĻŦāĻžāĻ•ā§āĻ¯āĻžāĻ‚āĻļāĻŸāĻŋ āĻ˛ā§‡āĻ–āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻāĻ•āĻŸā§ āĻ°āĻŋāĻ¸ā§‡āĻŸ āĻ•āĻ°āĻ¤ā§‡, āĻāĻŦāĻ‚ āĻ¨āĻž āĻāĻ•āĻŸā§ āĻĒāĻ°āĻŋāĻˇā§āĻ•āĻžāĻ° āĻ•āĻ°āĻ¤ā§‡, āĻ¯ā§‡āĻŽāĻ¨, āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, Atmega.

3. 8-āĻŦāĻŋāĻŸ āĻŦāĻž 16-āĻŦāĻŋāĻŸ āĻĄā§‡āĻŸāĻž āĻŦā§āĻ˛āĻ• āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°āĻ¤ā§‡ DFF āĻŦāĻŋāĻŸ āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§āĻ¨

āĻ†āĻŽāĻŋ āĻŦāĻŋāĻļā§‡āĻˇāĻ­āĻžāĻŦā§‡ 16-āĻŦāĻŋāĻŸ DM634 āĻ¨āĻŋāĻ¯āĻŧā§‡āĻ›āĻŋ āĻ¯āĻžāĻ¤ā§‡ DM12 āĻāĻ° āĻŽāĻ¤ā§‹ 633-āĻŦāĻŋāĻŸ PWM āĻĄā§‡āĻŸāĻž āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ° āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻŦāĻŋāĻ°āĻ•ā§āĻ¤ āĻ¨āĻž āĻšāĻ¯āĻŧāĨ¤ DFF āĻāĻ•āĻ¤āĻž āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°āĻž āĻ…āĻ°ā§āĻĨāĻĒā§‚āĻ°ā§āĻŖ:

#define DFF         0x0800

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

4. āĻŦā§āĻ˛āĻ• āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°āĻ¤ā§‡ SPI_CR1 āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ°ā§‡ LSBFIRST āĻŦāĻŋāĻŸ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°ā§āĻ¨

LSBFIRST, āĻāĻ° āĻ¨āĻžāĻŽ āĻ…āĻ¨ā§āĻ¸āĻžāĻ°ā§‡, āĻ¸āĻ°ā§āĻŦāĻ¨āĻŋāĻŽā§āĻ¨ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ–āĻ¯ā§‹āĻ—ā§āĻ¯ āĻŦāĻŋāĻŸā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻĒā§āĻ°āĻĨāĻŽā§‡ āĻŸā§āĻ°āĻžāĻ¨ā§āĻ¸āĻŽāĻŋāĻļāĻ¨ āĻ¸ā§‡āĻŸ āĻ†āĻĒ āĻ•āĻ°ā§‡āĨ¤ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ DM634 āĻĒā§āĻ°āĻĨāĻŽā§‡ āĻĄā§‡āĻŸāĻž MSB āĻĒā§‡āĻ¤ā§‡ āĻšāĻžāĻ¯āĻŧāĨ¤ āĻ…āĻ¤āĻāĻŦ, āĻ†āĻŽāĻ°āĻž āĻāĻŸāĻŋ āĻ°āĻŋāĻ¸ā§‡āĻŸ āĻ›ā§‡āĻĄāĻŧā§‡.

5. āĻšāĻžāĻ°ā§āĻĄāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻŽā§‹āĻĄā§‡, āĻ¯āĻĻāĻŋ āĻāĻ¨āĻāĻ¸āĻāĻ¸ āĻĒāĻŋāĻ¨ āĻĨā§‡āĻ•ā§‡ āĻ‡āĻ¨āĻĒā§āĻŸ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻšāĻ¯āĻŧ, āĻĒā§āĻ°ā§‹ āĻŦāĻžāĻ‡āĻŸ āĻŸā§āĻ°āĻžāĻ¨ā§āĻ¸āĻĢāĻžāĻ° āĻ¸āĻŋāĻ•ā§‹āĻ¯āĻŧā§‡āĻ¨ā§āĻ¸ā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻ¨āĻāĻ¸āĻāĻ¸ āĻĒāĻŋāĻ¨āĻŸāĻŋ āĻ‰āĻāĻšā§āĻ¤ā§‡ āĻšāĻžāĻ˛āĻžāĻ¨āĨ¤ NSS āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻŽā§‹āĻĄā§‡, SPI_CR1 āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ°ā§‡ SSM āĻāĻŦāĻ‚ SSI āĻŦāĻŋāĻŸ āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§āĻ¨āĨ¤ āĻ¯āĻĻāĻŋ NSS āĻĒāĻŋāĻ¨āĻŸāĻŋ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻšāĻ¤ā§‡ āĻšāĻ¯āĻŧ, āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° SSOE āĻŦāĻŋāĻŸ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤

NSS āĻšāĻžāĻ°ā§āĻĄāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻŽā§‹āĻĄ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ­ā§āĻ˛ā§‡ āĻ¯ā§‡āĻ¤ā§‡ SSM āĻāĻŦāĻ‚ SSI āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°ā§āĻ¨:

#define SSI         0x0100
#define SSM         0x0200

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

6. MSTR āĻāĻŦāĻ‚ SPE āĻŦāĻŋāĻŸāĻ—ā§āĻ˛āĻŋ āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ (āĻāĻ¨āĻāĻ¸āĻāĻ¸ āĻ‰āĻšā§āĻš āĻšāĻ˛ā§‡āĻ‡ āĻ¤āĻžāĻ°āĻž āĻ¸ā§‡āĻŸ āĻĨāĻžāĻ•āĻŦā§‡)

āĻĒā§āĻ°āĻ•ā§ƒāĻ¤āĻĒāĻ•ā§āĻˇā§‡, āĻāĻ‡ āĻŦāĻŋāĻŸāĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ā§‡ āĻ†āĻŽāĻ°āĻž āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻāĻ¸āĻĒāĻŋāĻ†āĻ‡āĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻŽāĻžāĻ¸ā§āĻŸāĻžāĻ° āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻ•āĻ°āĻŋ āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻŋ:

#define MSTR        0x0004
#define SPE         0x0040

_SPI2_ (_SPI_CR1) |= MSTR; //SPI master
//ĐēĐžĐŗĐ´Đ° вŅĐĩ ĐŗĐžŅ‚ОвО, вĐēĐģŅŽŅ‡Đ°ĐĩĐŧ SPI
_SPI2_ (_SPI_CR1) |= SPE;

SPI āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻ†āĻ¸ā§āĻ¨ āĻ…āĻŦāĻŋāĻ˛āĻŽā§āĻŦā§‡ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ˛āĻŋāĻ–āĻŋ āĻ¯āĻž āĻĄā§āĻ°āĻžāĻ‡āĻ­āĻžāĻ°āĻ•ā§‡ āĻŦāĻžāĻ‡āĻŸ āĻĒāĻžāĻ āĻžāĻ¯āĻŧāĨ¤ 25.3.3 āĻĒāĻĄāĻŧāĻž āĻšāĻžāĻ˛āĻŋāĻ¯āĻŧā§‡ āĻ¯āĻžāĻ¨ "āĻŽāĻžāĻ¸ā§āĻŸāĻžāĻ° āĻŽā§‹āĻĄā§‡ SPI āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻž":

āĻĄā§‡āĻŸāĻžāĻļāĻŋāĻŸ 2 āĻĒāĻĄāĻŧā§āĻ¨: STM32-āĻ SPI; STM8-āĻ PWM, āĻŸāĻžāĻ‡āĻŽāĻžāĻ° āĻāĻŦāĻ‚ āĻŦāĻžāĻ§āĻž
āĻĄā§‡āĻŸāĻž āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ° āĻĒāĻĻā§āĻ§āĻ¤āĻŋ
āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ° āĻļā§āĻ°ā§ āĻšāĻ¯āĻŧ āĻ¯āĻ–āĻ¨ āĻāĻ•āĻŸāĻŋ āĻŦāĻžāĻ‡āĻŸ Tx āĻŦāĻžāĻĢāĻžāĻ°ā§‡ āĻ˛ā§‡āĻ–āĻž āĻšāĻ¯āĻŧāĨ¤
āĻĄāĻžāĻŸāĻž āĻŦāĻžāĻ‡āĻŸ āĻļāĻŋāĻĢāĻŸ āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ°ā§‡ āĻ˛ā§‹āĻĄ āĻšāĻ¯āĻŧ āĻ¸āĻŽāĻžāĻ¨ā§āĻ¤āĻ°āĻžāĻ˛ āĻĒā§āĻ°āĻĨāĻŽ āĻŦāĻŋāĻŸā§‡āĻ° āĻ¸āĻ‚āĻ•ā§āĻ°āĻŽāĻŖā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻŽā§‹āĻĄ (āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻŦāĻžāĻ¸ āĻĨā§‡āĻ•ā§‡), āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡ āĻāĻŸāĻŋ āĻĒā§āĻ°ā§‡āĻ°āĻŖ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¸āĻžāĻŽāĻžā§āĻœāĻ¸ā§āĻ¯āĻĒā§‚āĻ°ā§āĻŖ MOSI āĻĒāĻŋāĻ¨ āĻŽā§‹āĻĄ, CPI_CR1 āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ°ā§‡ LSBFIRST āĻŦāĻŋāĻŸā§‡āĻ° āĻ¸ā§‡āĻŸāĻŋāĻ‚āĻ¯āĻŧā§‡āĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡ āĻĒā§āĻ°āĻĨāĻŽ āĻŦāĻž āĻļā§‡āĻˇ āĻŦāĻŋāĻŸ āĻāĻ—āĻŋāĻ¯āĻŧā§‡āĨ¤ āĻĄāĻžāĻŸāĻž āĻŸā§āĻ°āĻžāĻ¨ā§āĻ¸āĻŽāĻŋāĻļāĻ¨ā§‡āĻ° āĻĒāĻ°ā§‡ TXE āĻĒāĻ¤āĻžāĻ•āĻž āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ Tx āĻŦāĻžāĻĢāĻžāĻ° āĻĨā§‡āĻ•ā§‡ āĻļāĻŋāĻĢāĻŸ āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ°ā§‡, āĻāĻŦāĻ‚ CPI_CR1 āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ°ā§‡ TXEIE āĻŦāĻŋāĻŸ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž āĻĨāĻžāĻ•āĻ˛ā§‡ āĻāĻ•āĻŸāĻŋ āĻŦāĻžāĻ§āĻž āĻ¤ā§ˆāĻ°āĻŋ āĻšāĻ¯āĻŧāĨ¤

STM āĻ•āĻ¨ā§āĻŸā§āĻ°ā§‹āĻ˛āĻžāĻ°ā§‡ SPI āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ā§‡āĻ° āĻĒā§āĻ°āĻ¤āĻŋ āĻĻā§ƒāĻˇā§āĻŸāĻŋ āĻ†āĻ•āĻ°ā§āĻˇāĻŖ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻŽāĻŋ āĻ…āĻ¨ā§āĻŦāĻžāĻĻā§‡ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻļāĻŦā§āĻĻ āĻšāĻžāĻ‡āĻ˛āĻžāĻ‡āĻŸ āĻ•āĻ°ā§‡āĻ›āĻŋāĨ¤ Atmega, TXE āĻĒāĻ¤āĻžāĻ•āĻž (Tx āĻ–āĻžāĻ˛āĻŋ, Tx āĻ–āĻžāĻ˛āĻŋ āĻāĻŦāĻ‚ āĻĄā§‡āĻŸāĻž āĻ—ā§āĻ°āĻšāĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤) āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻŦāĻžāĻ‡āĻŸ āĻĒāĻžāĻ āĻžāĻ¨ā§‹āĻ° āĻĒāĻ°ā§‡āĻ‡ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ†āĻ‰āĻŸ. āĻāĻŦāĻ‚ āĻāĻ–āĻžāĻ¨ā§‡ āĻŦāĻžāĻ‡āĻŸ āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻļāĻŋāĻĢāĻŸ āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ°ā§‡ āĻĸā§‡āĻ˛ā§‡ āĻĻā§‡āĻ“āĻ¯āĻŧāĻžāĻ° āĻĒāĻ°ā§‡ āĻāĻ‡ āĻĒāĻ¤āĻžāĻ•āĻž āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻāĻŸāĻŋ āĻāĻ•āĻ‡ āĻ¸āĻŽāĻ¯āĻŧā§‡ (āĻ¸āĻŽāĻžāĻ¨ā§āĻ¤āĻ°āĻžāĻ˛ā§‡) āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŦāĻŋāĻŸā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸ā§‡āĻ–āĻžāĻ¨ā§‡ āĻĸā§‡āĻ˛ā§‡ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡ āĻĄā§‡āĻŸāĻž āĻ•ā§āĻ°āĻŽāĻžāĻ¨ā§āĻŦāĻ¯āĻŧā§‡ āĻĒā§āĻ°ā§‡āĻ°āĻŖ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻ‡ āĻŦāĻžāĻ‡āĻŸ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖāĻ°ā§‚āĻĒā§‡ āĻĒāĻžāĻ āĻžāĻ¨ā§‹āĻ° āĻ†āĻ—ā§‡ TXE āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻāĻŸāĻŋ āĻ—ā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ āĻ•āĻžāĻ°āĻŖ āĻ†āĻŽāĻžāĻĻā§‡āĻ° LED āĻĄā§āĻ°āĻžāĻ‡āĻ­āĻžāĻ°ā§‡āĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻĒāĻžāĻ āĻžāĻ¨ā§‹āĻ° āĻĒāĻ° āĻ†āĻŽāĻžāĻĻā§‡āĻ° LAT āĻĒāĻŋāĻ¨ āĻŸāĻžāĻ¨āĻ¤ā§‡ āĻšāĻŦā§‡ вŅĐĩŅ… āĻ¤āĻĨā§āĻ¯, āĻ¯ā§‡āĻŽāĻ¨ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° TXE āĻĒāĻ¤āĻžāĻ•āĻžāĻ‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¯āĻĨā§‡āĻˇā§āĻŸ āĻšāĻŦā§‡ āĻ¨āĻžāĨ¤

āĻ¯āĻžāĻ° āĻŽāĻžāĻ¨ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ†āĻ°ā§‡āĻ•āĻŸāĻŋ āĻĒāĻ¤āĻžāĻ•āĻž āĻĻāĻ°āĻ•āĻžāĻ°āĨ¤ āĻ†āĻ¸ā§āĻ¨ 25.3.7 āĻĻā§‡āĻ–ā§āĻ¨ - "āĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ āĻĒāĻ¤āĻžāĻ•āĻž":

āĻĄā§‡āĻŸāĻžāĻļāĻŋāĻŸ 2 āĻĒāĻĄāĻŧā§āĻ¨: STM32-āĻ SPI; STM8-āĻ PWM, āĻŸāĻžāĻ‡āĻŽāĻžāĻ° āĻāĻŦāĻ‚ āĻŦāĻžāĻ§āĻž
<â€Ļ>
āĻĄā§‡āĻŸāĻžāĻļāĻŋāĻŸ 2 āĻĒāĻĄāĻŧā§āĻ¨: STM32-āĻ SPI; STM8-āĻ PWM, āĻŸāĻžāĻ‡āĻŽāĻžāĻ° āĻāĻŦāĻ‚ āĻŦāĻžāĻ§āĻž
āĻŦā§āĻ¯āĻ¸ā§āĻ¤ āĻĒāĻ¤āĻžāĻ•āĻž
BSY āĻĒāĻ¤āĻžāĻ•āĻž āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻāĻŦāĻ‚ āĻšāĻžāĻ°ā§āĻĄāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¸āĻžāĻĢ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ (āĻāĻ¤ā§‡ āĻ˛ā§‡āĻ–āĻžāĻ° āĻ•ā§‹āĻ¨ āĻĒā§āĻ°āĻ­āĻžāĻŦ āĻ¨ā§‡āĻ‡)āĨ¤ BSY āĻĒāĻ¤āĻžāĻ•āĻž SPI āĻ¯ā§‹āĻ—āĻžāĻ¯ā§‹āĻ— āĻ¸ā§āĻ¤āĻ°ā§‡āĻ° āĻ…āĻŦāĻ¸ā§āĻĨāĻž āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļ āĻ•āĻ°ā§‡āĨ¤
āĻāĻŸāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§‡:
āĻ¯āĻ–āĻ¨ āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ° āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻšāĻ¯āĻŧ (āĻŽāĻžāĻ¸ā§āĻŸāĻžāĻ° āĻŽā§‹āĻĄā§‡ āĻŦā§āĻ¯āĻ¤ā§€āĻ¤ āĻ¯āĻĻāĻŋ āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ° āĻ…āĻŦāĻŋāĻšā§āĻ›āĻŋāĻ¨ā§āĻ¨ āĻšāĻ¯āĻŧ)
āĻ¯āĻ–āĻ¨ SPI āĻ…āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ
āĻ¯āĻ–āĻ¨ āĻāĻ•āĻŸāĻŋ āĻŽāĻžāĻ¸ā§āĻŸāĻžāĻ° āĻŽā§‹āĻĄ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻ˜āĻŸā§‡ (MODF=1)
āĻŸā§āĻ°āĻžāĻ¨ā§āĻ¸āĻŽāĻŋāĻļāĻ¨ āĻ•ā§āĻ°āĻŽāĻžāĻ—āĻ¤ āĻ¨āĻž āĻšāĻ˛ā§‡, āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻĄā§‡āĻŸāĻž āĻŸā§āĻ°āĻžāĻ¨ā§āĻ¸āĻŽāĻŋāĻļāĻ¨ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ BSY āĻĒāĻ¤āĻžāĻ•āĻž āĻ¸āĻžāĻĢ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤

āĻ āĻŋāĻ• āĻ†āĻ›ā§‡, āĻāĻŸāĻž āĻ•āĻžāĻœā§‡ āĻ†āĻ¸āĻŦā§‡āĨ¤ Tx āĻŦāĻžāĻĢāĻžāĻ° āĻ•ā§‹āĻĨāĻžāĻ¯āĻŧ āĻ…āĻŦāĻ¸ā§āĻĨāĻŋāĻ¤ āĻ¤āĻž āĻ–ā§āĻāĻœā§‡ āĻŦā§‡āĻ° āĻ•āĻ°ā§āĻ¨āĨ¤ āĻāĻŸāĻŋ āĻ•āĻ°āĻ¤ā§‡, "SPI āĻĄā§‡āĻŸāĻž āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ°" āĻĒāĻĄāĻŧā§āĻ¨:

āĻĄā§‡āĻŸāĻžāĻļāĻŋāĻŸ 2 āĻĒāĻĄāĻŧā§āĻ¨: STM32-āĻ SPI; STM8-āĻ PWM, āĻŸāĻžāĻ‡āĻŽāĻžāĻ° āĻāĻŦāĻ‚ āĻŦāĻžāĻ§āĻž
āĻŦāĻŋāĻŸāĻ¸ 15:0 DR[15:0] āĻĄā§‡āĻŸāĻž āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ°
āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻ¤āĻĨā§āĻ¯ āĻŦāĻž āĻ¤āĻĨā§āĻ¯ āĻĒā§āĻ°ā§‡āĻ°āĻŖ āĻ•āĻ°āĻž āĻšāĻŦā§‡.
āĻĄā§‡āĻŸāĻž āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ° āĻĻā§āĻŸāĻŋ āĻŦāĻžāĻĢāĻžāĻ°ā§‡ āĻŦāĻŋāĻ­āĻ•ā§āĻ¤, āĻāĻ•āĻŸāĻŋ āĻ˛ā§‡āĻ–āĻžāĻ° āĻœāĻ¨ā§āĻ¯ (āĻŸā§āĻ°āĻžāĻ¨ā§āĻ¸āĻŽāĻŋāĻŸ āĻŦāĻžāĻĢāĻžāĻ°) āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ āĻĒāĻĄāĻŧāĻžāĻ° āĻœāĻ¨ā§āĻ¯ (āĻŦāĻžāĻĢāĻžāĻ° āĻ—ā§āĻ°āĻšāĻŖ)āĨ¤ āĻĄāĻžāĻŸāĻž āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻ˛ā§‡āĻ–āĻž Tx āĻŦāĻžāĻĢāĻžāĻ°ā§‡ āĻ˛ā§‡āĻ–āĻž āĻšāĻ¯āĻŧ, āĻāĻŦāĻ‚ āĻĄā§‡āĻŸāĻž āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ° āĻĨā§‡āĻ•ā§‡ āĻĒāĻĄāĻŧāĻž Rx āĻŦāĻžāĻĢāĻžāĻ°ā§‡ āĻĨāĻžāĻ•āĻž āĻŽāĻžāĻ¨āĻŸāĻŋ āĻĢāĻŋāĻ°āĻŋāĻ¯āĻŧā§‡ āĻĻā§‡āĻŦā§‡āĨ¤

āĻ­āĻžāĻ˛, āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻžāĻ¸ āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ°, āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ TXE āĻāĻŦāĻ‚ BSY āĻĒāĻ¤āĻžāĻ•āĻž āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡:

āĻĄā§‡āĻŸāĻžāĻļāĻŋāĻŸ 2 āĻĒāĻĄāĻŧā§āĻ¨: STM32-āĻ SPI; STM8-āĻ PWM, āĻŸāĻžāĻ‡āĻŽāĻžāĻ° āĻāĻŦāĻ‚ āĻŦāĻžāĻ§āĻž

āĻ†āĻŽāĻ°āĻž āĻ˛āĻŋāĻ–āĻŋ:

#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
}

āĻ āĻŋāĻ• āĻ†āĻ›ā§‡, āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻ†āĻŽāĻžāĻĻā§‡āĻ° LED āĻĄā§āĻ°āĻžāĻ‡āĻ­āĻžāĻ°ā§‡āĻ° āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻ…āĻ¨ā§āĻ¸āĻžāĻ°ā§‡ 16 āĻŦāĻžāĻ° āĻĻā§āĻ‡ āĻŦāĻžāĻ‡āĻŸ āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ° āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡, āĻāĻ°āĻ•āĻŽ āĻ•āĻŋāĻ›ā§:

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 āĻĒāĻĄāĻŧā§āĻ¨: STM32-āĻ SPI; STM8-āĻ PWM, āĻŸāĻžāĻ‡āĻŽāĻžāĻ° āĻāĻŦāĻ‚ āĻŦāĻžāĻ§āĻž
āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯ I/O āĻĒā§‹āĻ°ā§āĻŸ (GPIO) āĻĻā§āĻŸāĻŋ 32-āĻŦāĻŋāĻŸ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ° (GPIOx_CRL āĻāĻŦāĻ‚ GPIOx_CRH), āĻĻā§āĻŸāĻŋ 32-āĻŦāĻŋāĻŸ āĻĄā§‡āĻŸāĻž āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ° (GPIOx_IDR āĻāĻŦāĻ‚ GPIOx_ODR), āĻāĻ•āĻŸāĻŋ 32-āĻŦāĻŋāĻŸ āĻ¸ā§‡āĻŸ/āĻ°āĻŋāĻ¸ā§‡āĻŸ āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ° (GPIOx_BSRR), āĻāĻ•āĻŸāĻŋ 16-āĻŦāĻŋāĻŸ āĻ°āĻŋāĻ¸ā§‡āĻŸ āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ° (GPIOx_32BR) āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ GPIOx_XNUMXBR āĻŦāĻŋāĻŸ āĻŦā§āĻ˛āĻ•āĻŋāĻ‚ āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ° (GPIOx_LCKR)āĨ¤

āĻ…āĻ¸ā§āĻŦāĻžāĻ­āĻžāĻŦāĻŋāĻ•, āĻāĻŦāĻ‚ āĻāĻ›āĻžāĻĄāĻŧāĻžāĻ“ āĻŦāĻ°āĻ‚ āĻ…āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻœāĻ¨āĻ•, āĻāĻ–āĻžāĻ¨ā§‡ āĻĒā§āĻ°āĻĨāĻŽ āĻĻā§āĻŸāĻŋ āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ°, āĻ•āĻžāĻ°āĻŖ āĻĒā§‹āĻ°ā§āĻŸā§‡āĻ° 16 āĻŸāĻŋ āĻĒāĻŋāĻ¨ "āĻ­āĻžāĻ‡ āĻĒā§āĻ°āĻ¤āĻŋ āĻšāĻžāĻ° āĻŦāĻŋāĻŸ" āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸ā§‡ āĻ›āĻĄāĻŧāĻŋāĻ¯āĻŧā§‡ āĻ›āĻŋāĻŸāĻŋāĻ¯āĻŧā§‡ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ¸ā§‡āĻ—ā§āĻ˛ā§‹. XNUMX āĻĨā§‡āĻ•ā§‡ XNUMX āĻĒāĻŋāĻ¨āĻ—ā§āĻ˛āĻŋ CRL-āĻ āĻāĻŦāĻ‚ āĻŦāĻžāĻ•āĻŋāĻ—ā§āĻ˛āĻŋ CRH-āĻ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ā§ˇ āĻāĻ•āĻ‡ āĻ¸āĻŽāĻ¯āĻŧā§‡, āĻ…āĻŦāĻļāĻŋāĻˇā§āĻŸ āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ°āĻ—ā§āĻ˛āĻŋ āĻ¸āĻĢāĻ˛āĻ­āĻžāĻŦā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒā§‹āĻ°ā§āĻŸ āĻĒāĻŋāĻ¨ā§‡āĻ° āĻŦāĻŋāĻŸā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻĢāĻŋāĻŸ āĻ•āĻ°ā§‡ - āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻļāĻ‡ āĻ…āĻ°ā§āĻ§ā§‡āĻ• "āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŋāĻ¤" āĻĨāĻžāĻ•ā§‡āĨ¤

āĻ¸āĻ°āĻ˛āĻ¤āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ° āĻļā§‡āĻˇā§‡ āĻļā§āĻ°ā§ āĻ•āĻ°āĻž āĻ¯āĻžāĻ•āĨ¤

āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻŦā§āĻ˛āĻ•āĻŋāĻ‚ āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ°ā§‡āĻ° āĻĻāĻ°āĻ•āĻžāĻ° āĻ¨ā§‡āĻ‡āĨ¤

āĻ¸ā§‡āĻŸ āĻāĻŦāĻ‚ āĻ°āĻŋāĻ¸ā§‡āĻŸ āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ°āĻ—ā§āĻ˛āĻŋ āĻŦā§‡āĻļ āĻŽāĻœāĻžāĻ° āĻ¯ā§‡ āĻ¤āĻžāĻ°āĻž āĻāĻ•ā§‡ āĻ…āĻĒāĻ°āĻ•ā§‡ āĻ†āĻ‚āĻļāĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻ¨āĻ•āĻ˛ āĻ•āĻ°ā§‡: āĻ†āĻĒāĻ¨āĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° BSRR-āĻ āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻ˛āĻŋāĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨, āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ‰āĻĒāĻ°ā§‡āĻ° 16 āĻŦāĻŋāĻŸāĻ—ā§āĻ˛āĻŋ āĻĒāĻŋāĻ¨āĻŸāĻŋāĻ•ā§‡ āĻļā§‚āĻ¨ā§āĻ¯ā§‡ āĻ°āĻŋāĻ¸ā§‡āĻŸ āĻ•āĻ°āĻŦā§‡ āĻāĻŦāĻ‚ āĻ¨ā§€āĻšā§‡āĻ°āĻ—ā§āĻ˛āĻŋ 1 āĻ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž āĻšāĻŦā§‡, āĻ…āĻĨāĻŦāĻž āĻ†āĻĒāĻ¨āĻŋ āĻāĻŸāĻŋāĻ“ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤ BRR āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨, āĻ¨ā§€āĻšā§‡āĻ° 16 āĻŦāĻŋāĻŸ āĻ¯āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻĒāĻŋāĻ¨ āĻ°āĻŋāĻ¸ā§‡āĻŸ āĻ•āĻ°ā§āĻ¨āĨ¤ āĻ†āĻŽāĻŋ āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻĒāĻ›āĻ¨ā§āĻĻ. āĻāĻ‡ āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ°āĻ—ā§āĻ˛āĻŋ āĻ—ā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ āĻ•āĻžāĻ°āĻŖ āĻ¤āĻžāĻ°āĻž āĻĒāĻŋāĻ¨āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻĒāĻžāĻ°āĻŽāĻžāĻŖāĻŦāĻŋāĻ• āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ¸āĻ°āĻŦāĻ°āĻžāĻš āĻ•āĻ°ā§‡:

āĻĄā§‡āĻŸāĻžāĻļāĻŋāĻŸ 2 āĻĒāĻĄāĻŧā§āĻ¨: STM32-āĻ SPI; STM8-āĻ PWM, āĻŸāĻžāĻ‡āĻŽāĻžāĻ° āĻāĻŦāĻ‚ āĻŦāĻžāĻ§āĻž
āĻĄā§‡āĻŸāĻžāĻļāĻŋāĻŸ 2 āĻĒāĻĄāĻŧā§āĻ¨: STM32-āĻ SPI; STM8-āĻ PWM, āĻŸāĻžāĻ‡āĻŽāĻžāĻ° āĻāĻŦāĻ‚ āĻŦāĻžāĻ§āĻž
āĻĒāĻžāĻ°āĻŽāĻžāĻŖāĻŦāĻŋāĻ• āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻŦāĻž āĻ°āĻŋāĻ¸ā§‡āĻŸ
āĻŦāĻŋāĻŸ āĻ¸ā§āĻ¤āĻ°ā§‡ GPIOx_ODR āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻŋāĻ‚ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻŦāĻžāĻ§āĻž āĻ¨āĻŋāĻˇā§āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻ¨āĻž: āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻŸāĻŋ āĻāĻ•āĻ• APB2 āĻĒāĻžāĻ°āĻŽāĻžāĻŖāĻŦāĻŋāĻ• āĻ˛āĻŋāĻ–āĻ¨ āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻāĻ• āĻŦāĻž āĻāĻ•āĻžāĻ§āĻŋāĻ• āĻŦāĻŋāĻŸ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤ āĻāĻŸāĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻž āĻŦāĻŋāĻŸā§‡āĻ° āĻ¸ā§‡āĻŸ/āĻ°āĻŋāĻ¸ā§‡āĻŸ āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ°ā§‡ (GPIOx_BSRR āĻŦāĻž, āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ°āĻŋāĻ¸ā§‡āĻŸā§‡āĻ° āĻœāĻ¨ā§āĻ¯, GPIOx_BRR) āĻāĻ•āĻŸāĻŋ "1" āĻ˛āĻŋāĻ–ā§‡ āĻ…āĻ°ā§āĻœāĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻŦāĻŋāĻŸ āĻ…āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻĨāĻžāĻ•āĻŦā§‡āĨ¤

āĻĄā§‡āĻŸāĻž āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ°ā§‡āĻ° āĻŦā§‡āĻļ āĻ¸ā§āĻĒāĻŋāĻ•āĻŋāĻ‚ āĻ¨āĻžāĻŽ āĻ†āĻ›ā§‡ - IDR = āĻ‡āĻ¨āĻĒā§āĻŸ āĻĻāĻŋāĻ•āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļ āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ°, āĻ‡āĻ¨āĻĒā§āĻŸ āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ°; ODR= āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻĄāĻŋāĻ°ā§‡āĻ•āĻļāĻ¨ āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ°, āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ°āĨ¤ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒā§‡, āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¤āĻžāĻĻā§‡āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ¨ā§‡āĻ‡āĨ¤

āĻāĻŦāĻ‚ āĻ…āĻŦāĻļā§‡āĻˇā§‡, āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻ¨. āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻ†āĻŽāĻ°āĻž āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧ SPI āĻāĻ° āĻĒāĻŋāĻ¨āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻ†āĻ—ā§āĻ°āĻšā§€, āĻ¯āĻĨāĻž PB13, PB14 āĻāĻŦāĻ‚ PB15, āĻ†āĻŽāĻ°āĻž āĻ…āĻŦāĻŋāĻ˛āĻŽā§āĻŦā§‡ CRH āĻāĻ° āĻĻāĻŋāĻ•ā§‡ āĻ¤āĻžāĻ•āĻžāĻ‡:

āĻĄā§‡āĻŸāĻžāĻļāĻŋāĻŸ 2 āĻĒāĻĄāĻŧā§āĻ¨: STM32-āĻ SPI; STM8-āĻ PWM, āĻŸāĻžāĻ‡āĻŽāĻžāĻ° āĻāĻŦāĻ‚ āĻŦāĻžāĻ§āĻž

āĻāĻŦāĻ‚ āĻ†āĻŽāĻ°āĻž āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻšā§āĻ›āĻŋ āĻ¯ā§‡ 20 āĻĨā§‡āĻ•ā§‡ 31 āĻ¤āĻŽ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻŦāĻŋāĻŸāĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻ•āĻŋāĻ›ā§ āĻ˛āĻŋāĻ–āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤

āĻ†āĻŽāĻ°āĻž āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡āĻ‡ āĻ‰āĻĒāĻ°ā§‡āĻ° āĻĒāĻŋāĻ¨āĻ—ā§āĻ˛āĻŋ āĻĨā§‡āĻ•ā§‡ āĻ†āĻŽāĻ°āĻž āĻ•ā§€ āĻšāĻžāĻ‡ āĻ¤āĻž āĻ–ā§āĻāĻœā§‡ āĻŦā§‡āĻ° āĻ•āĻ°ā§‡āĻ›āĻŋ, āĻ¤āĻžāĻ‡ āĻāĻ–āĻžāĻ¨ā§‡ āĻ†āĻŽāĻŋ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻ¨āĻļāĻŸ āĻ›āĻžāĻĄāĻŧāĻžāĻ‡ āĻ•āĻ°āĻŦ, āĻļā§āĻ§ā§ āĻŦāĻ˛ā§āĻ¨ āĻ¯ā§‡ MODE āĻĻāĻŋāĻ•āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļ (āĻ‡āĻ¨āĻĒā§āĻŸ āĻ‰āĻ­āĻ¯āĻŧ āĻŦāĻŋāĻŸ 0 āĻ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž āĻĨāĻžāĻ•āĻ˛ā§‡) āĻāĻŦāĻ‚ āĻĒāĻŋāĻ¨ā§‡āĻ° āĻ—āĻ¤āĻŋ (āĻ†āĻŽāĻžāĻĻā§‡āĻ° 50MHz āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨, āĻ¯ā§‡āĻŽāĻ¨ āĻ‰āĻ­āĻ¯āĻŧ āĻĒāĻŋāĻ¨ "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 āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋāĨ¤ āĻ†āĻŽāĻ°āĻž āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ā§‡ āĻāĻŸāĻŋ āĻ–ā§āĻāĻœāĻ›āĻŋ: āĻāĻŸāĻŋ āĻ°āĻŋāĻ¸ā§‡āĻŸ āĻāĻŦāĻ‚ āĻ•ā§āĻ˛āĻ• āĻ•āĻ¨ā§āĻŸā§āĻ°ā§‹āĻ˛ (āĻ°āĻŋāĻ¸ā§‡āĻŸ āĻāĻŦāĻ‚ āĻ•ā§āĻ˛āĻ•āĻŋāĻ‚āĻ¯āĻŧā§‡āĻ° āĻŦā§āĻ¯āĻŦāĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻž)āĨ¤

āĻ‰āĻĒāĻ°ā§‡ āĻ‰āĻ˛ā§āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻšāĻŋāĻ¸āĻžāĻŦā§‡, āĻ­āĻžāĻ—ā§āĻ¯āĻ•ā§āĻ°āĻŽā§‡, āĻāĻ¸āĻŸāĻŋāĻāĻŽ-āĻāĻ° āĻ˛ā§‹āĻ•ā§‡āĻ°āĻž āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ˜āĻĄāĻŧāĻŋāĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧā§‡āĻ° āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻ•āĻ āĻŋāĻ¨ āĻ…āĻ‚āĻļāĻŸāĻŋ āĻ•āĻ°ā§‡āĻ›ā§‡, āĻ¯āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¤āĻžāĻĻā§‡āĻ° āĻ…āĻ¨ā§‡āĻ• āĻ§āĻ¨ā§āĻ¯āĻŦāĻžāĻĻ (āĻ†āĻŦāĻžāĻ° āĻ†āĻŽāĻŋ āĻāĻ•āĻŸāĻŋ āĻ˛āĻŋāĻ™ā§āĻ• āĻĻā§‡āĻŦ āĻĄāĻŋ āĻšāĻžāĻ˛ā§āĻŸā§‡āĻ° āĻ“āĻ¯āĻŧā§‡āĻŦāĻ¸āĻžāĻ‡āĻŸāĻāĻŸāĻŋ āĻ•āĻ¤āĻŸāĻž āĻŦāĻŋāĻ­ā§āĻ°āĻžāĻ¨ā§āĻ¤āĻŋāĻ•āĻ° āĻ¤āĻž āĻĒāĻ°āĻŋāĻˇā§āĻ•āĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯)āĨ¤ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻĒā§‡āĻ°āĻŋāĻĢā§‡āĻ°āĻžāĻ˛ āĻ•ā§āĻ˛āĻ•āĻŋāĻ‚ (āĻĒā§‡āĻ°āĻŋāĻĢā§‡āĻ°āĻžāĻ˛ āĻ•ā§āĻ˛āĻ• āĻāĻ¨āĻžāĻŦāĻ˛ āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ°) āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĻāĻžāĻ¯āĻŧā§€ āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ° āĻĻāĻ°āĻ•āĻžāĻ°āĨ¤ āĻĒā§āĻ°āĻĨāĻŽā§‡, āĻ†āĻ¸ā§āĻ¨ āĻ†āĻ°āĻ¸āĻŋāĻ¸āĻŋāĻ° āĻŽā§‚āĻ˛ āĻ āĻŋāĻ•āĻžāĻ¨āĻžāĻŸāĻŋ āĻ–ā§āĻāĻœā§‡ āĻŦā§‡āĻ° āĻ•āĻ°āĻŋ, āĻāĻŸāĻŋ "āĻŽā§‡āĻŽāĻ°āĻŋ āĻ•āĻžāĻ°ā§āĻĄ" āĻāĻ° āĻāĻ•ā§‡āĻŦāĻžāĻ°ā§‡ āĻļā§āĻ°ā§āĻ¤ā§‡ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡:

āĻĄā§‡āĻŸāĻžāĻļāĻŋāĻŸ 2 āĻĒāĻĄāĻŧā§āĻ¨: STM32-āĻ SPI; STM8-āĻ PWM, āĻŸāĻžāĻ‡āĻŽāĻžāĻ° āĻāĻŦāĻ‚ āĻŦāĻžāĻ§āĻž

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

āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡ āĻšāĻ¯āĻŧ āĻ¸ā§‡āĻ‡ āĻ˛āĻŋāĻ™ā§āĻ•āĻŸāĻŋāĻ¤ā§‡ āĻ•ā§āĻ˛āĻŋāĻ• āĻ•āĻ°ā§āĻ¨ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻŸā§‡āĻŦāĻŋāĻ˛ā§‡ āĻ•āĻŋāĻ›ā§ āĻ–ā§āĻāĻœā§‡ āĻŦā§‡āĻ° āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡, āĻ…āĻĨāĻŦāĻž, āĻ†āĻ°āĻ“ āĻ­āĻžāĻ˛, āĻŦāĻŋāĻ­āĻžāĻ—āĻ—ā§āĻ˛āĻŋ āĻĨā§‡āĻ•ā§‡ āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ° āĻ¸āĻš āĻŦāĻ°ā§āĻŖāĻ¨āĻžāĻ—ā§āĻ˛āĻŋāĻ° āĻ‰āĻĒāĻ° āĻ¯āĻžāĻ¨ āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ° āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°ā§āĻ¨. āĻ†āĻŽāĻ°āĻž āĻ•ā§‹āĻĨāĻžāĻ¯āĻŧ āĻĒāĻžāĻŦ RCC_APB1ENR āĻāĻŦāĻ‚ RCC_APB2ENR:

āĻĄā§‡āĻŸāĻžāĻļāĻŋāĻŸ 2 āĻĒāĻĄāĻŧā§āĻ¨: STM32-āĻ SPI; STM8-āĻ PWM, āĻŸāĻžāĻ‡āĻŽāĻžāĻ° āĻāĻŦāĻ‚ āĻŦāĻžāĻ§āĻž
āĻĄā§‡āĻŸāĻžāĻļāĻŋāĻŸ 2 āĻĒāĻĄāĻŧā§āĻ¨: STM32-āĻ SPI; STM8-āĻ PWM, āĻŸāĻžāĻ‡āĻŽāĻžāĻ° āĻāĻŦāĻ‚ āĻŦāĻžāĻ§āĻž

āĻāĻŦāĻ‚ āĻ¤āĻžāĻĻā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡, āĻ¯āĻĨāĻžāĻ•ā§āĻ°āĻŽā§‡, āĻŦāĻŋāĻŸ āĻ¯āĻž SPI2, IOPB (I / O āĻĒā§‹āĻ°ā§āĻŸ āĻŦāĻŋ) āĻāĻŦāĻ‚ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻĢāĻžāĻ‚āĻļāĻ¨ (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 āĻĒāĻĄāĻŧā§āĻ¨: STM32-āĻ SPI; STM8-āĻ PWM, āĻŸāĻžāĻ‡āĻŽāĻžāĻ° āĻāĻŦāĻ‚ āĻŦāĻžāĻ§āĻž

STM8 PWM

STM8 āĻ PWM

āĻ¯āĻ–āĻ¨ āĻ†āĻŽāĻŋ āĻāĻ‡ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻŸāĻŋ āĻĒāĻ°āĻŋāĻ•āĻ˛ā§āĻĒāĻ¨āĻž āĻ•āĻ°āĻ›āĻŋāĻ˛āĻžāĻŽ, āĻ†āĻŽāĻŋ āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤ āĻ¨āĻŋāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĻžāĻŽ, āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻ•āĻŸāĻŋ āĻĄā§‡āĻŸāĻžāĻļāĻŋāĻŸā§‡āĻ° āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋ āĻ…āĻĒāĻ°āĻŋāĻšāĻŋāĻ¤ āĻšāĻŋāĻĒā§‡āĻ° āĻ•āĻŋāĻ›ā§ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻžāĻ°āĻŋāĻ¤āĻž āĻ†āĻ¯āĻŧāĻ¤ā§āĻ¤ āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°āĻŦ, āĻ¯āĻžāĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻœā§āĻ¤āĻž āĻŦā§āĻŸ āĻ›āĻžāĻĄāĻŧāĻžāĻ‡ āĻŦā§‡āĻ° āĻ¨āĻž āĻšāĻ¯āĻŧāĨ¤ STM8 āĻāĻ‡ āĻ­ā§‚āĻŽāĻŋāĻ•āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¨āĻŋāĻ–ā§āĻāĻ¤ āĻ›āĻŋāĻ˛: āĻĒā§āĻ°āĻĨāĻŽāĻ¤, āĻ†āĻŽāĻžāĻ° āĻ•āĻžāĻ›ā§‡ STM8S103 āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻšāĻžāĻ‡āĻ¨āĻŋāĻœ āĻŦā§‹āĻ°ā§āĻĄ āĻ›āĻŋāĻ˛ āĻāĻŦāĻ‚ āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧāĻ¤, āĻāĻŸāĻŋ āĻ–ā§āĻŦ āĻœāĻ¨āĻĒā§āĻ°āĻŋāĻ¯āĻŧ āĻ¨āĻ¯āĻŧ, āĻāĻŦāĻ‚ āĻ¸ā§‡āĻ‡āĻœāĻ¨ā§āĻ¯ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻ¨ā§‡āĻŸā§‡ āĻĒāĻĄāĻŧāĻžāĻ° āĻāĻŦāĻ‚ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻ–ā§‹āĻāĻœāĻžāĻ° āĻĒā§āĻ°āĻ˛ā§‹āĻ­āĻ¨ āĻāĻ‡ āĻāĻ•āĻ‡ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨āĻ—ā§āĻ˛āĻŋāĻ° āĻ…āĻ¨ā§āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡āĨ¤

āĻšāĻŋāĻĒāĻ“ āĻ†āĻ›ā§‡ āĻ¤āĻĨā§āĻ¯ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž и āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛ RM0016, āĻĒā§āĻ°āĻĨāĻŽ āĻĒāĻŋāĻ¨āĻ†āĻ‰āĻŸ āĻāĻŦāĻ‚ āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ° āĻ āĻŋāĻ•āĻžāĻ¨āĻžāĻ¯āĻŧ, āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧāĻŸāĻŋāĻ¤ā§‡ - āĻ…āĻ¨ā§āĻ¯ āĻ¸āĻŦāĻ•āĻŋāĻ›ā§āĨ¤ āĻāĻ•āĻŸāĻŋ āĻ•ā§ā§ŽāĻ¸āĻŋāĻ¤ IDE-āĻ¤ā§‡ C-āĻ¤ā§‡ STM8 āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻŋāĻ‚ ST āĻ­āĻŋāĻœā§āĻ¯ā§āĻ¯āĻŧāĻžāĻ˛ āĻĄā§‡āĻ­ā§‡āĻ˛āĻĒ.

āĻ•ā§āĻ˛āĻ•āĻŋāĻ‚ āĻāĻŦāĻ‚ I/O

āĻĄāĻŋāĻĢāĻ˛ā§āĻŸāĻ°ā§‚āĻĒā§‡, STM8 2 MHz āĻĢā§āĻ°āĻŋāĻ•ā§‹āĻ¯āĻŧā§‡āĻ¨ā§āĻ¸āĻŋāĻ¤ā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡, āĻāĻŸāĻŋ āĻ…āĻŦāĻŋāĻ˛āĻŽā§āĻŦā§‡ āĻ¸āĻ‚āĻļā§‹āĻ§āĻ¨ āĻ•āĻ°āĻž āĻ†āĻŦāĻļā§āĻ¯āĻ•āĨ¤

āĻĄā§‡āĻŸāĻžāĻļāĻŋāĻŸ 2 āĻĒāĻĄāĻŧā§āĻ¨: STM32-āĻ SPI; STM8-āĻ PWM, āĻŸāĻžāĻ‡āĻŽāĻžāĻ° āĻāĻŦāĻ‚ āĻŦāĻžāĻ§āĻž
HSI āĻ˜āĻĄāĻŧāĻŋ (āĻ‰āĻšā§āĻš āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ)
HSI āĻ˜āĻĄāĻŧāĻŋāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽā§‡āĻŦāĻ˛ āĻĄāĻŋāĻ­āĻžāĻ‡āĻĄāĻžāĻ° (16 āĻĨā§‡āĻ•ā§‡ 1) āĻ¸āĻš āĻāĻ•āĻŸāĻŋ āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ 8 MHz RC āĻ…āĻ¸āĻŋāĻ˛ā§‡āĻŸāĻ° āĻĨā§‡āĻ•ā§‡ āĻ‰āĻĻā§āĻ­ā§‚āĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻāĻŸāĻŋ āĻ•ā§āĻ˛āĻ• āĻĄāĻŋāĻ­āĻžāĻ‡āĻĄāĻžāĻ° āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ°ā§‡ (CLK_CKDIVR) āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž āĻ†āĻ›ā§‡āĨ¤
āĻĻā§āĻ°āĻˇā§āĻŸāĻŦā§āĻ¯: 8 āĻāĻ° āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻ­āĻžāĻœāĻ• āĻ¸āĻš HSI RC āĻ…āĻ¸āĻŋāĻ˛ā§‡āĻŸāĻ° āĻ¸ā§āĻŸāĻžāĻ°ā§āĻŸāĻ†āĻĒā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ˜āĻĄāĻŧāĻŋāĻ° āĻ‰āĻ¤ā§āĻ¸ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻŋāĻ¤ āĻšāĻ¯āĻŧā§ˇ

āĻ†āĻŽāĻ°āĻž āĻĄā§‡āĻŸāĻžāĻļā§€āĻŸā§‡ āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ°ā§‡āĻ° āĻ āĻŋāĻ•āĻžāĻ¨āĻž, āĻ°ā§‡āĻĢāĻŽā§āĻ¯āĻžāĻ¨ā§‡ āĻŦāĻŋāĻŦāĻ°āĻŖ āĻ–ā§āĻāĻœā§‡ āĻĒāĻžāĻ‡ āĻāĻŦāĻ‚ āĻĻā§‡āĻ–āĻŋ āĻ¯ā§‡ āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ°āĻŸāĻŋ āĻ¸āĻžāĻĢ āĻ•āĻ°āĻž āĻĻāĻ°āĻ•āĻžāĻ°:

#define CLK_CKDIVR *(volatile uint8_t *)0x0050C6

CLK_CKDIVR &= ~(0x18);

āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻ†āĻŽāĻ°āĻž PWM āĻšāĻžāĻ˛āĻžāĻ¤ā§‡ āĻ¯āĻžāĻšā§āĻ›āĻŋ āĻāĻŦāĻ‚ LED āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡ āĻ¯āĻžāĻšā§āĻ›āĻŋ, āĻ†āĻ¸ā§āĻ¨ āĻĒāĻŋāĻ¨āĻ†āĻ‰āĻŸāĻŸāĻŋ āĻĻā§‡āĻ–āĻŋ:

āĻĄā§‡āĻŸāĻžāĻļāĻŋāĻŸ 2 āĻĒāĻĄāĻŧā§āĻ¨: STM32-āĻ SPI; STM8-āĻ PWM, āĻŸāĻžāĻ‡āĻŽāĻžāĻ° āĻāĻŦāĻ‚ āĻŦāĻžāĻ§āĻž

āĻšāĻŋāĻĒāĻŸāĻŋ āĻ›ā§‹āĻŸ, āĻāĻ•āĻ‡ āĻĒāĻŋāĻ¨ā§‡ āĻ…āĻ¨ā§‡āĻ• āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ¸āĻžāĻ¸āĻĒā§‡āĻ¨ā§āĻĄ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻŦāĻ°ā§āĻ—āĻžāĻ•āĻžāĻ° āĻŦāĻ¨ā§āĻ§āĻ¨ā§€āĻ¤ā§‡ āĻ¯āĻž āĻ†āĻ›ā§‡ āĻ¤āĻž āĻšāĻ˛ "āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻžāĻ°āĻŋāĻ¤āĻž", āĻāĻŸāĻŋ "āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻŦāĻžāĻ‡āĻŸ" āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¸ā§āĻ¯ā§āĻ‡āĻš āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ (āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻŦāĻžāĻ‡āĻŸ) - Atmega āĻĢāĻŋāĻ‰āĻœ āĻŽāĻ¤ āĻ•āĻŋāĻ›ā§. āĻ†āĻĒāĻ¨āĻŋ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻ—āĻ¤āĻ­āĻžāĻŦā§‡ āĻ¤āĻžāĻĻā§‡āĻ° āĻŽāĻžāĻ¨ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨, āĻ¤āĻŦā§‡ āĻāĻŸāĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻ¨āĻ¯āĻŧ, āĻ•āĻžāĻ°āĻŖāĨ¤ āĻ¨āĻ¤ā§āĻ¨ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻžāĻ°āĻŋāĻ¤āĻž āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻ•āĻŸāĻŋ āĻ°āĻŋāĻŦā§āĻŸ āĻĒāĻ°ā§‡ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ. āĻāĻ¸āĻŸāĻŋ āĻ­āĻŋāĻœā§āĻ¯ā§āĻ¯āĻŧāĻžāĻ˛ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻžāĻ° (āĻ­āĻŋāĻœā§āĻ¯ā§āĻ¯āĻŧāĻžāĻ˛ āĻĄā§‡āĻ­ā§‡āĻ˛āĻĒ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻž) āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¸āĻšāĻœ, āĻ¯āĻž āĻāĻ‡ āĻŦāĻžāĻ‡āĻŸāĻ—ā§āĻ˛āĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻĒāĻŋāĻ¨āĻ†āĻ‰āĻŸ āĻĻā§‡āĻ–āĻžāĻ¯āĻŧ āĻ¯ā§‡ āĻĒā§āĻ°āĻĨāĻŽ āĻŸāĻžāĻ‡āĻŽāĻžāĻ°ā§‡āĻ° āĻ†āĻ‰āĻŸāĻĒā§āĻŸ CH1 āĻāĻŦāĻ‚ CH2 āĻŦāĻ°ā§āĻ—āĻžāĻ•āĻžāĻ° āĻŦāĻ¨ā§āĻ§āĻ¨ā§€āĻ¤ā§‡ āĻ˛ā§āĻ•āĻžāĻ¨ā§‹ āĻ†āĻ›ā§‡; STVP-āĻ AFR1 āĻāĻŦāĻ‚ AFR0 āĻŦāĻŋāĻŸ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻāĻŦāĻ‚ āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧāĻŸāĻŋ āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧ āĻŸāĻžāĻ‡āĻŽāĻžāĻ°ā§‡āĻ° āĻ†āĻ‰āĻŸāĻĒā§āĻŸ CH1 PD4 āĻĨā§‡āĻ•ā§‡ PC5-āĻ āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ° āĻ•āĻ°āĻŦā§‡āĨ¤

āĻāĻ‡āĻ­āĻžāĻŦā§‡, 6āĻŸāĻŋ āĻĒāĻŋāĻ¨ āĻāĻ˛āĻ‡āĻĄāĻŋ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻ•āĻ°āĻŦā§‡: āĻĒā§āĻ°āĻĨāĻŽ āĻŸāĻžāĻ‡āĻŽāĻžāĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ PC6, PC7 āĻāĻŦāĻ‚ PC3, āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧāĻŸāĻŋāĻ° āĻœāĻ¨ā§āĻ¯ PC5, PD3 āĻāĻŦāĻ‚ PA3āĨ¤

STM8-āĻ I/O āĻĒāĻŋāĻ¨āĻ—ā§āĻ˛āĻŋ āĻ¸ā§‡āĻŸ āĻ†āĻĒ āĻ•āĻ°āĻž 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 āĻ¸ā§‡āĻŸāĻŋāĻ‚

āĻĒā§āĻ°āĻĨāĻŽā§‡, āĻ†āĻ¸ā§āĻ¨ āĻļāĻ°ā§āĻ¤āĻžāĻĻāĻŋ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°āĻŋ:

  • āĻĒāĻŋāĻĄāĻžāĻŦā§āĻ˛ā§āĻāĻŽ āĻĢā§āĻ°āĻŋāĻ•ā§‹āĻ¯āĻŧā§‡āĻ¨ā§āĻ¸āĻŋ - āĻĢā§āĻ°āĻŋāĻ•ā§‹āĻ¯āĻŧā§‡āĻ¨ā§āĻ¸āĻŋ āĻ¯āĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻŸāĻžāĻ‡āĻŽāĻžāĻ° āĻŸāĻŋāĻ• āĻ•āĻ°ā§‡;
  • āĻ…āĻŸā§‹-āĻ°āĻŋāĻ˛ā§‹āĻĄ, AR - āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻž āĻŽāĻžāĻ¨, āĻ¯āĻž āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻŸāĻžāĻ‡āĻŽāĻžāĻ° āĻ—āĻŖāĻ¨āĻž āĻ•āĻ°āĻŦā§‡ (āĻĒāĻžāĻ˛āĻ¸ āĻ¸āĻŽāĻ¯āĻŧāĻ•āĻžāĻ˛);
  • āĻ†āĻĒāĻĄā§‡āĻŸ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸ, UEV - āĻāĻ•āĻŸāĻŋ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸ āĻ¯āĻž āĻ˜āĻŸā§‡ āĻ¯āĻ–āĻ¨ āĻŸāĻžāĻ‡āĻŽāĻžāĻ°āĻŸāĻŋ AR-āĻ¤ā§‡ āĻ—āĻŖāĻ¨āĻž āĻ•āĻ°ā§‡;
  • PWM āĻĄāĻŋāĻ‰āĻŸāĻŋ ​​āĻ¸āĻžāĻ‡āĻ•ā§‡āĻ˛ - PWM āĻĄāĻŋāĻ‰āĻŸāĻŋ ​​āĻšāĻ•ā§āĻ°, āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻ‡ "āĻĄāĻŋāĻ‰āĻŸāĻŋ ​​āĻšāĻ•ā§āĻ°" āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ;
  • āĻŽāĻžāĻ¨ āĻ•ā§āĻ¯āĻžāĻĒāĻšāĻžāĻ°/āĻ¤ā§āĻ˛āĻ¨āĻž āĻ•āĻ°ā§āĻ¨ - āĻ•ā§āĻ¯āĻžāĻĒāĻšāĻžāĻ°/āĻ¤ā§āĻ˛āĻ¨āĻž āĻ•āĻ°āĻžāĻ° āĻŽāĻžāĻ¨, āĻŸāĻžāĻ‡āĻŽāĻžāĻ° āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻ—āĻŖāĻ¨āĻž āĻ•āĻ°āĻž āĻ•āĻŋāĻ›ā§ āĻ•āĻ°āĻŦā§‡ (PWM āĻāĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻāĻŸāĻŋ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ¸āĻ‚āĻ•ā§‡āĻ¤āĻ•ā§‡ āĻ‰āĻ˛ā§āĻŸā§‡ āĻĻā§‡āĻ¯āĻŧ);
  • āĻĒā§āĻ°āĻŋāĻ˛ā§‹āĻĄ āĻŽāĻžāĻ¨ - āĻĒā§āĻ°āĻŋāĻ˛ā§‹āĻĄ āĻ•āĻ°āĻž āĻŽāĻžāĻ¨āĨ¤ āĻŽāĻžāĻ¨ āĻ¤ā§āĻ˛āĻ¨āĻž āĻ•āĻ°ā§āĻ¨ āĻŸāĻžāĻ‡āĻŽāĻžāĻ° āĻŸāĻŋāĻ• āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻž āĻ¯āĻžāĻŦā§‡ āĻ¨āĻž, āĻ…āĻ¨ā§āĻ¯āĻĨāĻžāĻ¯āĻŧ PWM āĻšāĻ•ā§āĻ°āĻŸāĻŋ āĻ­ā§‡āĻ™ā§‡ āĻ¯āĻžāĻŦā§‡āĨ¤ āĻ…āĻ¤āĻāĻŦ, āĻ¨āĻ¤ā§āĻ¨ āĻĒā§āĻ°ā§‡āĻ°āĻŋāĻ¤ āĻŽāĻžāĻ¨āĻ—ā§āĻ˛āĻŋ āĻŦāĻžāĻĢāĻžāĻ°ā§‡ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻŸāĻžāĻ‡āĻŽāĻžāĻ°āĻŸāĻŋ āĻ•āĻžāĻ‰āĻ¨ā§āĻŸāĻĄāĻžāĻ‰āĻ¨ā§‡āĻ° āĻļā§‡āĻˇā§‡ āĻĒā§ŒāĻāĻ›āĻžāĻ˛ā§‡ āĻāĻŦāĻ‚ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž āĻšāĻ˛ā§‡ āĻ¤āĻž āĻŦā§‡āĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ;
  • āĻĒā§āĻ°āĻžāĻ¨ā§āĻ¤ āĻ¸āĻžāĻ°āĻŋāĻŦāĻĻā§āĻ§ и āĻ•ā§‡āĻ¨ā§āĻĻā§āĻ°ā§‡ āĻ¸āĻžāĻ°āĻŋāĻŦāĻĻā§āĻ§ āĻŽā§‹āĻĄ – āĻ¸ā§€āĻŽāĻžāĻ¨ā§āĻ¤ā§‡ āĻāĻŦāĻ‚ āĻ•ā§‡āĻ¨ā§āĻĻā§āĻ°ā§‡ āĻĒā§āĻ°āĻžāĻ¨ā§āĻ¤āĻŋāĻ•āĻ•āĻ°āĻŖ, atmelovskie āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻāĻ•āĻ‡ āĻĢāĻžāĻ¸ā§āĻŸ āĻĒāĻŋāĻĄāĻŦā§āĻ˛āĻŋāĻ‰āĻāĻŽ и āĻĢā§‡āĻœ-āĻ¸āĻ āĻŋāĻ• PWM.
  • OCiREF, āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ¤ā§āĻ˛āĻ¨āĻž āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ āĻ¸āĻ‚āĻ•ā§‡āĻ¤ - āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ¸āĻ‚āĻ•ā§‡āĻ¤, āĻ†āĻ¸āĻ˛ā§‡, PWM āĻŽā§‹āĻĄā§‡ āĻ¸āĻ‚āĻļā§āĻ˛āĻŋāĻˇā§āĻŸ āĻĒāĻŋāĻ¨ā§‡ āĻ•ā§€ āĻĻā§‡āĻ–āĻž āĻ¯āĻžāĻ¯āĻŧāĨ¤

āĻĒāĻŋāĻ¨āĻ†āĻ‰āĻŸ āĻĨā§‡āĻ•ā§‡ āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡āĻ‡ āĻ¸ā§āĻĒāĻˇā§āĻŸ, āĻĻā§āĻŸāĻŋ āĻŸāĻžāĻ‡āĻŽāĻžāĻ°ā§‡āĻ° PWM āĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ - āĻĒā§āĻ°āĻĨāĻŽ āĻāĻŦāĻ‚ āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧāĨ¤ āĻ‰āĻ­āĻ¯āĻŧāĻ‡ 16-āĻŦāĻŋāĻŸ, āĻĒā§āĻ°āĻĨāĻŽāĻŸāĻŋāĻ¤ā§‡ āĻ…āĻ¨ā§‡āĻ•āĻ—ā§āĻ˛āĻŋ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ (āĻŦāĻŋāĻļā§‡āĻˇāĻ¤, āĻāĻŸāĻŋ āĻ‰āĻĒāĻ°ā§‡ āĻāĻŦāĻ‚ āĻ¨ā§€āĻšā§‡ āĻ‰āĻ­āĻ¯āĻŧāĻ‡ āĻ—āĻŖāĻ¨āĻž āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡)āĨ¤ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ‰āĻ­āĻ¯āĻŧāĻ•ā§‡āĻ‡ āĻāĻ•āĻ‡āĻ­āĻžāĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡, āĻ¤āĻžāĻ‡ āĻ†āĻŽāĻŋ āĻ¸ā§āĻĒāĻˇā§āĻŸāĻ¤āĻ‡ āĻĻāĻ°āĻŋāĻĻā§āĻ° āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧāĻŸāĻŋ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻļā§āĻ°ā§ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤ āĻ¨āĻŋāĻ¯āĻŧā§‡āĻ›āĻŋ, āĻ¯āĻžāĻ¤ā§‡ āĻĻā§āĻ°ā§āĻ˜āĻŸāĻ¨āĻžāĻ•ā§āĻ°āĻŽā§‡ āĻāĻŽāĻ¨ āĻ•āĻŋāĻ›ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ¨āĻž āĻ•āĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ āĻ¯āĻž āĻāĻ¤ā§‡ āĻ¨ā§‡āĻ‡āĨ¤ āĻ•āĻŋāĻ›ā§ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻšāĻ˛ āĻ¯ā§‡ āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛āĻŸāĻŋāĻ¤ā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŸāĻžāĻ‡āĻŽāĻžāĻ°ā§‡āĻ° PWM āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻžāĻ°āĻŋāĻ¤āĻžāĻ° āĻŦāĻŋāĻŦāĻ°āĻŖ āĻĒā§āĻ°āĻĨāĻŽ āĻŸāĻžāĻ‡āĻŽāĻžāĻ° (17.5.7 PWM āĻŽā§‹āĻĄ) āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ…āĻ§ā§āĻ¯āĻžāĻ¯āĻŧā§‡ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¤āĻžāĻ‡ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ¸āĻŦ āĻ¸āĻŽāĻ¯āĻŧ āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ¸āĻžāĻŽāĻ¨ā§‡ āĻĒāĻŋāĻ›āĻ¨ā§‡ āĻ¯ā§‡āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤

STM8-āĻ PWM-āĻāĻ° Atmega PWM-āĻāĻ° āĻĨā§‡āĻ•ā§‡ āĻ—ā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡:

āĻĄā§‡āĻŸāĻžāĻļāĻŋāĻŸ 2 āĻĒāĻĄāĻŧā§āĻ¨: STM32-āĻ SPI; STM8-āĻ PWM, āĻŸāĻžāĻ‡āĻŽāĻžāĻ° āĻāĻŦāĻ‚ āĻŦāĻžāĻ§āĻž
āĻĒā§āĻ°āĻžāĻ¨ā§āĻ¤ āĻĒā§āĻ°āĻžāĻ¨ā§āĻ¤āĻŋāĻ•āĻ•āĻ°āĻŖ āĻ¸āĻ™ā§āĻ—ā§‡ PWM
āĻ¨āĻŋāĻš āĻĨā§‡āĻ•ā§‡ āĻ‰āĻĒāĻ°ā§‡ āĻ…ā§āĻ¯āĻžāĻ•āĻžāĻ‰āĻ¨ā§āĻŸ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨
TIM_CR1 āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ°ā§‡ DIR āĻŦāĻŋāĻŸ āĻĒāĻ°āĻŋāĻˇā§āĻ•āĻžāĻ° āĻĨāĻžāĻ•āĻ˛ā§‡ āĻ†āĻĒ āĻ•āĻžāĻ‰āĻ¨ā§āĻŸāĻŋāĻ‚ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻĨāĻžāĻ•ā§‡
āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ
āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻĒā§āĻ°āĻĨāĻŽ PWM āĻŽā§‹āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĨ¤ PWM āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ āĻ¸āĻŋāĻ—āĻ¨ā§āĻ¯āĻžāĻ˛ OCiREF āĻ¯āĻ¤āĻ•ā§āĻˇāĻŖ TIM1_CNT < TIM1_CCRi āĻ¤āĻ¤āĻ•ā§āĻˇāĻŖ āĻ§āĻ°ā§‡ āĻ°āĻžāĻ–āĻž āĻšāĻ¯āĻŧāĨ¤ āĻ…āĻ¨ā§āĻ¯āĻĨāĻžāĻ¯āĻŧ, āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻŽā§āĻ¨ āĻ¸ā§āĻ¤āĻ°ā§‡āĻ° āĻ˛āĻžāĻ—ā§‡āĨ¤ āĻ¯āĻĻāĻŋ TIM1_CCRi āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ°ā§‡ āĻ¤ā§āĻ˛āĻ¨āĻž āĻ•āĻ°āĻžāĻ° āĻŽāĻžāĻ¨āĻŸāĻŋ āĻ…āĻŸā§‹āĻ˛ā§‹āĻĄ āĻŽāĻžāĻ¨ā§‡āĻ° (TIM1_ARR āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ°) āĻĨā§‡āĻ•ā§‡ āĻŦā§‡āĻļāĻŋ āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻšāĻ˛ā§‡ OCiREF āĻ¸āĻ‚āĻ•ā§‡āĻ¤āĻŸāĻŋ 1 āĻ āĻ°āĻžāĻ–āĻž āĻšāĻ¯āĻŧāĨ¤ āĻ¤ā§āĻ˛āĻ¨āĻž āĻŽāĻžāĻ¨ 0 āĻšāĻ˛ā§‡, OCiREF āĻļā§‚āĻ¨ā§āĻ¯ āĻ°āĻžāĻ–āĻž āĻšāĻ¯āĻŧāĨ¤...

āĻ¸āĻŽāĻ¯āĻŧ STM8 āĻŸāĻžāĻ‡āĻŽāĻžāĻ° āĻ†āĻĒāĻĄā§‡āĻŸ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸ āĻĒā§āĻ°āĻĨāĻŽā§‡ āĻšā§‡āĻ• āĻ•āĻ°ā§‡ āĻŽāĻžāĻ¨ āĻ¤ā§āĻ˛āĻ¨āĻž āĻ•āĻ°ā§āĻ¨, āĻāĻŦāĻ‚ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¤āĻžāĻ°āĻĒāĻ° āĻāĻ•āĻŸāĻŋ āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ āĻ¸āĻ‚āĻ•ā§‡āĻ¤ āĻ‰āĻ¤ā§āĻĒāĻžāĻĻāĻ¨ āĻ•āĻ°ā§‡. Atmega, āĻŸāĻžāĻ‡āĻŽāĻžāĻ° āĻĒā§āĻ°āĻĨāĻŽ shivers, āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻĒāĻ° āĻ¤ā§āĻ˛āĻ¨āĻž, āĻ¯āĻžāĻ° āĻĢāĻ˛ā§‡, āĻ¯āĻ–āĻ¨ compare value == 0 āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻšāĻ˛ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻ‡ āĻ¯ā§‡āĻŸāĻŋāĻ•ā§‡ āĻ•ā§‹āĻ¨ā§‹ āĻ¨āĻž āĻ•ā§‹āĻ¨ā§‹āĻ­āĻžāĻŦā§‡ āĻŽā§‹āĻ•āĻžāĻŦāĻŋāĻ˛āĻž āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ (āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽā§‡āĻŸāĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻ¯ā§āĻ•ā§āĻ¤āĻŋāĻ•ā§‡ āĻ‰āĻ˛ā§āĻŸā§‡ āĻĻāĻŋāĻ¯āĻŧā§‡)āĨ¤

āĻ¤āĻžāĻ‡ āĻ†āĻŽāĻ°āĻž āĻ•āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ‡: 8-āĻŦāĻŋāĻŸ PWM (AR == 255), āĻ¨āĻŋāĻš āĻĨā§‡āĻ•ā§‡ āĻ‰āĻĒāĻ°ā§‡ āĻ—āĻŖāĻ¨āĻž, āĻ¸ā§€āĻŽāĻžāĻ¨āĻž āĻŦāĻ°āĻžāĻŦāĻ° āĻĒā§āĻ°āĻžāĻ¨ā§āĻ¤āĻŋāĻ•āĻ•āĻ°āĻŖāĨ¤ āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻŦāĻžāĻ˛ā§āĻŦāĻ—ā§āĻ˛āĻŋ āĻ•ā§āĻ¯āĻžāĻĨā§‹āĻĄ āĻĻā§āĻŦāĻžāĻ°āĻž āĻšāĻŋāĻĒā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻĨāĻžāĻ•ā§‡, āĻ¤āĻžāĻ‡ PWM 0 āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤ (LED āĻ…āĻ¨) āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻŽāĻžāĻ¨ āĻ¤ā§āĻ˛āĻ¨āĻž āĻ•āĻ°ā§āĻ¨ āĻāĻŦāĻ‚ 1 āĻĒāĻ°ā§‡āĨ¤

āĻ†āĻŽāĻ°āĻž āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡ āĻ•āĻŋāĻ›ā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻĒāĻĄāĻŧā§‡āĻ›āĻŋ PWM āĻŽā§‹āĻĄ, āĻ¤āĻžāĻ‡ āĻ†āĻŽāĻ°āĻž āĻāĻ‡ āĻļāĻŦā§āĻĻāĻ—ā§āĻšā§āĻ›ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛ āĻ…āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻ•āĻ°ā§‡ āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧ āĻŸāĻžāĻ‡āĻŽāĻžāĻ°ā§‡āĻ° āĻĒāĻ›āĻ¨ā§āĻĻāĻ¸āĻ‡ āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ° āĻ–ā§āĻāĻœā§‡ āĻĒāĻžāĻ‡ (18.6.8 - TIMx_CCMR1):

āĻĄā§‡āĻŸāĻžāĻļāĻŋāĻŸ 2 āĻĒāĻĄāĻŧā§āĻ¨: STM32-āĻ SPI; STM8-āĻ PWM, āĻŸāĻžāĻ‡āĻŽāĻžāĻ° āĻāĻŦāĻ‚ āĻŦāĻžāĻ§āĻž
110: āĻĒā§āĻ°āĻĨāĻŽ PWM āĻŽā§‹āĻĄ - āĻ¯āĻ–āĻ¨ āĻ¨āĻŋāĻš āĻĨā§‡āĻ•ā§‡ āĻ‰āĻĒāĻ°ā§‡ āĻ—āĻŖāĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻĒā§āĻ°āĻĨāĻŽ āĻšā§āĻ¯āĻžāĻ¨ā§‡āĻ˛āĻŸāĻŋ TIMx_CNT < TIMx_CCR1 āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻĨāĻžāĻ•ā§‡āĨ¤ āĻ…āĻ¨ā§āĻ¯āĻĨāĻžāĻ¯āĻŧ, āĻĒā§āĻ°āĻĨāĻŽ āĻšā§āĻ¯āĻžāĻ¨ā§‡āĻ˛āĻŸāĻŋ āĻ¨āĻŋāĻˇā§āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĨ¤ [āĻ†āĻ°āĻ“ āĻ¨āĻĨāĻŋāĻ¤ā§‡, āĻŸāĻžāĻ‡āĻŽāĻžāĻ° 1 āĻĨā§‡āĻ•ā§‡ āĻ­ā§āĻ˛ āĻ•āĻĒāĻŋ-āĻĒā§‡āĻ¸ā§āĻŸ] 111: āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧ PWM āĻŽā§‹āĻĄ - āĻ¯āĻ–āĻ¨ āĻ¨ā§€āĻšā§‡ āĻĨā§‡āĻ•ā§‡ āĻ‰āĻĒāĻ°ā§‡ āĻ—āĻŖāĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻĒā§āĻ°āĻĨāĻŽ āĻšā§āĻ¯āĻžāĻ¨ā§‡āĻ˛āĻŸāĻŋ TIMx_CNT < TIMx_CCR1 āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻ¨āĻŋāĻˇā§āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻĨāĻžāĻ•ā§‡āĨ¤ āĻ…āĻ¨ā§āĻ¯āĻĨāĻžāĻ¯āĻŧ, āĻĒā§āĻ°āĻĨāĻŽ āĻšā§āĻ¯āĻžāĻ¨ā§‡āĻ˛ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĨ¤

āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻāĻ˛āĻ‡āĻĄāĻŋāĻ—ā§āĻ˛āĻŋ āĻāĻŽāĻ•ā§‡-āĻ¤ā§‡ āĻ•ā§āĻ¯āĻžāĻĨā§‹āĻĄāĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤, āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧ āĻŽā§‹āĻĄāĻŸāĻŋ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ‰āĻĒāĻ¯ā§āĻ•ā§āĻ¤ (āĻĒā§āĻ°āĻĨāĻŽāĻŸāĻŋāĻ“, āĻ¤āĻŦā§‡ āĻ†āĻŽāĻ°āĻž āĻāĻ–āĻ¨āĻ“ āĻāĻŸāĻŋ āĻœāĻžāĻ¨āĻŋ āĻ¨āĻž)āĨ¤

āĻĄā§‡āĻŸāĻžāĻļāĻŋāĻŸ 2 āĻĒāĻĄāĻŧā§āĻ¨: STM32-āĻ SPI; STM8-āĻ PWM, āĻŸāĻžāĻ‡āĻŽāĻžāĻ° āĻāĻŦāĻ‚ āĻŦāĻžāĻ§āĻž
āĻŦāĻŋāĻŸ 3 OC1PE: āĻĒā§āĻ°āĻŋāĻ˛ā§‹āĻĄāĻŋāĻ‚ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ 1 āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°ā§āĻ¨
0: TIMx_CCR1-āĻ āĻĒā§āĻ°āĻŋāĻ˛ā§‹āĻĄ āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ° āĻ¨āĻŋāĻˇā§āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻ¯ā§‡āĻ•ā§‹āĻ¨ā§‹ āĻ¸āĻŽāĻ¯āĻŧ TIMx_CCR1 āĻ āĻ˛āĻŋāĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤ āĻ¨āĻ¤ā§āĻ¨ āĻŽāĻžāĻ¨ āĻ…āĻŦāĻŋāĻ˛āĻŽā§āĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡āĨ¤
1: TIMx_CCR1 āĻ āĻĒā§āĻ°āĻŋāĻ˛ā§‹āĻĄ āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ° āĻ¸āĻ•ā§āĻˇāĻŽāĨ¤ āĻ°āĻŋāĻĄ/āĻ°āĻžāĻ‡āĻŸ āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ āĻĒā§āĻ°āĻŋāĻ˛ā§‹āĻĄ āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ° āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°ā§āĻ¨āĨ¤ TIMx_CCR1 āĻāĻ° āĻĒā§āĻ°āĻŋāĻ˛ā§‹āĻĄ āĻ•āĻ°āĻž āĻŽāĻžāĻ¨ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ†āĻĒāĻĄā§‡āĻŸ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ›āĻžāĻ¯āĻŧāĻž āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ°ā§‡ āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤
*āĻĻā§āĻ°āĻˇā§āĻŸāĻŦā§āĻ¯: āĻĒāĻŋāĻĄāĻŦā§āĻ˛āĻŋāĻ‰āĻāĻŽ āĻŽā§‹āĻĄ āĻ¸āĻ āĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻŋāĻ˛ā§‹āĻĄ āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ° āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻž āĻ†āĻŦāĻļā§āĻ¯āĻ•āĨ¤ āĻāĻŸāĻŋ āĻāĻ•āĻ• āĻ¸āĻ‚āĻ•ā§‡āĻ¤ āĻŽā§‹āĻĄā§‡ āĻāĻšā§āĻ›āĻŋāĻ• (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 āĻĒāĻĄāĻŧā§āĻ¨: STM32-āĻ SPI; STM8-āĻ PWM, āĻŸāĻžāĻ‡āĻŽāĻžāĻ° āĻāĻŦāĻ‚ āĻŦāĻžāĻ§āĻž

#define TIM2_CR1   *(volatile uint8_t *)0x005300

TIM2_CR1 |= 1;

āĻ†āĻ¸ā§āĻ¨ AnalogWrite () āĻāĻ° āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ…ā§āĻ¯āĻžāĻ¨āĻžāĻ˛āĻ— āĻ˛āĻŋāĻ–āĻŋ, āĻ¯āĻž āĻ¤ā§āĻ˛āĻ¨āĻž āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻŸāĻžāĻ‡āĻŽāĻžāĻ°ā§‡ āĻĒā§āĻ°āĻ•ā§ƒāĻ¤ āĻŽāĻžāĻ¨āĻ—ā§āĻ˛āĻŋ āĻĒāĻžāĻ¸ āĻ•āĻ°āĻŦā§‡āĨ¤ āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ°āĻ—ā§āĻ˛āĻŋ āĻ…āĻ¨ā§āĻŽāĻžāĻ¨āĻ¯ā§‹āĻ—ā§āĻ¯āĻ­āĻžāĻŦā§‡ āĻ¨āĻžāĻŽ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ° āĻ•ā§āĻ¯āĻžāĻĒāĻšāĻžāĻ°/āĻ¤ā§āĻ˛āĻ¨āĻž āĻ•āĻ°ā§āĻ¨, āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻšā§āĻ¯āĻžāĻ¨ā§‡āĻ˛ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¤āĻžāĻĻā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻĻā§āĻŸāĻŋ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡: TIM8_CCRxL-āĻ āĻ•āĻŽ 2 āĻŦāĻŋāĻŸ āĻāĻŦāĻ‚ 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 āĻŽāĻžāĻ¨, āĻ¸āĻŋāĻ—āĻ¨ā§āĻ¯āĻžāĻ˛āĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻŸāĻžāĻ‡āĻŽāĻžāĻ° āĻšāĻ•ā§āĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻ‰āĻ˛ā§āĻŸāĻžāĻ¨ā§‹ āĻšāĻ¯āĻŧ)āĨ¤ āĻāĻ˛āĻ‡āĻĄāĻŋāĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯, āĻāĻŸāĻŋ āĻ•ā§‹āĻ¨āĻ“ āĻ­ā§‚āĻŽāĻŋāĻ•āĻž āĻĒāĻžāĻ˛āĻ¨ āĻ•āĻ°ā§‡ āĻ¨āĻž āĻāĻŦāĻ‚ āĻŽāĻ¨ā§‹āĻ¯ā§‹āĻ—ā§€ āĻĒāĻžāĻ āĻ• āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻŸāĻŋ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻ āĻŋāĻ• āĻ•āĻ°āĻŦā§‡āĻ¨ āĻ¤āĻž āĻ…āĻ¨ā§āĻŽāĻžāĻ¨ āĻ•āĻ°ā§‡āĨ¤

āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧ āĻŸāĻžāĻ‡āĻŽāĻžāĻ°ā§‡ PWM āĻ•āĻžāĻœ āĻ•āĻ°ā§‡, āĻĒā§āĻ°āĻĨāĻŽāĻŸāĻŋāĻ¤ā§‡ āĻ¯āĻžāĻ¨āĨ¤

āĻĒā§āĻ°āĻĨāĻŽ āĻŸāĻžāĻ‡āĻŽāĻžāĻ°ā§‡āĻ° āĻāĻ•āĻ‡ āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ°ā§‡ āĻ āĻŋāĻ• āĻāĻ•āĻ‡ āĻŦāĻŋāĻŸ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ (āĻāĻŸāĻŋ āĻ•ā§‡āĻŦāĻ˛āĻŽāĻžāĻ¤ā§āĻ° āĻ¸ā§‡āĻ‡ āĻŦāĻŋāĻŸāĻ—ā§āĻ˛āĻŋ āĻ¯ā§‡āĻ—ā§āĻ˛āĻŋ āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧ āĻŸāĻžāĻ‡āĻŽāĻžāĻ°ā§‡ "āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŋāĻ¤" āĻ°āĻ¯āĻŧā§‡ āĻ—ā§‡āĻ›ā§‡ āĻĒā§āĻ°āĻĨāĻŽāĻŸāĻŋāĻ¤ā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ§āĻ°āĻŖā§‡āĻ° āĻ‰āĻ¨ā§āĻ¨āĻ¤ āĻœāĻŋāĻ¨āĻŋāĻ¸ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻ¯āĻŧ)āĨ¤ āĻ…āĻ¤āĻāĻŦ, āĻĄā§‡āĻŸāĻžāĻļā§€āĻŸā§‡ āĻāĻ•āĻ‡ āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ°ā§‡āĻ° āĻ āĻŋāĻ•āĻžāĻ¨āĻžāĻ—ā§āĻ˛āĻŋ āĻ–ā§āĻāĻœā§‡ āĻŦā§‡āĻ° āĻ•āĻ°āĻž āĻāĻŦāĻ‚ āĻ•ā§‹āĻĄāĻŸāĻŋ āĻ…āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻ•āĻ°āĻž āĻ¯āĻĨā§‡āĻˇā§āĻŸāĨ¤ āĻ†āĻšā§āĻ›āĻž, āĻĢā§āĻ°āĻŋāĻ•ā§‹āĻ¯āĻŧā§‡āĻ¨ā§āĻ¸āĻŋ āĻŦāĻŋāĻ­āĻžāĻœāĻ•ā§‡āĻ° āĻŽāĻžāĻ¨ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°ā§āĻ¨, āĻ•āĻžāĻ°āĻŖāĨ¤ āĻĒā§āĻ°āĻĨāĻŽ āĻŸāĻžāĻ‡āĻŽāĻžāĻ° āĻĻā§āĻŸāĻŋ āĻĒāĻžāĻ“āĻ¯āĻŧāĻžāĻ° āĻ¨āĻ¯āĻŧ, āĻĻā§āĻŸāĻŋ āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸āĻ āĻŋāĻ• 16-āĻŦāĻŋāĻŸ āĻŽāĻžāĻ¨ āĻĒā§‡āĻ¤ā§‡ āĻšāĻžāĻ¯āĻŧ Prescaler āĻ‰āĻšā§āĻš и āĻ•āĻŽ. āĻ†āĻŽāĻ°āĻž āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻ•āĻ°āĻŋ āĻāĻŦāĻ‚ ... āĻĒā§āĻ°āĻĨāĻŽ āĻŸāĻžāĻ‡āĻŽāĻžāĻ° āĻ•āĻžāĻœ āĻ•āĻ°ā§‡ āĻ¨āĻžāĨ¤ āĻ•āĻŋ āĻŦā§āĻ¯āĻžāĻĒāĻžāĻ°?

āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ā§‡āĻ° āĻāĻ•āĻŽāĻžāĻ¤ā§āĻ° āĻ‰āĻĒāĻžāĻ¯āĻŧ āĻšāĻ˛ āĻŸāĻžāĻ‡āĻŽāĻžāĻ° 1 āĻāĻ° āĻ•āĻ¨ā§āĻŸā§āĻ°ā§‹āĻ˛ āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ° āĻ¸āĻŽā§āĻŦāĻ¨ā§āĻ§ā§‡ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ…āĻ‚āĻļāĻŸāĻŋ āĻĻā§‡āĻ–āĻž, āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ†āĻŽāĻ°āĻž āĻāĻŽāĻ¨ āĻāĻ•āĻŸāĻŋ āĻ–ā§āĻāĻœāĻ›āĻŋ āĻ¯āĻž āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧ āĻŸāĻžāĻ‡āĻŽāĻžāĻ°ā§‡ āĻ¨ā§‡āĻ‡āĨ¤ āĻ¸ā§‡āĻ–āĻžāĻ¨ā§‡ āĻšāĻŦā§‡ 17.7.30 āĻŦā§āĻ°ā§‡āĻ• āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ° (TIM1_BKR), āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻāĻ‡ āĻŽāĻ¤ āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻŸ āĻ†āĻ›ā§‡:

āĻĄā§‡āĻŸāĻžāĻļāĻŋāĻŸ 2 āĻĒāĻĄāĻŧā§āĻ¨: STM32-āĻ SPI; STM8-āĻ PWM, āĻŸāĻžāĻ‡āĻŽāĻžāĻ° āĻāĻŦāĻ‚ āĻŦāĻžāĻ§āĻž
āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°ā§āĻ¨

#define TIM1_BKR   *(volatile uint8_t *)0x00526D

TIM1_BKR = (1<<7);

āĻ¯ā§‡ āĻāĻ–āĻ¨ āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŦ, āĻ•ā§‹āĻĄ āĻ¸ā§‡āĻ–āĻžāĻ¨ā§‡.

āĻĄā§‡āĻŸāĻžāĻļāĻŋāĻŸ 2 āĻĒāĻĄāĻŧā§āĻ¨: STM32-āĻ SPI; STM8-āĻ PWM, āĻŸāĻžāĻ‡āĻŽāĻžāĻ° āĻāĻŦāĻ‚ āĻŦāĻžāĻ§āĻž

STM8 āĻŽāĻžāĻ˛ā§āĻŸāĻŋāĻĒā§āĻ˛ā§‡āĻ•ā§āĻ¸

STM8 āĻ āĻŽāĻžāĻ˛ā§āĻŸāĻŋāĻĒā§āĻ˛ā§‡āĻ•ā§āĻ¸āĻŋāĻ‚

āĻ¤ā§ƒāĻ¤ā§€āĻ¯āĻŧ āĻŽāĻŋāĻ¨āĻŋ-āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒāĻŸāĻŋ āĻšāĻ˛ PWM āĻŽā§‹āĻĄā§‡ āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧ āĻŸāĻžāĻ‡āĻŽāĻžāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ†āĻŸāĻŸāĻŋ āĻ†āĻ°āĻœāĻŋāĻŦāĻŋ āĻāĻ˛āĻ‡āĻĄāĻŋ āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻāĻŦāĻ‚ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ°āĻ™ āĻĻā§‡āĻ–āĻžāĻ¨ā§‹āĨ¤ āĻāĻŸāĻŋ āĻāĻ˛āĻ‡āĻĄāĻŋ āĻŽāĻžāĻ˛ā§āĻŸāĻŋāĻĒā§āĻ˛ā§‡āĻ•ā§āĻ¸āĻŋāĻ‚āĻ¯āĻŧā§‡āĻ° āĻ§āĻžāĻ°āĻŖāĻžāĻ° āĻ‰āĻĒāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¯āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻ–ā§āĻŦ āĻĻā§āĻ°ā§āĻ¤ āĻāĻ˛āĻ‡āĻĄāĻŋ āĻšāĻžāĻ˛ā§ āĻāĻŦāĻ‚ āĻŦāĻ¨ā§āĻ§ āĻ•āĻ°ā§‡āĻ¨ āĻ¤āĻŦā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•āĻžāĻ›ā§‡ āĻŽāĻ¨ā§‡ āĻšāĻŦā§‡ āĻ¯ā§‡ āĻ¤āĻžāĻ°āĻž āĻ•ā§āĻ°āĻŽāĻžāĻ—āĻ¤ āĻšāĻžāĻ˛ā§ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ (āĻĻā§ƒāĻˇā§āĻŸāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻŦāĻ¨ā§āĻ§āĻ•āĻ¤āĻž, āĻšāĻžāĻ•ā§āĻˇā§āĻˇ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§āĻŋāĻ° āĻœāĻĄāĻŧāĻ¤āĻž)āĨ¤ āĻ†āĻŽāĻŋ āĻāĻ•āĻŦāĻžāĻ° āĻ•āĻ°ā§‡āĻ›āĻŋāĻ˛āĻžāĻŽ āĻ†āĻ°āĻĄā§āĻ‡āĻ¨ā§‹āĻ¤ā§‡ āĻāĻ°āĻ•āĻŽ āĻ•āĻŋāĻ›ā§.

āĻ•āĻžāĻœā§‡āĻ° āĻ…ā§āĻ¯āĻžāĻ˛āĻ—āĻ°āĻŋāĻĻāĻŽ āĻāĻ‡ āĻŽāĻ¤ āĻĻā§‡āĻ–āĻžāĻ¯āĻŧ:

  • āĻĒā§āĻ°āĻĨāĻŽ āĻ†āĻ°āĻœāĻŋāĻŦāĻŋ āĻāĻ˛āĻ‡āĻĄāĻŋāĻ° āĻ…ā§āĻ¯āĻžāĻ¨ā§‹āĻĄ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡;
  • āĻ•ā§āĻ¯āĻžāĻĨā§‹āĻĄāĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻ¸āĻ‚āĻ•ā§‡āĻ¤ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡ āĻāĻŸāĻŋāĻ•ā§‡ āĻ†āĻ˛ā§‹āĻ•āĻŋāĻ¤ āĻ•āĻ°ā§āĻ¨;
  • PWM āĻšāĻ•ā§āĻ°ā§‡āĻ° āĻ¸āĻŽāĻžāĻĒā§āĻ¤āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ…āĻĒā§‡āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻ›āĻŋāĻ˛ā§‡āĻ¨;
  • āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧ āĻ†āĻ°āĻœāĻŋāĻŦāĻŋ āĻāĻ˛āĻ‡āĻĄāĻŋāĻ° āĻ…ā§āĻ¯āĻžāĻ¨ā§‹āĻĄ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡;
  • āĻāĻŸāĻž āĻœā§āĻŦāĻžāĻ˛āĻžāĻ“...

āĻ­āĻžāĻ˛, āĻ‡āĻ¤ā§āĻ¯āĻžāĻĻāĻŋ āĻ…āĻŦāĻļā§āĻ¯āĻ‡, āĻ¸ā§āĻ¨ā§āĻĻāĻ° āĻ•āĻžāĻœā§‡āĻ° āĻœāĻ¨ā§āĻ¯, āĻāĻŸāĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻ¯ā§‡ āĻ…ā§āĻ¯āĻžāĻ¨ā§‹āĻĄ āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻāĻŦāĻ‚ LED āĻāĻ° "āĻ‡āĻ—āĻ¨āĻŋāĻļāĻ¨" āĻāĻ•āĻ‡ āĻ¸āĻžāĻĨā§‡ āĻ˜āĻŸāĻŦā§‡āĨ¤ āĻ­āĻžāĻ˛ āĻĒā§āĻ°āĻžāĻ¯āĻŧ. āĻ¯āĻžāĻ‡ āĻšā§‹āĻ• āĻ¨āĻž āĻ•ā§‡āĻ¨, āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻāĻŽāĻ¨ āĻāĻ•āĻŸāĻŋ āĻ•ā§‹āĻĄ āĻ˛āĻŋāĻ–āĻ¤ā§‡ āĻšāĻŦā§‡ āĻ¯āĻž āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧ āĻŸāĻžāĻ‡āĻŽāĻžāĻ°ā§‡āĻ° āĻ¤āĻŋāĻ¨āĻŸāĻŋ āĻšā§āĻ¯āĻžāĻ¨ā§‡āĻ˛ā§‡ āĻŽāĻžāĻ¨ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ•āĻ°āĻŦā§‡, UEV āĻ āĻĒā§ŒāĻāĻ›āĻžāĻ˛ā§‡ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻŦā§‡ āĻāĻŦāĻ‚ āĻāĻ•āĻ‡ āĻ¸āĻŽāĻ¯āĻŧā§‡ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ā§‡ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ RGB LED āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻŦā§‡āĨ¤

āĻ¯ā§‡āĻšā§‡āĻ¤ā§ LED āĻ¸ā§āĻ¯ā§āĻ‡āĻšāĻŋāĻ‚ āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ, āĻ¤āĻžāĻ‡ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ "āĻ­āĻŋāĻĄāĻŋāĻ“ āĻŽā§‡āĻŽāĻ°āĻŋ" āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻ¯ā§‡āĻ–āĻžāĻ¨ āĻĨā§‡āĻ•ā§‡ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻžāĻĒā§āĻŸ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ° āĻĄā§‡āĻŸāĻž āĻ—ā§āĻ°āĻšāĻŖ āĻ•āĻ°āĻŦā§‡āĨ¤ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¸āĻšāĻœ āĻ…ā§āĻ¯āĻžāĻ°ā§‡:

uint8_t colors[8][3];

āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ LED āĻāĻ° āĻ°āĻ™ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻāĻ‡ āĻ…ā§āĻ¯āĻžāĻ°ā§‡āĻ¤ā§‡ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻŽāĻžāĻ¨āĻ—ā§āĻ˛āĻŋ āĻ˛āĻŋāĻ–āĻ¤ā§‡ āĻ¯āĻĨā§‡āĻˇā§āĻŸ āĻšāĻŦā§‡āĨ¤ āĻāĻŦāĻ‚ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§€āĻ˛ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ LED āĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĻāĻžāĻ¯āĻŧā§€ āĻšāĻŦā§‡

uint8_t cnt;

āĻĄā§‡āĻŽā§āĻ•ā§āĻ¸

āĻ¸āĻ āĻŋāĻ• āĻŽāĻžāĻ˛ā§āĻŸāĻŋāĻĒā§āĻ˛ā§‡āĻ•ā§āĻ¸āĻŋāĻ‚āĻ¯āĻŧā§‡āĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨, āĻ…āĻĻā§āĻ­ā§āĻ¤āĻ­āĻžāĻŦā§‡ āĻ¯āĻĨā§‡āĻˇā§āĻŸ, CD74HC238 demultiplexerāĨ¤ Demultiplexer - āĻāĻ•āĻŸāĻŋ āĻšāĻŋāĻĒ āĻ¯āĻž āĻšāĻžāĻ°ā§āĻĄāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ°ā§‡ āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ°āĻ•ā§‡ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°ā§‡ <<. āĻ¤āĻŋāĻ¨āĻŸāĻŋ āĻ‡āĻ¨āĻĒā§āĻŸ āĻĒāĻŋāĻ¨ā§‡āĻ° (āĻŦāĻŋāĻŸ 0, 1 āĻāĻŦāĻ‚ 2) āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ†āĻŽāĻ°āĻž āĻ¤āĻžāĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¤āĻŋāĻ¨-āĻŦāĻŋāĻŸ āĻ¨āĻŽā§āĻŦāĻ° X āĻ–āĻžāĻ“āĻ¯āĻŧāĻžāĻ‡ āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻ¤āĻŋāĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ¸ā§‡ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ¨āĻŽā§āĻŦāĻ°āĻŸāĻŋ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°ā§‡ (1<<X) āĻšāĻŋāĻĒā§‡āĻ° āĻ…āĻŦāĻļāĻŋāĻˇā§āĻŸ āĻ‡āĻ¨āĻĒā§āĻŸāĻ—ā§āĻ˛āĻŋ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ¨āĻ•āĻļāĻž āĻ¸ā§āĻ•ā§‡āĻ˛ āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻāĻ‡ āĻšāĻŋāĻĒāĻŸāĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻŽāĻžāĻ‡āĻ•ā§āĻ°ā§‹āĻ•āĻ¨ā§āĻŸā§āĻ°ā§‹āĻ˛āĻžāĻ°ā§‡āĻ° āĻĻāĻ–āĻ˛āĻ•ā§ƒāĻ¤ āĻĒāĻŋāĻ¨ā§‡āĻ° āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻ•āĻŽāĻžāĻ¤ā§‡āĻ‡ āĻ¨āĻ¯āĻŧ, āĻ¨āĻŋāĻ°āĻžāĻĒāĻ¤ā§āĻ¤āĻžāĻ° āĻœāĻ¨ā§āĻ¯āĻ“ āĻĻāĻ°āĻ•āĻžāĻ° - āĻ¯āĻžāĻ¤ā§‡ āĻĻā§āĻ°ā§āĻ˜āĻŸāĻ¨āĻžāĻ•ā§āĻ°āĻŽā§‡ āĻ¸āĻŽā§āĻ­āĻŦā§‡āĻ° āĻšā§‡āĻ¯āĻŧā§‡ āĻŦā§‡āĻļāĻŋ āĻāĻ˛āĻ‡āĻĄāĻŋ āĻšāĻžāĻ˛ā§ āĻ¨āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻāĻŽāĻ•ā§‡ āĻĒā§‹āĻĄāĻŧāĻž āĻ¨āĻž āĻšāĻ¯āĻŧāĨ¤ āĻšāĻŋāĻĒāĻŸāĻŋāĻ° āĻĻāĻžāĻŽ āĻāĻ• āĻĒāĻ¯āĻŧāĻ¸āĻž, āĻāĻŸāĻŋ āĻ¸āĻ°ā§āĻŦāĻĻāĻž āĻŦāĻžāĻĄāĻŧāĻŋāĻ¤ā§‡ āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ• āĻšāĻŋāĻ•āĻŋā§ŽāĻ¸āĻž āĻ•āĻŋāĻŸā§‡ āĻ°āĻžāĻ–āĻž āĻ‰āĻšāĻŋāĻ¤āĨ¤

CD74HC238 āĻĒāĻ›āĻ¨ā§āĻĻāĻ¸āĻ‡ LED āĻāĻ° āĻ…ā§āĻ¯āĻžāĻ¨ā§‹āĻĄā§‡ āĻ­ā§‹āĻ˛ā§āĻŸā§‡āĻœ āĻ¸āĻ°āĻŦāĻ°āĻžāĻšā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĻāĻžāĻ¯āĻŧā§€ āĻĨāĻžāĻ•āĻŦā§‡āĨ¤ āĻāĻ•āĻŸāĻŋ āĻĒā§‚āĻ°ā§āĻŖāĻžāĻ™ā§āĻ— āĻŽāĻžāĻ˛ā§āĻŸāĻŋāĻĒā§āĻ˛ā§‡āĻ•ā§āĻ¸ā§‡, āĻāĻŸāĻŋ P-MOSFET āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ•āĻ˛āĻžāĻŽā§‡ āĻ­ā§‹āĻ˛ā§āĻŸā§‡āĻœ āĻ¸āĻ°āĻŦāĻ°āĻžāĻš āĻ•āĻ°āĻŦā§‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻāĻ‡ āĻĄā§‡āĻŽā§‹āĻ¤ā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻāĻŸāĻŋ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨, āĻ•āĻžāĻ°āĻŖāĨ¤ āĻāĻŸāĻŋ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¯āĻŧā§€, 20mA āĻŸāĻžāĻ¨ā§‡ āĻĒāĻ°āĻŽ āĻ¸āĻ°ā§āĻŦā§‹āĻšā§āĻš āĻ°ā§‡āĻŸāĻŋāĻ‚ āĻĄā§‡āĻŸāĻžāĻļā§€āĻŸā§‡ āĻĨā§‡āĻ•ā§‡ āĻĄā§‡āĻŸāĻžāĻļāĻŋāĻŸ CD74HC238 āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻĒāĻŋāĻ¨āĻ†āĻ‰āĻŸ āĻāĻŦāĻ‚ āĻāĻ‡ āĻšāĻŋāĻŸ āĻļā§€āĻŸ āĻĻāĻ°āĻ•āĻžāĻ°:

āĻĄā§‡āĻŸāĻžāĻļāĻŋāĻŸ 2 āĻĒāĻĄāĻŧā§āĻ¨: STM32-āĻ SPI; STM8-āĻ PWM, āĻŸāĻžāĻ‡āĻŽāĻžāĻ° āĻāĻŦāĻ‚ āĻŦāĻžāĻ§āĻž
H = āĻ‰āĻšā§āĻš āĻ­ā§‹āĻ˛ā§āĻŸā§‡āĻœ āĻ¸ā§āĻ¤āĻ°, L = āĻ¨āĻŋāĻŽā§āĻ¨ āĻ­ā§‹āĻ˛ā§āĻŸā§‡āĻœ āĻ¸ā§āĻ¤āĻ°, X - āĻšāĻŋāĻ¨ā§āĻ¤āĻž āĻ•āĻ°āĻŦā§‡āĻ¨ āĻ¨āĻž

āĻ†āĻŽāĻ°āĻž E2 āĻāĻŦāĻ‚ E1 āĻ•ā§‡ āĻ—ā§āĻ°āĻžāĻ‰āĻ¨ā§āĻĄā§‡, E3, A0, A1 āĻāĻŦāĻ‚ A3 āĻĒāĻŋāĻ¨ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ PD5, PC3, PC4 āĻāĻŦāĻ‚ PC5 āĻāĻ° āĻ¸āĻžāĻĨā§‡ STM8 āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻ•āĻ°āĻŋāĨ¤ āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻ‰āĻĒāĻ°ā§‡āĻ° āĻŸā§‡āĻŦāĻŋāĻ˛ā§‡ āĻ¨āĻŋāĻŽā§āĻ¨ āĻāĻŦāĻ‚ āĻ‰āĻšā§āĻš āĻ‰āĻ­āĻ¯āĻŧ āĻ¸ā§āĻ¤āĻ° āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¤āĻžāĻ‡ āĻ†āĻŽāĻ°āĻž āĻāĻ‡ āĻĒāĻŋāĻ¨āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻĒā§āĻļ-āĻĒā§āĻ˛ āĻĒāĻŋāĻ¨ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ¸ā§‡āĻŸ āĻ†āĻĒ āĻ•āĻ°āĻŋāĨ¤

PWM

āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧ āĻŸāĻžāĻ‡āĻŽāĻžāĻ°ā§‡ PWM āĻ†āĻ—ā§‡āĻ° āĻ—āĻ˛ā§āĻĒā§‡āĻ° āĻŽāĻ¤ā§‹ āĻāĻ•āĻ‡āĻ­āĻžāĻŦā§‡ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻĻā§āĻŸāĻŋ āĻĒāĻžāĻ°ā§āĻĨāĻ•ā§āĻ¯ āĻ¸āĻš:

āĻĒā§āĻ°āĻĨāĻŽāĻ¤, āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĒā§āĻŸ āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸ āĻ†āĻĒāĻĄā§‡āĻŸ āĻ•āĻ°ā§āĻ¨ (UEV) āĻ¯āĻž āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ LED āĻŸāĻ—āĻ˛ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ•āĻ˛ āĻ•āĻ°āĻŦā§‡āĨ¤ āĻāĻŸāĻŋ āĻŦāĻŋāĻŸ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°ā§‡ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ†āĻĒāĻĄā§‡āĻŸ āĻŦāĻŋāĻ˜ā§āĻ¨ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°ā§āĻ¨ āĻāĻ•āĻŸāĻŋ āĻ•āĻĨāĻž āĻŦāĻ˛āĻžāĻ° āĻ¨āĻžāĻŽ āĻ¸āĻš āĻāĻ•āĻŸāĻŋ āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ°ā§‡

āĻĄā§‡āĻŸāĻžāĻļāĻŋāĻŸ 2 āĻĒāĻĄāĻŧā§āĻ¨: STM32-āĻ SPI; STM8-āĻ PWM, āĻŸāĻžāĻ‡āĻŽāĻžāĻ° āĻāĻŦāĻ‚ āĻŦāĻžāĻ§āĻž
āĻŦāĻžāĻ§āĻž āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻ¨

#define TIM2_IER   *(volatile uint8_t *)0x005303

//enable interrupt
TIM2_IER = 1;

āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧ āĻĒāĻžāĻ°ā§āĻĨāĻ•ā§āĻ¯ āĻŽāĻžāĻ˛ā§āĻŸāĻŋāĻĒā§āĻ˛ā§‡āĻ•ā§āĻ¸āĻŋāĻ‚ āĻ¯ā§‡āĻŽāĻ¨ āĻāĻ•āĻŸāĻŋ āĻ˜āĻŸāĻ¨āĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ ghosting - āĻĄāĻžāĻ¯āĻŧā§‹āĻĄā§‡āĻ° āĻĒāĻ°āĻœā§€āĻŦā§€ āĻ†āĻ­āĻžāĨ¤ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻāĻŸāĻŋ āĻāĻ‡ āĻ•āĻžāĻ°āĻŖā§‡ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻŋāĻ¤ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¯ā§‡ āĻŸāĻžāĻ‡āĻŽāĻžāĻ°, UEV-āĻ¤ā§‡ āĻŦāĻžāĻ§āĻž āĻ¸ā§ƒāĻˇā§āĻŸāĻŋ āĻ•āĻ°ā§‡, āĻŸāĻŋāĻ• āĻŸāĻŋāĻ• āĻ•āĻ°āĻ¤ā§‡ āĻĨāĻžāĻ•ā§‡ āĻāĻŦāĻ‚ āĻŸāĻžāĻ‡āĻŽāĻžāĻ° āĻ†āĻ‰āĻŸāĻĒā§āĻŸāĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻ•āĻŋāĻ›ā§ āĻ˛āĻŋāĻ–āĻ¤ā§‡ āĻļā§āĻ°ā§ āĻ•āĻ°āĻžāĻ° āĻ†āĻ—ā§‡ āĻŦāĻŋāĻ˜ā§āĻ¨āĻŋāĻ¤ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ°ā§‡āĻ° LED āĻ¸ā§āĻ¯ā§āĻ‡āĻš āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ¨ā§‡āĻ‡āĨ¤ āĻāĻŸāĻŋ āĻŽā§‹āĻ•āĻžāĻŦā§‡āĻ˛āĻž āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ¯ā§āĻ•ā§āĻ¤āĻŋ āĻ‰āĻ˛ā§āĻŸāĻžāĻ¤ā§‡ āĻšāĻŦā§‡ (0 = āĻ¸āĻ°ā§āĻŦāĻžāĻ§āĻŋāĻ• āĻ‰āĻœā§āĻœā§āĻŦāĻ˛āĻ¤āĻž, 255 = āĻ•āĻŋāĻ›ā§āĻ‡ āĻšāĻžāĻ˛ā§ āĻ¨ā§‡āĻ‡) āĻāĻŦāĻ‚ āĻšāĻ°āĻŽ āĻļā§āĻ˛ā§āĻ• āĻšāĻ•ā§āĻ°ā§‡āĻ° āĻŽāĻžāĻ¨āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻŦā§‡āĻ¨ āĻ¨āĻžāĨ¤ āĻ¸ā§‡āĻ—ā§āĻ˛ā§‹. āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°ā§āĻ¨ āĻ¯ā§‡ UEV āĻĒāĻ°ā§‡ āĻāĻ•āĻŸāĻŋ PWM āĻšāĻ•ā§āĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ LED āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖāĻ°ā§‚āĻĒā§‡ āĻ¨āĻŋāĻ­ā§‡ āĻ—ā§‡āĻ›ā§‡āĨ¤

āĻĒā§‹āĻ˛āĻžāĻ°āĻŋāĻŸāĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°ā§āĻ¨:

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

r, g āĻāĻŦāĻ‚ b 255 āĻ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž āĻāĻĄāĻŧāĻŋāĻ¯āĻŧā§‡ āĻšāĻ˛ā§āĻ¨ āĻāĻŦāĻ‚ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ¤āĻžāĻĻā§‡āĻ° āĻ‰āĻ˛ā§āĻŸāĻžāĻ¤ā§‡ āĻ­ā§āĻ˛āĻŦā§‡āĻ¨ āĻ¨āĻžāĨ¤

āĻŦāĻžāĻ§āĻž āĻĻā§‡āĻ¯āĻŧ

āĻŦāĻŋāĻ˜ā§āĻ¨ā§‡āĻ° āĻ¸āĻžāĻ°āĻŽāĻ°ā§āĻŽ āĻšāĻ˛ āĻ¯ā§‡, āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻ¤ā§‡, āĻšāĻŋāĻĒ āĻŽā§‚āĻ˛ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻŸāĻŋ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻŦāĻ¨ā§āĻ§ āĻ•āĻ°ā§‡ āĻĻā§‡āĻ¯āĻŧ āĻāĻŦāĻ‚ āĻ•āĻŋāĻ›ā§ āĻŦāĻžāĻšā§āĻ¯āĻŋāĻ• āĻĢāĻžāĻ‚āĻļāĻ¨āĻ•ā§‡ āĻ•āĻ˛ āĻ•āĻ°ā§‡āĨ¤ āĻŸāĻžāĻ‡āĻŽāĻžāĻ° āĻ¸āĻš āĻŦāĻžāĻšā§āĻ¯āĻŋāĻ• āĻŦāĻž āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻĒā§āĻ°āĻ­āĻžāĻŦā§‡āĻ° āĻ•āĻžāĻ°āĻŖā§‡ āĻŦāĻŋāĻ˜ā§āĻ¨ āĻ˜āĻŸā§‡āĨ¤

āĻ†āĻŽāĻ°āĻž āĻ¯āĻ–āĻ¨ āĻĒā§āĻ°āĻĨāĻŽ ST āĻ­āĻŋāĻœā§āĻ¯ā§āĻ¯āĻŧāĻžāĻ˛ āĻĄā§‡āĻ­ā§‡āĻ˛āĻĒ-āĻ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻœā§‡āĻ•ā§āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŋ, āĻŦāĻžāĻĻā§‡ main.c āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻ°āĻšāĻ¸ā§āĻ¯āĻŽāĻ¯āĻŧ āĻĢāĻžāĻ‡āĻ˛ āĻ¸āĻš āĻāĻ•āĻŸāĻŋ āĻ‰āĻ‡āĻ¨ā§āĻĄā§‹ āĻĒā§‡āĻ¯āĻŧā§‡āĻ›āĻŋ stm8_interrupt_vector.cāĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒā§‡ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤āĨ¤ āĻāĻ‡ āĻĢāĻžāĻ‡āĻ˛ā§‡, āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻŦāĻžāĻ§āĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ•āĻŸāĻŋ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ NonHandledInterrupt. āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•āĻžāĻ™ā§āĻ–āĻŋāĻ¤ āĻŦāĻžāĻ§āĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ†āĻŦāĻĻā§āĻ§ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤

āĻĄā§‡āĻŸāĻžāĻļā§€āĻŸā§‡ āĻŦāĻžāĻ§āĻž āĻ­ā§‡āĻ•ā§āĻŸāĻ°ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻ°āĻŖā§€ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ†āĻŽāĻ°āĻž āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧāĻ—ā§āĻ˛āĻŋ āĻ–ā§āĻāĻœā§‡ āĻĒāĻžāĻ‡:

āĻĄā§‡āĻŸāĻžāĻļāĻŋāĻŸ 2 āĻĒāĻĄāĻŧā§āĻ¨: STM32-āĻ SPI; STM8-āĻ PWM, āĻŸāĻžāĻ‡āĻŽāĻžāĻ° āĻāĻŦāĻ‚ āĻŦāĻžāĻ§āĻž
13 TIM2 āĻ†āĻĒāĻĄā§‡āĻŸ/āĻ“āĻ­āĻžāĻ°āĻĢā§āĻ˛ā§‹
14 TIM2 āĻ•ā§āĻ¯āĻžāĻĒāĻšāĻžāĻ°/āĻ¤ā§āĻ˛āĻ¨āĻž

āĻ†āĻŽāĻžāĻĻā§‡āĻ° UEV āĻ LED āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡, āĻ¤āĻžāĻ‡ interrupt #13 āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨āĨ¤

āĻ¤āĻĻāĻ¨ā§āĻ¸āĻžāĻ°ā§‡, āĻĒā§āĻ°āĻĨāĻŽāĻ¤, āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋāĻ¤ā§‡ stm8_interrupt_vector.c āĻŦāĻŋāĻ˜ā§āĻ¨āĻŋāĻ¤ āĻ¨āĻŽā§āĻŦāĻ° 13 (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 - āĻŦāĻžāĻ§āĻž āĻŦāĻ¨ā§āĻ§ āĻ•āĻ°ā§‡āĨ¤ "āĻ­āĻŋāĻĄāĻŋāĻ“ āĻŽā§‡āĻŽāĻ°āĻŋāĻ¤ā§‡" āĻ¨āĻ¤ā§āĻ¨ āĻŽāĻžāĻ¨ āĻ˛ā§‡āĻ–āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻ¨āĻŋāĻˇā§āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻ¯āĻžāĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻĻā§āĻ°ā§āĻ­āĻžāĻ—ā§āĻ¯āĻœāĻ¨āĻ• āĻŽā§āĻšā§āĻ°ā§āĻ¤ā§‡ āĻ•ā§‹āĻ¨āĻ“ āĻŦāĻžāĻ§āĻž āĻ…ā§āĻ¯āĻžāĻ°ā§‡āĻŸāĻŋāĻ•ā§‡ āĻ¨āĻˇā§āĻŸ āĻ¨āĻž āĻ•āĻ°ā§‡āĨ¤

āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ•ā§‹āĻĄ - āĻ—āĻŋāĻĨā§āĻŦā§‡.

āĻĄā§‡āĻŸāĻžāĻļāĻŋāĻŸ 2 āĻĒāĻĄāĻŧā§āĻ¨: STM32-āĻ SPI; STM8-āĻ PWM, āĻŸāĻžāĻ‡āĻŽāĻžāĻ° āĻāĻŦāĻ‚ āĻŦāĻžāĻ§āĻž

āĻ…āĻ¨ā§āĻ¤āĻ¤ āĻ•ā§‡āĻ‰ āĻ¯āĻĻāĻŋ āĻāĻ‡ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻŸāĻŋ āĻĻāĻ°āĻ•āĻžāĻ°ā§€ āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ†āĻŽāĻŋ āĻāĻŸāĻŋ āĻ¨āĻŋāĻ°āĻ°ā§āĻĨāĻ• āĻ˛āĻŋāĻ–āĻŋāĻ¨āĻŋāĨ¤ āĻ†āĻŽāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻāĻŦāĻ‚ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻ–ā§āĻļāĻŋ āĻšāĻŦā§‡, āĻ†āĻŽāĻŋ āĻ¸āĻŦ āĻ‰āĻ¤ā§āĻ¤āĻ° āĻĻāĻŋāĻ¤ā§‡ āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°āĻŦā§‡.

āĻ‰āĻ¤ā§āĻ¸: www.habr.com

āĻāĻ•āĻŸāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻœā§āĻĄāĻŧā§āĻ¨