เจกเจพเจŸเจพเจธเจผเฉ€เจŸเจพเจ‚ เจจเฉ‚เฉฐ เจชเฉœเฉเจนเจจเจพ 2: STM32 'เจคเฉ‡ SPI; STM8 'เจคเฉ‡ PWM, เจŸเจพเจˆเจฎเจฐ เจ…เจคเฉ‡ เจฐเฉเจ•เจพเจตเจŸเจพเจ‚

เจกเจพเจŸเจพเจธเจผเฉ€เจŸเจพเจ‚ เจจเฉ‚เฉฐ เจชเฉœเฉเจนเจจเจพ 2: STM32 'เจคเฉ‡ SPI; STM8 'เจคเฉ‡ PWM, เจŸเจพเจˆเจฎเจฐ เจ…เจคเฉ‡ เจฐเฉเจ•เจพเจตเจŸเจพเจ‚

ะ’ เจชเจนเจฟเจฒเจพ เจญเจพเจ— เจฎเฉˆเจ‚ เจธเจผเฉŒเจ•เฉ€เจจ เจ‡เจฒเฉˆเจ•เจŸเฉเจฐเฉ‹เจจเจฟเจ•เจธ เจ‡เฉฐเจœเจจเฉ€เจ…เจฐเจพเจ‚ เจจเฉ‚เฉฐ เจฆเฉฑเจธเจฃ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เฉ€เจคเฉ€ เจœเฉ‹ Arduino เจชเฉˆเจ‚เจŸเจพเจ‚ เจคเฉ‹เจ‚ เจตเฉฑเจกเฉ‡ เจนเฉ‹เจ เจนเจจ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจฎเจพเจˆเจ•เฉเจฐเฉ‹เจ•เฉฐเจŸเจฐเฉ‹เจฒเจฐ เจฒเจˆ เจกเฉ‡เจŸเจพเจธเจผเฉ€เจŸเจพเจ‚ เจ…เจคเฉ‡ เจนเฉ‹เจฐ เจฆเจธเจคเจพเจตเฉ‡เจœเจผเจพเจ‚ เจจเฉ‚เฉฐ เจ•เจฟเจตเฉ‡เจ‚ เจ…เจคเฉ‡ เจ•เจฟเจ‰เจ‚ เจชเฉœเฉเจนเจจเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆเฅค เจŸเฉˆเจ•เจธเจŸ เจตเฉฑเจกเจพ เจจเจฟเจ•เจฒเจฟเจ†, เจ‡เจธเจฒเจˆ เจฎเฉˆเจ‚ เจ‡เฉฑเจ• เจตเฉฑเจ–เจฐเฉ‡ เจฒเฉ‡เจ– เจตเจฟเฉฑเจš เจตเจฟเจนเจพเจฐเจ• เจ‰เจฆเจพเจนเจฐเจฃเจพเจ‚ เจฆเจฟเจ–เจพเจ‰เจฃ เจฆเจพ เจตเจพเจ…เจฆเจพ เจ•เฉ€เจคเจพเฅค เจ–เฉˆเจฐ, เจ‰เจธเจจเฉ‡ เจ†เจชเจฃเฉ‡ เจ†เจช เจจเฉ‚เฉฐ เจฆเฉเฉฑเจง เจฆเจพ เจฎเจธเจผเจฐเฉ‚เจฎ เจ•เจฟเจนเจพ ...

เจ…เฉฑเจœ เจฎเฉˆเจ‚ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจฆเจฟเจ–เจพเจตเจพเจ‚เจ—เจพ เจ•เจฟ STM32 (Blue Pill) เจ…เจคเฉ‡ STM8 เจ•เฉฐเจŸเจฐเฉ‹เจฒเจฐเจพเจ‚ 'เจคเฉ‡ เจฌเจนเฉเจค เจธเจพเจฐเฉ‡ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸเจพเจ‚, เจ•เจพเจฐเจœเจพเจ‚ เจฒเจˆ เจ•เจพเจซเจผเฉ€ เจธเจงเจพเจฐเจจ, เจชเจฐ เจœเจผเจฐเฉ‚เจฐเฉ€ เจนเฉฑเจฒ เจ•เจฐเจจ เจฒเจˆ เจกเฉ‡เจŸเจพเจธเจผเฉ€เจŸเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฟเจตเฉ‡เจ‚ เจ•เจฐเจจเฉ€ เจนเฉˆเฅค เจธเจพเจฐเฉ‡ เจกเฉˆเจฎเฉ‹ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจฎเฉ‡เจฐเฉ‡ เจฎเจจเจชเจธเฉฐเจฆ LEDs เจจเฉ‚เฉฐ เจธเจฎเจฐเจชเจฟเจค เจนเจจ, เจ…เจธเฉ€เจ‚ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจตเฉฑเจกเฉ€ เจฎเจพเจคเจฐเจพ เจตเจฟเฉฑเจš เจชเฉเจฐเจ•เจพเจธเจผ เจ•เจฐเจพเจ‚เจ—เฉ‡, เจœเจฟเจธ เจฒเจˆ เจธเจพเจจเฉ‚เฉฐ เจนเจฐ เจคเจฐเฉเจนเจพเจ‚ เจฆเฉ‡ เจฆเจฟเจฒเจšเจธเจช เจชเฉˆเจฐเฉ€เจซเจฟเจฐเจฒ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจเฉ€ เจชเจตเฉ‡เจ—เฉ€เฅค

เจŸเฉˆเจ•เจธเจŸ เจซเจฟเจฐ เจคเฉ‹เจ‚ เจฌเจนเฉเจค เจตเฉฑเจกเจพ เจจเจฟเจ•เจฒเจฟเจ†, เจ‡เจธเจฒเจˆ เจธเจนเฉ‚เจฒเจค เจฒเจˆ เจฎเฉˆเจ‚ เจธเจฎเฉฑเจ—เจฐเฉ€ เจฌเจฃเจพ เจฐเจฟเจนเจพ เจนเจพเจ‚:

STM32 เจฌเจฒเฉ‚ เจชเจฟเจฒ: DM16 เจกเจฐเจพเจˆเจตเจฐ เจฆเฉ‡ เจจเจพเจฒ 634 LEDs
STM8: เจ›เฉ‡ PWM เจชเจฟเฉฐเจจ เจธเจฅเจพเจชเจค เจ•เจฐเจจเจพ
STM8: เจคเจฟเฉฐเจจ เจชเจฟเฉฐเจจเจพเจ‚ 'เจคเฉ‡ 8 RGB LEDs, เจฐเฉเจ•เจพเจตเจŸเจพเจ‚

เจฌเฉ‡เจฆเจพเจ…เจตเจพ: เจฎเฉˆเจ‚ เจ•เฉ‹เจˆ เจ‡เฉฐเจœเฉ€เจจเฉ€เจ…เจฐ เจจเจนเฉ€เจ‚ เจนเจพเจ‚, เจฎเฉˆเจ‚ เจ‡เจฒเฉˆเจ•เจŸเฉเจฐเจพเจจเจฟเจ•เจธ เจตเจฟเฉฑเจš เจกเฉ‚เฉฐเจ˜เฉ‡ เจ—เจฟเจ†เจจ เจฆเจพ เจฆเจฟเจ–เจพเจตเจพ เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเจพ, เจฒเฉ‡เจ– เจฎเฉ‡เจฐเฉ‡ เจตเจฐเจ—เฉ‡ เจธเจผเฉŒเจ•เฉ€เจจเจพเจ‚ เจฒเจˆ เจคเจฟเจ†เจฐ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค เจ…เจธเจฒ เจตเจฟเฉฑเจš, เจฎเฉˆเจ‚ เจฆเฉ‹ เจธเจพเจฒ เจชเจนเจฟเจฒเจพเจ‚ เจ†เจชเจฃเฉ‡ เจ†เจช เจจเฉ‚เฉฐ เจจเจฟเจธเจผเจพเจจเจพ เจฆเจฐเจธเจผเจ• เจธเจฎเจเจฟเจ† เจธเฉ€เฅค เจœเฉ‡ เจ•เจฟเจธเฉ‡ เจจเฉ‡ เจฎเฉˆเจจเฉ‚เฉฐ เจฆเฉฑเจธเจฟเจ† เจนเฉเฉฐเจฆเจพ เจคเจพเจ‚ เจ‡เฉฑเจ• เจ…เจฃเจœเจพเจฃ เจšเจฟเฉฑเจช 'เจคเฉ‡ เจกเฉ‡เจŸเจพเจธเจผเฉ€เจŸ เจชเฉœเฉเจนเจจ เจฒเจˆ เจกเจฐเจพเจ‰เจฃเฉ€ เจจเจนเฉ€เจ‚ เจธเฉ€, เจฎเฉˆเจ‚ เจ‡เฉฐเจŸเจฐเจจเฉˆเจŸ 'เจคเฉ‡ เจ•เฉ‹เจก เจฆเฉ‡ เจ•เฉเจ เจŸเฉเจ•เฉœเจฟเจ†เจ‚ เจจเฉ‚เฉฐ เจฒเฉฑเจญเจฃ เจ…เจคเฉ‡ เจ•เฉˆเจšเฉ€ เจ…เจคเฉ‡ เจšเจฟเจชเจ•เจฃ เจตเจพเจฒเฉ€ เจŸเฉ‡เจช เจจเจพเจฒ เจฌเฉˆเจธเจพเจ–เฉ€เจ†เจ‚ เจฆเฉ€ เจ–เฉ‹เจœ เจ•เจฐเจจ เจตเจฟเฉฑเจš เจฌเจนเฉเจค เจธเจฎเจพเจ‚ เจจเจนเฉ€เจ‚ เจฌเจฟเจคเจพเจ‡เจ† เจนเฉเฉฐเจฆเจพ.

เจ‡เจธ เจฒเฉ‡เจ– เจฆเจพ เจซเฉ‹เจ•เจธ เจกเฉ‡เจŸเจพเจธเจผเฉ€เจŸเจพเจ‚ 'เจคเฉ‡ เจนเฉˆ, เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸเจพเจ‚ 'เจคเฉ‡ เจจเจนเฉ€เจ‚, เจ‡เจธ เจฒเจˆ เจ•เฉ‹เจก เจฌเจนเฉเจค เจธเจพเจซเจผ เจ…เจคเฉ‡ เจ…เจ•เจธเจฐ เจคเฉฐเจ— เจจเจนเฉ€เจ‚ เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจ†เจชเจฃเฉ‡ เจ†เจช เจตเจฟเฉฑเจš เจฌเจนเฉเจค เจธเจงเจพเจฐเจจ เจนเจจ, เจนเจพเจฒเจพเจ‚เจ•เจฟ เจจเจตเฉ€เจ‚ เจšเจฟเฉฑเจช เจจเจพเจฒ เจชเจนเจฟเจฒเฉ€ เจœเจพเจฃ-เจชเจ›เจพเจฃ เจฒเจˆ เจขเฉเจ•เจตเจพเจ‚ เจนเฉˆ.

เจฎเฉˆเจจเฉ‚เฉฐ เจ‰เจฎเฉ€เจฆ เจนเฉˆ เจ•เจฟ เจฎเฉ‡เจฐเจพ เจฒเฉ‡เจ– เจธเจผเฉŒเจ• เจตเจฟเฉฑเจš เจกเฉเฉฑเจฌเจฃ เจฆเฉ‡ เจธเจฎเจพเจจ เจชเฉœเจพเจ… 'เจคเฉ‡ เจ•เจฟเจธเฉ‡ เจฆเฉ€ เจฎเจฆเจฆ เจ•เจฐเฉ‡เจ—เจพ.

เจเจธเจŸเฉ€เจเจฎ 32

DM16 เจ…เจคเฉ‡ SPI เจจเจพเจฒ 634 LEDs

เจฌเจฒเฉ‚ เจชเจฟเจฒ (STM32F103C8T6) เจ…เจคเฉ‡ DM634 LED เจกเจฐเจพเจˆเจตเจฐ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ เจ‡เฉฑเจ• เจ›เฉ‹เจŸเจพ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸเฅค เจกเฉ‡เจŸเจพเจธเจผเฉ€เจŸเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ, เจ…เจธเฉ€เจ‚ เจกเจฐเจพเจˆเจตเจฐ, STM IO เจชเฉ‹เจฐเจŸเจพเจ‚ เจฆเจพ เจชเจคเจพ เจฒเจ—เจพเจตเจพเจ‚เจ—เฉ‡ เจ…เจคเฉ‡ SPI เจจเฉ‚เฉฐ เจ•เฉŒเจ‚เจซเจฟเจ—เจฐ เจ•เจฐเจพเจ‚เจ—เฉ‡เฅค

DM634

16 16-เจฌเจฟเฉฑเจŸ PWM เจ†เจ‰เจŸเจชเฉเฉฑเจŸ เจฆเฉ‡ เจจเจพเจฒ เจคเจพเจˆเจตเจพเจจเฉ€ เจšเจฟเฉฑเจช, เจšเฉ‡เจจ เจตเจฟเฉฑเจš เจœเฉเฉœเฉ€ เจœเจพ เจธเจ•เจฆเฉ€ เจนเฉˆเฅค เจ˜เฉฑเจŸ-เจ…เฉฐเจค เจฆเฉ‡ 12-เจฌเจฟเฉฑเจŸ เจฎเจพเจกเจฒ เจจเฉ‚เฉฐ เจ˜เจฐเฉ‡เจฒเฉ‚ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจคเฉ‹เจ‚ เจœเจพเจฃเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ เจฒเจพเจˆเจŸเจชเฉˆเจ•. เจ‡เฉฑเจ• เจธเจฎเฉ‡เจ‚, DM63x เจ…เจคเฉ‡ เจฎเจธเจผเจนเฉ‚เจฐ TLC5940 เจตเจฟเจšเจ•เจพเจฐ เจšเฉ‹เจฃ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ, เจฎเฉˆเจ‚ เจ•เจˆ เจ•เจพเจฐเจจเจพเจ‚ เจ•เจฐเจ•เฉ‡ DM เจจเฉ‚เฉฐ เจšเฉเจฃเจฟเจ†: 1) Aliexpress 'เจคเฉ‡ TLC เจฏเจ•เฉ€เจจเฉ€ เจคเฉŒเจฐ 'เจคเฉ‡ เจœเจพเจ…เจฒเฉ€ เจนเฉˆ, เจชเจฐ เจ‡เจน เจ‡เฉฑเจ• เจจเจนเฉ€เจ‚ เจนเฉˆ; 2) DM เจ•เฉ‹เจฒ เจ†เจชเจฃเฉ‡ เจ–เฉเจฆ เจฆเฉ‡ เจฌเจพเจฐเฉฐเจฌเจพเจฐเจคเจพ เจœเจจเจฐเฉ‡เจŸเจฐ เจฆเฉ‡ เจจเจพเจฒ เจ‡เฉฑเจ• เจ–เฉเจฆเจฎเฉเจ–เจคเจฟเจ†เจฐเฉ€ PWM เจนเฉˆ; 3) เจ‡เจธ เจจเฉ‚เฉฐ เจ…เจฒเฉ€ เจคเฉ‹เจ‚ เจชเจพเจฐเจธเจฒ เจฆเฉ€ เจ‰เจกเฉ€เจ• เจ•เจฐเจจ เจฆเฉ€ เจฌเจœเจพเจ เจฎเจพเจธเจ•เฉ‹ เจตเจฟเฉฑเจš เจธเจธเจคเฉ‡ เจตเจฟเฉฑเจš เจ–เจฐเฉ€เจฆเจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจ…เจคเฉ‡, เจฌเฉ‡เจธเจผเฉฑเจ•, เจ‡เจน เจธเจฟเฉฑเจ–เจฃเจพ เจฆเจฟเจฒเจšเจธเจช เจธเฉ€ เจ•เจฟ เจ‡เฉฑเจ• เจคเจฟเจ†เจฐ เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจฆเฉ€ เจฌเจœเจพเจ, เจ†เจชเจฃเฉ‡ เจ†เจช เจจเฉ‚เฉฐ เจšเจฟเฉฑเจช เจจเฉ‚เฉฐ เจ•เจฟเจตเฉ‡เจ‚ เจจเจฟเจฏเฉฐเจคเจฐเจฟเจค เจ•เจฐเจจเจพ เจนเฉˆ. เจšเจฟเฉฑเจชเจพเจ‚ เจจเฉ‚เฉฐ เจนเฉเจฃ เจฎเฉเฉฑเจ– เจคเฉŒเจฐ 'เจคเฉ‡ SSOP24 เจชเฉˆเจ•เฉ‡เจœ เจตเจฟเฉฑเจš เจชเฉ‡เจธเจผ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ; เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจ…เจกเจพเจชเจŸเจฐ เจตเจฟเฉฑเจš เจธเฉ‹เจฒเจก เจ•เจฐเจจเจพ เจ†เจธเจพเจจ เจนเฉเฉฐเจฆเจพ เจนเฉˆเฅค

เจ•เจฟเจ‰เจ‚เจ•เจฟ เจจเจฟเจฐเจฎเจพเจคเจพ เจคเจพเจˆเจตเจพเจจเฉ€ เจนเฉˆ, เจกเจพเจŸเจพ เจธเจผเฉ€เจŸ เจšเจฟเฉฑเจช เจšเฉ€เจจเฉ€ เจ…เฉฐเจ—เจฐเฉ‡เจœเจผเฉ€ เจตเจฟเฉฑเจš เจฒเจฟเจ–เฉ€ เจ—เจˆ เจนเฉˆ, เจœเจฟเจธเจฆเจพ เจฎเจคเจฒเจฌ เจนเฉˆ เจ•เจฟ เจ‡เจน เจฎเจœเจผเฉ‡เจฆเจพเจฐ เจนเฉ‹เจตเฉ‡เจ—เจพเฅค เจชเจนเจฟเจฒเจพเจ‚ เจ…เจธเฉ€เจ‚ เจชเจฟเจจเจ†เจ‰เจŸ เจจเฉ‚เฉฐ เจฆเฉ‡เจ–เจฆเฉ‡ เจนเจพเจ‚ (เจชเจฟเฉฐเจจ เจ•เจจเฉˆเจ•เจธเจผเจจเจ‡เจน เจธเจฎเจเจฃ เจฒเจˆ เจ•เจฟ เจ•เจฟเจนเฉœเฉ€ เจฒเฉฑเจค เจจเฉ‚เฉฐ เจ•เจฟเจธ เจจเจพเจฒ เจœเฉ‹เฉœเจจเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจชเจฟเฉฐเจจ เจฆเจพ เจตเฉ‡เจฐเจตเจพ (เจชเจฟเฉฐเจจ เจตเฉ‡เจฐเจตเจพ). 16 เจชเจฟเฉฐเจจ:

เจกเจพเจŸเจพเจธเจผเฉ€เจŸเจพเจ‚ เจจเฉ‚เฉฐ เจชเฉœเฉเจนเจจเจพ 2: STM32 'เจคเฉ‡ SPI; STM8 'เจคเฉ‡ PWM, เจŸเจพเจˆเจฎเจฐ เจ…เจคเฉ‡ เจฐเฉเจ•เจพเจตเจŸเจพเจ‚
เจกเฉ€เจธเฉ€ เจธเจฟเฉฐเจ• เจธเจฐเฉ‹เจค (เจ“เจชเจจ เจกเจฐเฉ‡เจจ)

เจกเฉเฉฑเจฌเจฃเจพ / เจ“เจชเจจ-เจกเจฐเฉ‡เจจ เจ†เจ‰เจŸเจชเฉเฉฑเจŸ - เจจเจฟเจ•เจพเจธ; เจชเฉเจฐเจตเจพเจน เจ•เจฐเฉฐเจŸ เจฆเจพ เจธเจฐเฉ‹เจค; เจ†เจ‰เจŸเจชเฉเฉฑเจŸ เจธเจฐเจ—เจฐเจฎ เจธเจฅเจฟเจคเฉ€ เจตเจฟเฉฑเจš เจœเจผเจฎเฉ€เจจ เจจเจพเจฒ เจœเฉเฉœเจฟเจ† เจนเฉ‹เจ‡เจ† เจนเฉˆ - LEDs เจ•เฉˆเจฅเฉ‹เจก เจฆเฉเจ†เจฐเจพ เจกเจฐเจพเจˆเจตเจฐ เจจเจพเจฒ เจœเฉเฉœเฉ‡ เจนเฉ‹เจ เจนเจจ. เจฌเจฟเจœเจฒเจˆ เจคเฉŒเจฐ 'เจคเฉ‡, เจ‡เจน, เจฌเฉ‡เจธเจผเฉฑเจ•, "เจ–เฉเฉฑเจฒเฉเจนเจพ เจกเจฐเฉ‡เจจ" เจจเจนเฉ€เจ‚ เจนเฉˆ (เจ–เฉเฉฑเจฒเฉเจนเฉ€ เจจเจพเจฒเฉ€), เจชเจฐ เจกเฉˆเจŸเจพเจธเจผเฉ€เจŸเจพเจ‚ เจตเจฟเฉฑเจš เจกเจฐเฉ‡เจจ เจฎเฉ‹เจก เจตเจฟเฉฑเจš เจชเจฟเฉฐเจจเจพเจ‚ เจฒเจˆ เจ‡เจน เจ…เจนเฉเจฆเจพ เจ…เจ•เจธเจฐ เจชเจพเจ‡เจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค

เจกเจพเจŸเจพเจธเจผเฉ€เจŸเจพเจ‚ เจจเฉ‚เฉฐ เจชเฉœเฉเจนเจจเจพ 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 เจชเจนเจฟเจฒเจพเจ‚ - เจธเจญ เจคเฉ‹เจ‚ เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ (เจ–เฉฑเจฌเฉ‡ เจชเจพเจธเฉ‡) เจฌเจฟเฉฑเจŸ เจ…เฉฑเจ—เฉ‡เฅค
เจกเจพเจŸเจพ เจ˜เฉœเฉ€ เจ•เจฐเจจ เจฒเจˆ - เจ•เฉเจฐเจฎเจตเจพเจฐ เจกเฉ‡เจŸเจพ เจธเฉฐเจšเจพเจฐเจฟเจค เจ•เจฐเฉ‹ (เจฌเจฟเฉฑเจŸ-เจฌเจฟเฉฑเจŸ)เฅค

เจธเจผเจฌเจฆ เจจเฉ‚เฉฐ เจฒเฉฑเจ• เจ…เจ•เจธเจฐ เจšเจฟเจชเจธ เจฒเจˆ เจฆเจธเจคเจพเจตเฉ‡เจœเจผเจพเจ‚ เจตเจฟเฉฑเจš เจชเจพเจ‡เจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจตเฉฑเจ–-เจตเฉฑเจ– เจคเจฐเฉ€เจ•เจฟเจ†เจ‚ เจจเจพเจฒ เจ…เจจเฉเจตเจพเจฆ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจ‡เจธเจฒเจˆ เจธเจฎเจ เจฒเจˆ เจฎเฉˆเจ‚ เจ†เจชเจฃเฉ‡ เจ†เจช เจจเฉ‚เฉฐ เจ‡เจœเจพเจœเจผเจค เจฆเฉ‡เจตเจพเจ‚เจ—เจพ

เจ‡เฉฑเจ• เจ›เฉ‹เจŸเจพ เจตเจฟเจฆเจฟเจ…เจ• เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎLED เจกเจฐเจพเจˆเจตเจฐ เจฒเจพเจœเจผเจฎเฉ€ เจคเฉŒเจฐ 'เจคเฉ‡ เจ‡เฉฑเจ• เจธเจผเจฟเจซเจŸ เจฐเจœเจฟเจธเจŸเจฐ เจนเฉˆเฅค "เจธเจผเจฟเจซเจŸ" (เจธเจผเจฟเจซเจŸ) เจจเจพเจฎ เจตเจฟเฉฑเจš - เจกเจฟเจตเจพเจˆเจธ เจฆเฉ‡ เจ…เฉฐเจฆเจฐ เจกเฉ‡เจŸเจพ เจฆเฉ€ เจฌเจฟเฉฑเจŸเจตเจพเจˆเจœเจผ เจฎเฉ‚เจตเจฎเฉˆเจ‚เจŸ: เจ…เฉฐเจฆเจฐ เจนเจฟเจฒเจพเจ‡เจ† เจ—เจฟเจ† เจนเจฐ เจจเจตเจพเจ‚ เจฌเจฟเฉฑเจŸ เจชเฉ‚เจฐเฉ€ เจšเฉ‡เจจ เจจเฉ‚เฉฐ เจ‡เจธเจฆเฉ‡ เจธเจพเจนเจฎเจฃเฉ‡ เจ…เฉฑเจ—เฉ‡ เจงเฉฑเจ•เจฆเจพ เจนเฉˆเฅค เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ•เฉ‹เจˆ เจตเฉ€ เจธเจผเจฟเจซเจŸ เจฆเฉ‡ เจฆเฉŒเจฐเจพเจจ LEDs เจฆเฉ‡ เจ…เจฐเจพเจœเจ• เจเจชเจ•เจฆเฉ‡ เจจเฉ‚เฉฐ เจจเจนเฉ€เจ‚ เจฆเฉ‡เจ–เจฃเจพ เจšเจพเจนเฉเฉฐเจฆเจพ เจนเฉˆ, เจ‡เจธเจฒเจˆ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจ‡เฉฑเจ• เจกเฉˆเจ‚เจชเจฐ เจฆเฉเจ†เจฐเจพ เจตเจฐเจ•เจฟเฉฐเจ— เจฐเจœเจฟเจธเจŸเจฐเจพเจ‚ เจคเฉ‹เจ‚ เจตเฉฑเจ– เจ•เฉ€เจคเฉ‡ เจฌเจซเจฐ เจฐเจœเจฟเจธเจŸเจฐเจพเจ‚ เจตเจฟเฉฑเจš เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ (เจฒเฉฑเจ•) เจ‡เฉฑเจ• เจ•เจฟเจธเจฎ เจฆเจพ เจตเฉ‡เจŸเจฟเฉฐเจ— เจฐเฉ‚เจฎ เจนเฉˆ เจœเจฟเฉฑเจฅเฉ‡ เจฌเจฟเฉฑเจŸเจพเจ‚ เจจเฉ‚เฉฐ เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ‡ เจ•เฉเจฐเจฎ เจตเจฟเฉฑเจš เจตเจฟเจตเจธเจฅเจฟเจค เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค เจœเจฆเฉ‹เจ‚ เจธเจญ เจ•เฉเจ เจคเจฟเจ†เจฐ เจนเฉ‹ เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจธเจผเจŸเจฐ เจ–เฉเฉฑเจฒเฉเจนเจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจฌเจฟเฉฑเจŸ เจ•เฉฐเจฎ 'เจคเฉ‡ เจœเจพเจ‚เจฆเฉ‡ เจนเจจ, เจชเจฟเจ›เจฒเฉ‡ เจฌเฉˆเจš เจจเฉ‚เฉฐ เจฌเจฆเจฒเจฆเฉ‡ เจนเฉ‹เจเฅค เจธเจผเจฌเจฆ เจฒเฉฑเจ• เจฎเจพเจˆเจ•เฉเจฐเฉ‹เจธเจฐเจ•เจฟเจŸเจธ เจฒเจˆ เจฆเจธเจคเจพเจตเฉ‡เจœเจผเจพเจ‚ เจตเจฟเฉฑเจš เจฒเจ—เจญเจ— เจนเจฎเฉ‡เจธเจผเจพเจ‚ เจ…เจœเจฟเจนเฉ‡ เจกเฉˆเจ‚เจชเจฐ เจจเฉ‚เฉฐ เจฆเจฐเจธเจพเจ‰เจ‚เจฆเจพ เจนเฉˆ, เจญเจพเจตเฉ‡เจ‚ เจ‡เจน เจ•เจฟเจธ เจธเฉฐเจœเฉ‹เจ— เจตเจฟเฉฑเจš เจตเจฐเจคเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค

เจ‡เจธ เจฒเจˆ, DM634 เจจเฉ‚เฉฐ เจกเฉ‡เจŸเจพ เจŸเฉเจฐเจพเจ‚เจธเจซเจฐ เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ: DAI เจ‡เฉฐเจชเฉเฉฑเจŸ เจจเฉ‚เฉฐ เจฆเฉ‚เจฐ LED เจฆเฉ‡ เจธเจญ เจคเฉ‹เจ‚ เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจฌเจฟเฉฑเจŸ เจฆเฉ‡ เจฎเฉเฉฑเจฒ 'เจคเฉ‡ เจธเฉˆเฉฑเจŸ เจ•เจฐเฉ‹, DCK เจจเฉ‚เฉฐ เจ‰เฉฑเจชเจฐ เจ…เจคเฉ‡ เจนเฉ‡เจ เจพเจ‚ เจ–เจฟเฉฑเจšเฉ‹; DAI เจ‡เฉฐเจชเฉเฉฑเจŸ เจจเฉ‚เฉฐ เจ…เจ—เจฒเฉ‡ เจฌเจฟเฉฑเจŸ เจฆเฉ‡ เจฎเฉเฉฑเจฒ 'เจคเฉ‡ เจธเฉˆเฉฑเจŸ เจ•เจฐเฉ‹, DCK เจ–เจฟเฉฑเจšเฉ‹; เจ…เจคเฉ‡ เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจ‰เจฆเฉ‹เจ‚ เจคเฉฑเจ• เจœเจฆเฉ‹เจ‚ เจคเฉฑเจ• เจธเจพเจฐเฉ‡ เจฌเจฟเฉฑเจŸ เจชเฉเจฐเจธเจพเจฐเจฟเจค เจจเจนเฉ€เจ‚ เจนเฉ‹ เจœเจพเจ‚เจฆเฉ‡ (เจ…เฉฐเจฆเจฐ เจฌเฉฐเจฆ), เจœเจฟเจธ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจ…เจธเฉ€เจ‚ LAT เจจเฉ‚เฉฐ เจ–เจฟเฉฑเจšเจฆเฉ‡ เจนเจพเจ‚เฅค เจ‡เจน เจนเฉฑเจฅเฉ€เจ‚ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ (เจฌเจฟเฉฑเจŸ-เจฌเฉˆเจ‚เจ—), เจชเจฐ เจ‡เจธเจฆเฉ‡ เจฒเจˆ เจตเจฟเจธเจผเฉ‡เจธเจผ เจคเฉŒเจฐ 'เจคเฉ‡ เจคเจฟเจ†เจฐ เจ•เฉ€เจคเฉ‡ เจ—เจ SPI เจ‡เฉฐเจŸเจฐเจซเฉ‡เจธ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจเจพ เจฌเจฟเจนเจคเจฐ เจนเฉˆ, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ‡เจน เจธเจพเจกเฉ‡ STM32 'เจคเฉ‡ เจฆเฉ‹ เจ•เจพเจชเฉ€เจ†เจ‚ เจตเจฟเฉฑเจš เจชเฉ‡เจธเจผ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค

เจจเฉ€เจฒเฉ€ เจ—เฉ‹เจฒเฉ€ STM32F103

เจธเจผเฉเจฐเฉ‚เจ†เจคเฉ€: STM32 เจ•เฉฐเจŸเจฐเฉ‹เจฒเจฐ Atmega328 เจจเจพเจฒเฉ‹เจ‚ เจฌเจนเฉเจค เจœเจผเจฟเจ†เจฆเจพ เจ—เฉเฉฐเจเจฒเจฆเจพเจฐ เจนเจจ เจœเจฟเฉฐเจจเจพ เจ•เจฟ เจ‰เจน เจกเจฐเจพเจ‰เจฃเฉ‡ เจฒเฉฑเจ— เจธเจ•เจฆเฉ‡ เจนเจจเฅค เจ‡เจธ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, เจŠเจฐเจœเจพ เจฌเจšเจพเจ‰เจฃ เจฆเฉ‡ เจ•เจพเจฐเจจเจพเจ‚ เจ•เจฐเจ•เฉ‡, เจฒเจ—เจญเจ— เจธเจพเจฐเฉ‡ เจชเฉˆเจฐเฉ€เจซเจฟเจฐเจฒ เจธเจผเฉเจฐเฉ‚ เจตเจฟเฉฑเจš เจฌเฉฐเจฆ เจนเฉ‹ เจœเจพเจ‚เจฆเฉ‡ เจนเจจ, เจ…เจคเฉ‡ เจ˜เฉœเฉ€ เจฆเฉ€ เจฌเจพเจฐเฉฐเจฌเจพเจฐเจคเจพ เจ…เฉฐเจฆเจฐเฉ‚เจจเฉ€ เจธเจฐเฉ‹เจค เจคเฉ‹เจ‚ 8 MHz เจนเฉˆเฅค เจ–เฉเจธเจผเจ•เจฟเจธเจฎเจคเฉ€ เจจเจพเจฒ, STM เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจฐเจพเจ‚ เจจเฉ‡ เจ•เฉ‹เจก เจฒเจฟเจ–เจฟเจ† เจœเฉ‹ เจšเจฟเจช เจจเฉ‚เฉฐ "เจ—เจฃเจฟเจค" 72 MHz เจคเฉฑเจ• เจฒเจฟเจ†เจ‰เจ‚เจฆเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจธเจพเจฐเฉ‡ IDEs เจฆเฉ‡ เจฒเฉ‡เจ–เจ• เจœเจฟเจจเฉเจนเจพเจ‚ เจจเฉ‚เฉฐ เจฎเฉˆเจ‚ เจœเจพเจฃเจฆเจพ เจนเจพเจ‚, เจจเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ เจธเจผเฉเจฐเฉ‚เจ†เจคเฉ€ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจตเจฟเฉฑเจš เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเจพ เจนเฉˆ, เจ‡เจธ เจฒเจˆ เจธเจพเจจเฉ‚เฉฐ เจ˜เฉœเฉ€ เจฆเฉ€ เจฒเฉ‹เฉœ เจจเจนเฉ€เจ‚ เจนเฉˆ (เจชเจฐ เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ เจธเฉฑเจšเจฎเฉเฉฑเจš เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจนเฉ‹ เจคเจพเจ‚ เจคเฉเจธเฉ€เจ‚ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹). เจชเจฐ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจชเฉˆเจฐเฉ€เจซเจฟเจฐเจฒ เจšเจพเจฒเฉ‚ เจ•เจฐเจจเฉ‡ เจชเฉˆเจฃเจ—เฉ‡เฅค

เจฆเจธเจคเจพเจตเฉ‡เจœเจผ: เจฌเจฒเฉ‚ เจชเจฟเจฒ เจชเฉเจฐเจธเจฟเฉฑเจง STM32F103C8T6 เจšเจฟเฉฑเจช เจจเจพเจฒ เจฒเฉˆเจธ เจนเฉˆ, เจ‡เจธเจฆเฉ‡ เจฒเจˆ เจฆเฉ‹ เจ‰เจชเจฏเฉ‹เจ—เฉ€ เจฆเจธเจคเจพเจตเฉ‡เจœเจผ เจนเจจ:

เจกเฉ‡เจŸเจพเจธเจผเฉ€เจŸ เจตเจฟเฉฑเจš เจธเจพเจกเฉ€ เจฆเจฟเจฒเจšเจธเจชเฉ€ เจนเฉ‹ เจธเจ•เจฆเฉ€ เจนเฉˆ:

  • เจชเจฟเจจเจ†เจ‰เจŸ - เจšเจฟเฉฑเจช เจชเจฟเจจเจ†เจ‰เจŸ - เจœเฉ‡เจ•เจฐ เจ…เจธเฉ€เจ‚ เจฌเฉ‹เจฐเจกเจพเจ‚ เจจเฉ‚เฉฐ เจ–เฉเจฆ เจฌเจฃเจพเจ‰เจฃ เจฆเจพ เจซเฉˆเจธเจฒเจพ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚;
  • เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจฎเฉˆเจช - เจ‡เฉฑเจ• เจ–เจพเจธ เจšเจฟเฉฑเจช เจฒเจˆ เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจฎเฉˆเจชเฅค เจฐเฉˆเจซเจฐเฉˆเจ‚เจธ เจฎเฉˆเจจเฉ‚เจ…เจฒ เจตเจฟเฉฑเจš เจชเฉ‚เจฐเฉ€ เจฒเจพเจˆเจจ เจฒเจˆ เจ‡เฉฑเจ• เจจเจ•เจธเจผเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจ‡เจน เจ‰เจนเจจเจพเจ‚ เจฐเจœเจฟเจธเจŸเจฐเจพเจ‚ เจฆเจพ เจœเจผเจฟเจ•เจฐ เจ•เจฐเจฆเจพ เจนเฉˆ เจœเฉ‹ เจธเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจจเจนเฉ€เจ‚ เจนเจจเฅค
  • เจชเจฟเฉฐเจจ เจชเจฐเจฟเจญเจพเจธเจผเจพ เจธเจพเจฐเจฃเฉ€ - เจชเจฟเฉฐเจจ เจฆเฉ‡ เจฎเฉเฉฑเจ– เจ…เจคเฉ‡ เจตเจฟเจ•เจฒเจชเจ• เจซเฉฐเจ•เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจธเฉ‚เจšเฉ€เจฌเฉฑเจง เจ•เจฐเจจเจพ; "เจจเฉ€เจฒเฉ€ เจ—เฉ‹เจฒเฉ€" เจฒเจˆ เจคเฉเจธเฉ€เจ‚ เจชเจฟเฉฐเจจเจพเจ‚ เจ…เจคเฉ‡ เจ‰เจนเจจเจพเจ‚ เจฆเฉ‡ เจ•เจพเจฐเจœเจพเจ‚ เจฆเฉ€ เจธเฉ‚เจšเฉ€ เจฆเฉ‡ เจจเจพเจฒ เจ‡เฉฐเจŸเจฐเจจเฉˆเจŸ 'เจคเฉ‡ เจตเจงเฉ‡เจฐเฉ‡ เจธเฉเจตเจฟเจงเจพเจœเจจเจ• เจคเจธเจตเฉ€เจฐเจพเจ‚ เจฒเฉฑเจญ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค เจ‡เจธ เจฒเจˆ, เจ…เจธเฉ€เจ‚ เจคเฉเจฐเฉฐเจค เจฌเจฒเฉ‚ เจชเจฟเจฒ เจชเจฟเจจเจ†เจ‰เจŸ เจจเฉ‚เฉฐ เจ—เฉ‚เจ—เจฒ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚ เจ…เจคเฉ‡ เจ‡เจธ เจคเจธเจตเฉ€เจฐ เจจเฉ‚เฉฐ เจนเฉฑเจฅ 'เจคเฉ‡ เจฐเฉฑเจ–เจฆเฉ‡ เจนเจพเจ‚:

เจกเจพเจŸเจพเจธเจผเฉ€เจŸเจพเจ‚ เจจเฉ‚เฉฐ เจชเฉœเฉเจนเจจเจพ 2: STM32 'เจคเฉ‡ SPI; STM8 'เจคเฉ‡ PWM, เจŸเจพเจˆเจฎเจฐ เจ…เจคเฉ‡ เจฐเฉเจ•เจพเจตเจŸเจพเจ‚
เจจเฉ‹เจŸ: เจ‡เฉฐเจŸเจฐเจจเฉˆเจŸ เจคเฉ‹เจ‚ เจคเจธเจตเฉ€เจฐ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจ—เจฒเจคเฉ€ เจธเฉ€, เจœเฉ‹ เจŸเจฟเฉฑเจชเจฃเฉ€เจ†เจ‚ เจตเจฟเฉฑเจš เจจเฉ‹เจŸ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจธเฉ€, เจ‰เจธ เจฒเจˆ เจคเฉเจนเจพเจกเจพ เจงเฉฐเจจเจตเจพเจฆเฅค เจคเจธเจตเฉ€เจฐ เจจเฉ‚เฉฐ เจฌเจฆเจฒ เจฆเจฟเฉฑเจคเจพ เจ—เจฟเจ† เจนเฉˆ, เจชเจฐ เจ‡เจน เจ‡เฉฑเจ• เจธเจฌเจ• เจนเฉˆ - เจกเฉ‡เจŸเจพเจธเจผเฉ€เจŸเจพเจ‚ เจคเฉ‹เจ‚ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจฆเฉ€ เจœเจพเจ‚เจš เจ•เจฐเจจเจพ เจฌเจฟเจนเจคเจฐ เจนเฉˆ.

เจ…เจธเฉ€เจ‚ เจกเฉ‡เจŸเจพเจธเจผเฉ€เจŸ เจจเฉ‚เฉฐ เจนเจŸเจพเจ‰เจ‚เจฆเฉ‡ เจนเจพเจ‚, เจนเจตเจพเจฒเจพ เจฎเฉˆเจจเฉ‚เจ…เจฒ เจ–เฉ‹เจฒเฉเจนเจฆเฉ‡ เจนเจพเจ‚, เจ…เจคเฉ‡ เจนเฉเจฃ เจคเฉ‹เจ‚ เจ…เจธเฉ€เจ‚ เจธเจฟเจฐเจซเจผ เจ‡เจธเจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚เฅค
เจตเจฟเจงเฉ€: เจ…เจธเฉ€เจ‚ เจฎเจฟเจ†เจฐเฉ€ เจ‡เจจเจชเฉเจŸ/เจ†เจŠเจŸเจชเฉเฉฑเจŸ เจจเจพเจฒ เจจเจœเจฟเฉฑเจ เจฆเฉ‡ เจนเจพเจ‚, SPI เจจเฉ‚เฉฐ เจ•เฉŒเจ‚เจซเจฟเจ—เจฐ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚, เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ‡ เจชเฉˆเจฐเฉ€เจซเจฟเจฐเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจšเจพเจฒเฉ‚ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚เฅค

เจ‡เจจเจชเฉเจŸ เจ†เจ‰เจŸเจชเฉเฉฑเจŸ

Atmega328 'เจคเฉ‡, I/O เจจเฉ‚เฉฐ เจฌเจนเฉเจค เจนเฉ€ เจธเจฐเจฒ เจขเฉฐเจ— เจจเจพเจฒ เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ, เจ‡เจธเฉ‡ เจ•เจฐเจ•เฉ‡ STM32 เจตเจฟเจ•เจฒเจชเจพเจ‚ เจฆเฉ€ เจฌเจนเฉเจคเจพเจค เจ‰เจฒเจเจฃ เจตเจพเจฒเฉ€ เจนเฉ‹ เจธเจ•เจฆเฉ€ เจนเฉˆเฅค เจนเฉเจฃ เจธเจพเจจเฉ‚เฉฐ เจธเจฟเจฐเจซเจผ เจธเจฟเฉฑเจŸเจฟเจ†เจ‚ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ, เจชเจฐ เจ‡เจนเจจเจพเจ‚ เจ•เฉ‹เจฒ เจšเจพเจฐ เจตเจฟเจ•เจฒเจช เจนเจจ:

เจกเจพเจŸเจพเจธเจผเฉ€เจŸเจพเจ‚ เจจเฉ‚เฉฐ เจชเฉœเฉเจนเจจเจพ 2: STM32 'เจคเฉ‡ SPI; STM8 'เจคเฉ‡ PWM, เจŸเจพเจˆเจฎเจฐ เจ…เจคเฉ‡ เจฐเฉเจ•เจพเจตเจŸเจพเจ‚
เจ“เจชเจจ เจกเจฐเฉ‡เจจ, เจชเฉเจธเจผ-เจชเฉเฉฑเจฒ, เจตเจฟเจ•เจฒเจชเจ• เจชเฉเจธเจผ-เจชเฉเฉฑเจฒ, เจตเจฟเจ•เจฒเจชเจ• เจ“เจชเจจ เจกเจฐเฉ‡เจจ

"เจชเฉเฉฑเจฒ-เจชเฉเจธเจผ" (เจงเฉฑเจ•เจพ-เจ–เจฟเฉฑเจšเจฃเจพ) Arduino เจคเฉ‹เจ‚ เจ†เจฎ เจ†เจ‰เจŸเจชเฉเฉฑเจŸ เจนเฉˆ, เจชเจฟเฉฐเจจ เจฎเฉเฉฑเจฒ เจจเฉ‚เฉฐ เจ‰เฉฑเจš เจœเจพเจ‚ เจ˜เฉฑเจŸ เจฒเฉˆ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจชเจฐ "เจ“เจชเจจ เจกเจฐเฉ‡เจจ" เจฆเฉ‡ เจจเจพเจฒ เจนเจจ เจฎเฉเจธเจผเจ•เจฟเจฒเจพเจ‚, เจนเจพเจฒเจพเจ‚เจ•เจฟ เจ…เจธเจฒ เจตเจฟเฉฑเจš เจ‡เฉฑเจฅเฉ‡ เจธเจญ เจ•เฉเจ เจธเจงเจพเจฐเจจ เจนเฉˆ:

เจกเจพเจŸเจพเจธเจผเฉ€เจŸเจพเจ‚ เจจเฉ‚เฉฐ เจชเฉœเฉเจนเจจเจพ 2: STM32 'เจคเฉ‡ SPI; STM8 'เจคเฉ‡ PWM, เจŸเจพเจˆเจฎเจฐ เจ…เจคเฉ‡ เจฐเฉเจ•เจพเจตเจŸเจพเจ‚
เจกเจพเจŸเจพเจธเจผเฉ€เจŸเจพเจ‚ เจจเฉ‚เฉฐ เจชเฉœเฉเจนเจจเจพ 2: STM32 'เจคเฉ‡ SPI; STM8 'เจคเฉ‡ PWM, เจŸเจพเจˆเจฎเจฐ เจ…เจคเฉ‡ เจฐเฉเจ•เจพเจตเจŸเจพเจ‚
เจ†เจ‰เจŸเจชเฉเฉฑเจŸ เจ•เฉŒเจ‚เจซเจฟเจ—เจฐเฉ‡เจธเจผเจจ / เจœเจฆเฉ‹เจ‚ เจชเฉ‹เจฐเจŸ เจจเฉ‚เฉฐ เจ†เจ‰เจŸเจชเฉเฉฑเจŸ เจฒเจˆ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ: / เจ†เจ‰เจŸเจชเฉเฉฑเจŸ เจฌเจซเจฐ เจธเจฎเจฐเฉฑเจฅ: / - เจ“เจชเจจ เจกเจฐเฉ‡เจจ เจฎเฉ‹เจก: เจ†เจ‰เจŸเจชเฉเฉฑเจŸ เจฐเจœเจฟเจธเจŸเจฐ เจตเจฟเฉฑเจš "0" N-MOS เจจเฉ‚เฉฐ เจธเจฎเจฐเฉฑเจฅ เจฌเจฃเจพเจ‰เจ‚เจฆเจพ เจนเฉˆ, เจ†เจ‰เจŸเจชเฉเฉฑเจŸ เจฐเจœเจฟเจธเจŸเจฐ เจตเจฟเฉฑเจš "1" เจชเฉ‹เจฐเจŸ เจจเฉ‚เฉฐ Hi-Z เจฎเฉ‹เจก เจตเจฟเฉฑเจš เจ›เฉฑเจก เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ ( 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

เจ‡เฉฑเจ• เจนเฉ‹เจฐ เจ›เฉ‹เจŸเจพ เจตเจฟเจฆเจฟเจ…เจ• เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ

SPI เจœเจพเจ‚ เจธเฉ€เจฐเฉ€เจ…เจฒ เจชเฉˆเจฐเฉ€เจซเจฟเจฐเจฒ เจ‡เฉฐเจŸเจฐเจซเฉ‡เจธ (เจธเฉ€เจฐเฉ€เจ…เจฒ เจชเฉˆเจฐเฉ€เจซเจฟเจฐเจฒ เจ‡เฉฐเจŸเจฐเจซเฉ‡เจธ) เจ‡เฉฑเจ• MK เจจเฉ‚เฉฐ เจฆเฉ‚เจœเฉ‡ MK เจ…เจคเฉ‡ เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡ เจฌเจพเจนเจฐเฉ€ เจฆเฉเจจเฉ€เจ† เจจเจพเจฒ เจœเฉ‹เฉœเจจ เจฒเจˆ เจ‡เฉฑเจ• เจธเจงเจพเจฐเจจ เจ…เจคเฉ‡ เจฌเจนเฉเจค เจชเฉเจฐเจญเจพเจตเจธเจผเจพเจฒเฉ€ เจ‡เฉฐเจŸเจฐเจซเฉ‡เจธ เจนเฉˆเฅค เจ‡เจธเจฆเฉ‡ เจธเฉฐเจšเจพเจฒเจจ เจฆเจพ เจธเจฟเจงเจพเจ‚เจค เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจ‰เฉฑเจชเจฐ เจฆเฉฑเจธเจฟเจ† เจ—เจฟเจ† เจนเฉˆ, เจœเจฟเฉฑเจฅเฉ‡ เจšเฉ€เจจเฉ€ LED เจกเจฐเจพเจˆเจตเจฐ เจฌเจพเจฐเฉ‡ (เจนเจตเจพเจฒเจพ เจฎเฉˆเจจเฉ‚เจ…เจฒ เจตเจฟเฉฑเจš, เจธเฉˆเจ•เจธเจผเจจ 25 เจฆเฉ‡เจ–เฉ‹). SPI เจฎเจพเจธเจŸเจฐ (โ€œเจฎเจพเจธเจŸเจฐโ€) เจ…เจคเฉ‡ เจธเจฒเฉ‡เจต (โ€œเจ—เฉเจฒเจพเจฎโ€) เจฎเฉ‹เจก เจตเจฟเฉฑเจš เจ•เฉฐเจฎ เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆเฅค SPI เจฆเฉ‡ เจšเจพเจฐ เจฌเฉเจจเจฟเจ†เจฆเฉ€ เจšเฉˆเจจเจฒ เจนเจจ, เจœเจฟเจจเฉเจนเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจธเจพเจฐเฉ‡ เจตเจฐเจคเฉ‡ เจจเจนเฉ€เจ‚ เจœเจพ เจธเจ•เจฆเฉ‡:

  • MOSI, เจฎเจพเจธเจŸเจฐ เจ†เจ‰เจŸเจชเฉเฉฑเจŸ / เจธเจฒเฉ‡เจต เจ‡เจจเจชเฉเจŸ: เจ‡เจน เจชเจฟเฉฐเจจ เจฎเจพเจธเจŸเจฐ เจฎเฉ‹เจก เจตเจฟเฉฑเจš เจกเฉ‡เจŸเจพ เจธเฉฐเจšเจพเจฐเจฟเจค เจ•เจฐเจฆเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจธเจฒเฉ‡เจต เจฎเฉ‹เจก เจตเจฟเฉฑเจš เจกเฉ‡เจŸเจพ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจฆเจพ เจนเฉˆ;
  • MISO, เจฎเจพเจธเจŸเจฐ เจ‡เจจเจชเฉเจŸ / เจธเจฒเฉ‡เจต เจ†เจ‰เจŸเจชเฉเฉฑเจŸ: เจ‡เจธเจฆเฉ‡ เจ‰เจฒเจŸ, เจ‡เจน เจฎเจพเจธเจŸเจฐ เจตเจฟเฉฑเจš เจชเฉเจฐเจพเจชเจค เจ•เจฐเจฆเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจธเจฒเฉ‡เจต เจตเจฟเฉฑเจš เจธเฉฐเจšเจพเจฐเจฟเจค เจ•เจฐเจฆเจพ เจนเฉˆ;
  • SCK, เจธเฉ€เจฐเฉ€เจ…เจฒ เจ•เจฒเจพเจ•: เจฎเจพเจธเจŸเจฐ เจตเจฟเฉฑเจš เจกเฉ‡เจŸเจพ เจชเฉเจฐเจธเจพเจฐเจฃ เจฆเฉ€ เจฌเจพเจฐเฉฐเจฌเจพเจฐเจคเจพ เจธเฉˆเจŸ เจ•เจฐเจฆเจพ เจนเฉˆ เจœเจพเจ‚ เจธเจฒเฉ‡เจต เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจ˜เฉœเฉ€ เจธเจฟเจ—เจจเจฒ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจœเจผเจฐเฉ‚เจฐเฉ€ เจคเฉŒเจฐ 'เจคเฉ‡ เจงเฉœเจ•เจฃ;
  • SS, เจธเจฒเฉ‡เจต เจธเจฟเจฒเฉˆเจ•เจŸ: เจ‡เจธ เจšเฉˆเจจเจฒ เจฆเฉ€ เจฎเจฆเจฆ เจจเจพเจฒ, เจจเฉŒเจ•เจฐ เจœเจพเจฃเจฆเจพ เจนเฉˆ เจ•เจฟ เจ‰เจธ เจคเฉ‹เจ‚ เจ•เฉเจ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆเฅค STM32 'เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ NSS เจ•เจฟเจนเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจœเจฟเฉฑเจฅเฉ‡ N = เจจเฉˆเจ—เฉ‡เจŸเจฟเจต, i.e. เจ•เฉฐเจŸเจฐเฉ‹เจฒเจฐ เจ‡เฉฑเจ• เจ—เฉเจฒเจพเจฎ เจฌเจฃ เจœเจพเจ‚เจฆเจพ เจนเฉˆ เจœเฉ‡เจ•เจฐ เจ‡เจธ เจšเฉˆเจจเจฒ เจตเจฟเฉฑเจš เจœเจผเจฎเฉ€เจจ เจนเฉˆเฅค เจ‡เจน เจ“เจชเจจ เจกเจฐเฉ‡เจจ เจ†เจ‰เจŸเจชเฉเฉฑเจŸ เจฎเฉ‹เจก เจจเจพเจฒ เจšเฉฐเจ—เฉ€ เจคเจฐเฉเจนเจพเจ‚ เจœเฉ‹เฉœเจฆเจพ เจนเฉˆ, เจชเจฐ เจ‡เจน เจ‡เจ• เจนเฉ‹เจฐ เจ•เจนเจพเจฃเฉ€ เจนเฉˆเฅค

เจนเจฐ เจšเฉ€เจœเจผ เจฆเฉ€ เจคเจฐเฉเจนเจพเจ‚, STM32 'เจคเฉ‡ SPI เจ•เจพเจฐเจœเจธเจผเฉ€เจฒเจคเจพ เจตเจฟเฉฑเจš เจ…เจฎเฉ€เจฐ เจนเฉˆ, เจœเฉ‹ เจ‡เจธเจจเฉ‚เฉฐ เจธเจฎเจเจฃเจพ เจ•เฉเจ เจฎเฉเจธเจผเจ•เจฒ เจฌเจฃเจพเจ‰เจ‚เจฆเจพ เจนเฉˆเฅค เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจ‡เจน เจจเจพ เจธเจฟเจฐเจซเจผ SPI เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆ, เจธเจ—เฉ‹เจ‚ เจ‡เฉฑเจ• I2S เจ‡เฉฐเจŸเจฐเจซเฉ‡เจธ เจจเจพเจฒ เจตเฉ€ เจ•เฉฐเจฎ เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจฆเจธเจคเจพเจตเฉ‡เจœเจผเจพเจ‚ เจตเจฟเฉฑเจš เจ‰เจนเจจเจพเจ‚ เจฆเฉ‡ เจตเจฐเจฃเจจ เจจเฉ‚เฉฐ เจฎเจฟเจฒเจพเจ‡เจ† เจ—เจฟเจ† เจนเฉˆ, เจธเจฎเฉ‡เจ‚ เจธเจฟเจฐ เจตเจพเจงเฉ‚ เจจเฉ‚เฉฐ เจ•เฉฑเจŸเจฃเจพ เจœเจผเจฐเฉ‚เจฐเฉ€ เจนเฉˆ. เจธเจพเจกเจพ เจ•เฉฐเจฎ เจฌเจนเฉเจค เจนเฉ€ เจธเจงเจพเจฐเจจ เจนเฉˆ: เจธเจพเจจเฉ‚เฉฐ เจธเจฟเจฐเจซเจผ MOSI เจ…เจคเฉ‡ SCK เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจกเจพเจŸเจพ เจญเฉ‡เจœเจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆเฅค เจ…เจธเฉ€เจ‚ เจธเฉˆเจ•เจธเจผเจจ 25.3.4 (เจ…เฉฑเจงเจพ-เจกเฉเจชเจฒเฉˆเจ•เจธ เจธเฉฐเจšเจพเจฐ, เจ…เฉฑเจง-เจกเฉเจชเจฒเฉˆเจ•เจธ เจธเฉฐเจšเจพเจฐ) 'เจคเฉ‡ เจœเจพเจ‚เจฆเฉ‡ เจนเจพเจ‚, เจœเจฟเฉฑเจฅเฉ‡ เจ…เจธเฉ€เจ‚ เจฒเฉฑเจญเจฆเฉ‡ เจนเจพเจ‚ 1 เจ˜เฉœเฉ€ เจ…เจคเฉ‡ 1 เจฏเฉ‚เจจเฉ€เจกเจพเจ‡เจฐเฉˆเจ•เจธเจผเจจเจฒ เจกเจพเจŸเจพ เจตเจพเจ‡เจฐ (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)))

เจธเฉˆเจ•เจธเจผเจจ 25.3.3 เจจเฉ‚เฉฐ เจธเจตเฉˆ-เจตเจฟเจ†เจ–เจฟเจ†เจคเจฎเจ• เจธเจฟเจฐเจฒเฉ‡เจ– "เจฎเจพเจธเจŸเจฐ เจฎเฉ‹เจก เจตเจฟเฉฑเจš SPI เจฆเฉ€ เจธเฉฐเจฐเจšเจจเจพ" เจจเจพเจฒ เจ–เฉ‹เจฒเฉเจนเฉ‹:

เจกเจพเจŸเจพเจธเจผเฉ€เจŸเจพเจ‚ เจจเฉ‚เฉฐ เจชเฉœเฉเจนเจจเจพ 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 (SPI เจœเจจเจฐเจฒ เจตเจฐเจฃเจจ) 'เจคเฉ‡ CPOL เจ…เจคเฉ‡ CPHA เจฌเจฟเฉฑเจŸเจพเจ‚ เจฆเฉ‡ เจŸเฉˆเจ•เจธเจŸ เจตเจฐเจฃเจจ 'เจคเฉ‡ เจ‡เฉฑเจ• เจกเฉ‚เฉฐเจ˜เจพเจˆ เจจเจพเจฒ เจตเจฟเจšเจพเจฐ เจ•เจฐเฉ€เจ:

เจกเจพเจŸเจพเจธเจผเฉ€เจŸเจพเจ‚ เจจเฉ‚เฉฐ เจชเฉœเฉเจนเจจเจพ 2: STM32 'เจคเฉ‡ SPI; STM8 'เจคเฉ‡ PWM, เจŸเจพเจˆเจฎเจฐ เจ…เจคเฉ‡ เจฐเฉเจ•เจพเจตเจŸเจพเจ‚
เจ˜เฉœเฉ€ เจชเฉœเจพเจ… เจ…เจคเฉ‡ เจงเจฐเฉเจตเฉ€เจคเจพ
SPI_CR1 เจฐเจœเจฟเจธเจŸเจฐ เจฆเฉ‡ CPOL เจ…เจคเฉ‡ CPHA เจฌเจฟเฉฑเจŸเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ, เจคเฉเจธเฉ€เจ‚ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเฉ‡เจŸเจฟเจ• เจคเฉŒเจฐ 'เจคเฉ‡ เจšเจพเจฐ เจŸเจพเจˆเจฎเจฟเฉฐเจ— เจธเจฌเฉฐเจงเจพเจ‚ เจจเฉ‚เฉฐ เจšเฉเจฃ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค CPOL (เจ•เจฒเฉŒเจ• เจชเฉ‹เจฒเจฐเจฟเจŸเฉ€) เจฌเจฟเฉฑเจŸ เจ˜เฉœเฉ€ เจธเจฟเจ—เจจเจฒ เจฆเฉ€ เจธเจฅเจฟเจคเฉ€ เจจเฉ‚เฉฐ เจจเจฟเจฏเฉฐเจคเจฐเจฟเจค เจ•เจฐเจฆเจพ เจนเฉˆ เจœเจฆเฉ‹เจ‚ เจ•เฉ‹เจˆ เจกเจพเจŸเจพ เจชเฉเจฐเจธเจพเจฐเจฟเจค เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเจพ เจœเจพ เจฐเจฟเจนเจพ เจนเฉˆเฅค เจ‡เจน เจฌเจฟเฉฑเจŸ เจฎเจพเจธเจŸเจฐ เจ…เจคเฉ‡ เจธเจฒเฉ‡เจต เจฎเฉ‹เจก เจจเฉ‚เฉฐ เจ•เฉฐเจŸเจฐเฉ‹เจฒ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจœเฉ‡เจ•เจฐ CPOL เจฐเฉ€เจธเฉˆเฉฑเจŸ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจคเจพเจ‚ SCK เจชเจฟเฉฐเจจ เจฐเฉˆเจธเจŸ เจฎเฉ‹เจก เจตเจฟเฉฑเจš เจ˜เฉฑเจŸ เจนเฉˆเฅค เจœเฉ‡เจ•เจฐ CPOL เจฌเจฟเฉฑเจŸ เจธเฉˆเฉฑเจŸ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ, เจคเจพเจ‚ SCK เจชเจฟเฉฐเจจ เจฐเฉˆเจธเจŸ เจฎเฉ‹เจก เจฆเฉŒเจฐเจพเจจ เจ‰เฉฑเจšเจพ เจนเฉเฉฐเจฆเจพ เจนเฉˆเฅค
เจœเจฆเฉ‹เจ‚ CPHA (เจ˜เฉœเฉ€ เจฆเจพ เจชเฉœเจพเจ…) เจฌเจฟเฉฑเจŸ เจธเฉˆเฉฑเจŸ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจคเจพเจ‚ เจ‰เฉฑเจš เจฌเจฟเฉฑเจŸ เจŸเฉเจฐเฉˆเจช เจธเจŸเฉเจฐเฉ‹เจฌ SCK เจธเจฟเจ—เจจเจฒ เจฆเจพ เจฆเฉ‚เจœเจพ เจ•เจฟเจจเจพเจฐเจพ เจนเฉเฉฐเจฆเจพ เจนเฉˆ (เจกเจฟเจ—เจฃเจพ เจœเฉ‡เจ•เจฐ CPOL เจธเจชเจธเจผเจŸ เจนเฉˆ, เจตเจงเจฃเจพ เจœเฉ‡เจ•เจฐ CPOL เจธเฉˆเฉฑเจŸ เจนเฉˆ)เฅค เจ˜เฉœเฉ€ เจธเจฟเจ—เจจเจฒ เจตเจฟเฉฑเจš เจฆเฉ‚เจœเฉ€ เจคเจฌเจฆเฉ€เจฒเฉ€ เจฆเฉเจ†เจฐเจพ เจกเฉ‡เจŸเจพ เจจเฉ‚เฉฐ เจ•เฉˆเจชเจšเจฐ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค เจœเฉ‡เจ•เจฐ CPHA เจฌเจฟเฉฑเจŸ เจธเจพเจซเจผ เจนเฉˆ, เจคเจพเจ‚ เจนเจพเจˆ เจฌเจฟเจŸ เจŸเฉเจฐเฉˆเจช เจธเจŸเฉเจฐเฉ‹เจฌ SCK เจธเจฟเจ—เจจเจฒ เจฆเจพ เจตเจงเจฆเจพ เจ•เจฟเจจเจพเจฐเจพ เจนเฉˆ (เจกเจฟเจ—เจฆเจพ เจ•เจฟเจจเจพเจฐเจพ เจœเฉ‡เจ•เจฐ CPOL เจธเฉˆเฉฑเจŸ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ, เจœเฉ‡เจ•เจฐ CPOL เจธเจพเจซเจผ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ เจคเจพเจ‚ เจตเจงเจฆเจพ เจ•เจฟเจจเจพเจฐเจพ)เฅค เจ˜เฉœเฉ€ เจธเจฟเจ—เจจเจฒ เจตเจฟเฉฑเจš เจชเจนเจฟเจฒเฉ€ เจคเจฌเจฆเฉ€เจฒเฉ€ 'เจคเฉ‡ เจกเจพเจŸเจพ เจ•เฉˆเจชเจšเจฐ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค

เจ‡เจธ เจ—เจฟเจ†เจจ เจจเฉ‚เฉฐ เจœเจœเจผเจฌ เจ•เจฐเจจ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจ…เจธเฉ€เจ‚ เจ‡เจธ เจธเจฟเฉฑเจŸเฉ‡ 'เจคเฉ‡ เจชเจนเฉเฉฐเจšเจฆเฉ‡ เจนเจพเจ‚ เจ•เจฟ เจฆเฉ‹เจตเฉ‡เจ‚ เจฌเจฟเฉฑเจŸ เจœเจผเฉ€เจฐเฉ‹ เจนเฉ€ เจฐเจนเจฟเจฃเฉ‡ เจšเจพเจนเฉ€เจฆเฉ‡ เจนเจจ, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ…เจธเฉ€เจ‚ เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจนเจพเจ‚ เจ•เจฟ เจตเจฐเจคเฉ‹เจ‚ เจตเจฟเฉฑเจš เจจเจพ เจนเฉ‹เจฃ 'เจคเฉ‡ SCK เจธเจฟเจ—เจจเจฒ เจ˜เฉฑเจŸ เจฐเจนเฉ‡, เจ…เจคเฉ‡ เจจเจฌเจœเจผ เจฆเฉ‡ เจตเจงเจฆเฉ‡ เจ•เจฟเจจเจพเจฐเฉ‡ 'เจคเฉ‡ เจกเฉ‡เจŸเจพ เจจเฉ‚เฉฐ เจชเฉเจฐเจธเจพเจฐเจฟเจค เจ•เฉ€เจคเจพ เจœเจพเจตเฉ‡ (เจšเจฟเฉฑเจคเจฐ XNUMX เจฆเฉ‡เจ–เฉ‹เฅค เจฐเจพเจˆเจœเจผเจฟเฉฐเจ— เจเจœ DM634 เจกเฉ‡เจŸเจพเจธเจผเฉ€เจŸ เจตเจฟเฉฑเจš)เฅค

เจตเฉˆเจธเฉ‡, เจ‡เฉฑเจฅเฉ‡ เจ…เจธเฉ€เจ‚ เจชเจนเจฟเจฒเฉ€ เจตเจพเจฐ ST เจกเฉ‡เจŸเจพเจธเจผเฉ€เจŸเจพเจ‚ เจตเจฟเฉฑเจš เจธเจผเจฌเจฆเจพเจตเจฒเฉ€ เจฆเฉ€ เจ‡เฉฑเจ• เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพ เจฆเจพ เจธเจพเจนเจฎเจฃเจพ เจ•เฉ€เจคเจพ: เจ‰เจนเจจเจพเจ‚ เจตเจฟเฉฑเจš "เจฌเจฟเฉฑเจŸ เจจเฉ‚เฉฐ เจœเจผเฉ€เจฐเฉ‹ เจคเฉ‡ เจฐเฉ€เจธเฉˆเจŸ เจ•เจฐเฉ‹" เจตเจพเจ•เฉฐเจธเจผ เจฒเจฟเจ–เจฟเจ† เจ—เจฟเจ† เจนเฉˆเฅค เจฅเฉ‹เฉœเจพ เจฐเฉ€เจธเฉˆเจŸ เจ•เจฐเจจ เจฒเจˆเจ…เจคเฉ‡ เจจเจนเฉ€เจ‚ เจฅเฉ‹เฉœเจพ เจธเจพเจซ เจ•เจฐเจจ เจฒเจˆ, เจœเจฟเจตเฉ‡เจ‚, เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, Atmega.

3. เจ‡เจน เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจจ เจฒเจˆ DFF เจฌเจฟเฉฑเจŸ เจธเฉˆเฉฑเจŸ เจ•เจฐเฉ‹ เจ•เจฟ เจกเฉ‡เจŸเจพ เจฌเจฒเจพเจ• 8-เจฌเจฟเฉฑเจŸ เจœเจพเจ‚ 16-เจฌเจฟเฉฑเจŸ เจซเจพเจฐเจฎเฉˆเจŸ เจนเฉˆ

เจฎเฉˆเจ‚ เจตเจฟเจธเจผเฉ‡เจธเจผ เจคเฉŒเจฐ 'เจคเฉ‡ เจ‡เฉฑเจ• 16-เจฌเจฟเฉฑเจŸ DM634 เจฒเจฟเจ† เจคเจพเจ‚ เจœเฉ‹ DM12 เจตเจพเจ‚เจ— 633-เจฌเจฟเฉฑเจŸ PWM เจกเฉ‡เจŸเจพ เจจเฉ‚เฉฐ เจธเฉฐเจšเจพเจฐเจฟเจค เจ•เจฐเจจ เจตเจฟเฉฑเจš เจชเจฐเฉ‡เจธเจผเจพเจจ เจจเจพ เจนเฉ‹เจตเฉ‡เฅค DFF เจจเฉ‚เฉฐ เจ‡เฉฑเจ• 'เจคเฉ‡ เจธเฉˆเฉฑเจŸ เจ•เจฐเจจเจพ เจธเจฎเจเจฆเจพเจฐ เจนเฉˆ:

#define DFF         0x0800

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

4. เจฌเจฒเจพเจ• เจซเจพเจฐเจฎเฉˆเจŸ เจจเฉ‚เฉฐ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจจ เจฒเจˆ SPI_CR1 เจฐเจœเจฟเจธเจŸเจฐ เจตเจฟเฉฑเจš LSBFIRST เจฌเจฟเฉฑเจŸ เจจเฉ‚เฉฐ เจ•เฉŒเจ‚เจซเจฟเจ—เจฐ เจ•เจฐเฉ‹

LSBFIRST, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ‡เจธเจฆเจพ เจจเจพเจฎ เจฆเจฐเจธเจพเจ‰เจ‚เจฆเจพ เจนเฉˆ, เจธเจญ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจ˜เฉฑเจŸ เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจฌเจฟเฉฑเจŸ เจจเจพเจฒ เจŸเฉเจฐเจพเจ‚เจธเจฎเจฟเจธเจผเจจ เจจเฉ‚เฉฐ เจ•เฉŒเจ‚เจซเจฟเจ—เจฐ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจชเจฐ DM634 เจธเจญ เจคเฉ‹เจ‚ เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจฌเจฟเฉฑเจŸ เจคเฉ‹เจ‚ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ เจกเฉ‡เจŸเจพ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจเจพ เจšเจพเจนเฉเฉฐเจฆเจพ เจนเฉˆเฅค เจ‡เจธ เจฒเจˆ, เจ…เจธเฉ€เจ‚ เจ‡เจธเจจเฉ‚เฉฐ เจฐเฉ€เจธเฉˆเจŸ เจ›เฉฑเจก เจฆเจฟเฉฐเจฆเฉ‡ เจนเจพเจ‚.

5. เจนเจพเจฐเจกเจตเฉ‡เจ…เจฐ เจฎเฉ‹เจก เจตเจฟเฉฑเจš, เจœเฉ‡เจ•เจฐ NSS เจชเจฟเฉฐเจจ เจคเฉ‹เจ‚ เจ‡เจจเจชเฉเจŸ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ, เจคเจพเจ‚ เจชเฉ‚เจฐเฉ‡ เจฌเจพเจˆเจŸ เจŸเฉเจฐเจพเจ‚เจธเจซเจฐ เจ•เฉเจฐเจฎ เจฆเฉŒเจฐเจพเจจ NSS เจชเจฟเฉฐเจจ 'เจคเฉ‡ เจ‰เฉฑเจš เจธเจฟเจ—เจจเจฒ เจฒเจพเจ—เฉ‚ เจ•เจฐเฉ‹เฅค 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 เจฌเจฟเฉฑเจŸ เจธเฉˆเฉฑเจŸ เจ•เฉ€เจคเฉ‡ เจœเจพเจฃเฉ‡ เจšเจพเจนเฉ€เจฆเฉ‡ เจนเจจ (เจ‰เจน เจธเจฟเจฐเจซเจผ เจ‰เจฆเฉ‹เจ‚ เจนเฉ€ เจธเฉˆเฉฑเจŸ เจฐเจนเจฟเฉฐเจฆเฉ‡ เจนเจจ เจœเฉ‡เจ•เจฐ NSS เจธเจฟเจ—เจจเจฒ เจ‰เฉฑเจšเจพ เจนเฉ‹เจตเฉ‡)

เจ…เจธเจฒ เจตเจฟเฉฑเจš, เจ‡เจนเจจเจพเจ‚ เจฌเจฟเฉฑเจŸเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ เจ…เจธเฉ€เจ‚ เจ†เจชเจฃเฉ‡ SPI เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจฎเจพเจธเจŸเจฐ เจตเจœเฉ‹เจ‚ เจฎเจจเฉ‹เจจเฉ€เจค เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚ เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ เจšเจพเจฒเฉ‚ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚:

#define MSTR        0x0004
#define SPE         0x0040

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

SPI เจ•เฉŒเจ‚เจซเจฟเจ—เจฐ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ, เจ†เจ“ เจคเฉเจฐเฉฐเจค เจซเฉฐเจ•เจธเจผเจจ เจฒเจฟเจ–เฉ€เจ เจœเฉ‹ เจกเจฐเจพเจˆเจตเจฐ เจจเฉ‚เฉฐ เจฌเจพเจˆเจŸ เจญเฉ‡เจœเจฆเฉ‡ เจนเจจเฅค 25.3.3 เจจเฉ‚เฉฐ เจชเฉœเฉเจนเจจเจพ เจœเจพเจฐเฉ€ เจฐเฉฑเจ–เฉ‹ โ€œเจฎเจพเจธเจŸเจฐ เจฎเฉ‹เจก เจตเจฟเฉฑเจš SPI เจจเฉ‚เฉฐ เจ•เฉŒเจ‚เจซเจฟเจ—เจฐ เจ•เจฐเจจเจพโ€:

เจกเจพเจŸเจพเจธเจผเฉ€เจŸเจพเจ‚ เจจเฉ‚เฉฐ เจชเฉœเฉเจนเจจเจพ 2: STM32 'เจคเฉ‡ SPI; STM8 'เจคเฉ‡ PWM, เจŸเจพเจˆเจฎเจฐ เจ…เจคเฉ‡ เจฐเฉเจ•เจพเจตเจŸเจพเจ‚
เจกเจพเจŸเจพ เจŸเฉเจฐเจพเจ‚เจธเจซเจฐ เจ†เจฐเจกเจฐ
เจŸเฉเจฐเจพเจ‚เจธเจฎเจฟเจธเจผเจจ เจ‰เจฆเฉ‹เจ‚ เจธเจผเฉเจฐเฉ‚ เจนเฉเฉฐเจฆเจพ เจนเฉˆ เจœเจฆเฉ‹เจ‚ เจ‡เฉฑเจ• เจฌเจพเจˆเจŸ เจจเฉ‚เฉฐ Tx เจฌเจซเจฐ เจตเจฟเฉฑเจš เจฒเจฟเจ–เจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค
เจกเฉ‡เจŸเจพ เจฌเจพเจˆเจŸ เจจเฉ‚เฉฐ เจธเจผเจฟเจซเจŸ เจฐเจœเจฟเจธเจŸเจฐ เจตเจฟเฉฑเจš เจฒเฉ‹เจก เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ เจธเจฎเจพเจจเจพเจ‚เจคเจฐ เจฎเฉ‹เจก (เจ…เฉฐเจฆเจฐเฉ‚เจจเฉ€ เจฌเฉฑเจธ เจคเฉ‹เจ‚) เจชเจนเจฟเจฒเฉ‡ เจฌเจฟเฉฑเจŸ เจฆเฉ‡ เจชเฉเจฐเจธเจพเจฐเจฃ เจฆเฉ‡ เจฆเฉŒเจฐเจพเจจ, เจœเจฟเจธ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจ‡เจธเจจเฉ‚เฉฐ เจชเฉเจฐเจธเจพเจฐเจฟเจค เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ เจ•เฉเจฐเจฎเจตเจพเจฐ MOSI เจชเจฟเฉฐเจจ เจฎเฉ‹เจก, CPI_CR1 เจฐเจœเจฟเจธเจŸเจฐ เจตเจฟเฉฑเจš LSBFIRST เจฌเจฟเฉฑเจŸ เจฆเฉ€ เจธเฉˆเจŸเจฟเฉฐเจ— เจฆเฉ‡ เจ†เจงเจพเจฐ 'เจคเฉ‡ เจชเจนเจฟเจฒเจพเจ‚ เจœเจพเจ‚ เจ†เจ–เจฐเฉ€ เจฌเจฟเฉฑเจŸ เจ…เฉฑเจ—เฉ‡เฅค TXE เจซเจฒเฉˆเจ— เจกเจพเจŸเจพ เจธเฉฐเจšเจพเจฐ เจฆเฉ‡ เจฌเจพเจ…เจฆ เจธเฉˆเฉฑเจŸ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ Tx เจฌเจซเจฐ เจคเฉ‹เจ‚ เจธเจผเจฟเจซเจŸ เจฐเจœเจฟเจธเจŸเจฐ เจคเฉฑเจ•, เจ…เจคเฉ‡ เจ‡เจน เจตเฉ€ เจ‡เฉฑเจ• เจฐเฉเจ•เจพเจตเจŸ เจชเฉˆเจฆเจพ เจ•เจฐเจฆเจพ เจนเฉˆ เจœเฉ‡เจ•เจฐ CPI_CR1 เจฐเจœเจฟเจธเจŸเจฐ เจตเจฟเฉฑเจš TXEIE เจฌเจฟเฉฑเจŸ เจธเฉˆเฉฑเจŸ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค

เจฎเฉˆเจ‚ STM เจ•เฉฐเจŸเจฐเฉ‹เจฒเจฐเจพเจ‚ เจตเจฟเฉฑเจš SPI เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฆเฉ€ เจ‡เฉฑเจ• เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพ เจตเฉฑเจฒ เจงเจฟเจ†เจจ เจ–เจฟเฉฑเจšเจฃ เจฒเจˆ เจ…เจจเฉเจตเจพเจฆ เจตเจฟเฉฑเจš เจ•เฉเจ เจธเจผเจฌเจฆเจพเจ‚ เจจเฉ‚เฉฐ เจ‰เจœเจพเจ—เจฐ เจ•เฉ€เจคเจพ เจนเฉˆเฅค เจเจŸเจฎเฉ‡เจ—เจพ 'เจคเฉ‡ 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 เจตเจฟเฉฑเจš, เจชเจฟเฉฐเจจเจพเจ‚ เจฆเฉ€ เจธเจฅเจฟเจคเฉ€ เจฒเจˆ เจœเจผเจฟเฉฐเจฎเฉ‡เจตเจพเจฐ เจฐเจœเจฟเจธเจŸเจฐ เจ•เจพเจซเจผเฉ€ เจ…เจธเจพเจงเจพเจฐเจจ เจนเจจเฅค เจ‡เจน เจธเจชเฉฑเจธเจผเจŸ เจนเฉˆ เจ•เจฟ เจเจŸเจฎเฉ‡เจ—เจพ เจจเจพเจฒเฉ‹เจ‚ เจ‰เจจเฉเจนเจพเจ‚ เจตเจฟเฉฑเจš เจนเฉ‹เจฐ เจตเฉ€ เจนเจจ, เจชเจฐ เจ‰เจน เจนเฉ‹เจฐ เจเจธเจŸเฉ€เจเจฎ เจšเจฟเจชเจธ เจคเฉ‹เจ‚ เจตเฉ€ เจตเฉฑเจ–เจฐเฉ‡ เจนเจจเฅค เจธเฉˆเจ•เจธเจผเจจ 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) เจ…เจคเฉ‡ a-XNUMXBR เจฌเจฟเฉฑเจŸ เจฌเจฒเจพเจ•เจฟเฉฐเจ— เจฐเจœเจฟเจธเจŸเจฐ (GPIOx_LCKR)เฅค

เจชเจนเจฟเจฒเฉ‡ เจฆเฉ‹ เจฐเจœเจฟเจธเจŸเจฐ เจ…เจธเจพเจงเจพเจฐเจจ เจนเจจ, เจ…เจคเฉ‡ เจ•เจพเจซเจผเฉ€ เจ…เจธเฉเจตเจฟเจงเจพเจœเจจเจ• เจตเฉ€ เจนเจจ, เจ•เจฟเจ‰เจ‚เจ•เจฟ 16 เจชเฉ‹เจฐเจŸ เจชเจฟเฉฐเจจ เจ‰เจนเจจเจพเจ‚ เจตเจฟเฉฑเจš "เจšเจพเจฐ เจฌเจฟเฉฑเจŸ เจชเฉเจฐเจคเฉ€ เจญเจฐเจพ" เจซเจพเจฐเจฎเฉˆเจŸ เจตเจฟเฉฑเจš เจ–เจฟเฉฐเจกเฉ‡ เจนเฉ‹เจ เจนเจจเฅค เจ‰เจน. เจชเจฟเฉฐเจจ เจœเจผเฉ€เจฐเฉ‹ เจคเฉ‹เจ‚ เจธเฉฑเจค 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), เจ‡เจน เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจฎเฉ‹เจก เจตเจฟเฉฑเจš เจธเฉˆเฉฑเจŸ เจ•เจฐเจฆเจพ เจนเฉˆ เจซเจฒเฉ‹เจŸเจฟเฉฐเจ— เจ‡เฉฐเจชเฉเฉฑเจŸ.

เจ•เจฟเจ‰เจ‚เจ•เจฟ เจฎเฉˆเจ‚ เจ‡เจธ เจšเจฟเฉฑเจช เจจเจพเจฒ เจ•เฉเจ เจนเฉ‹เจฐ เจ•เจฐเจจ เจฆเฉ€ เจฏเฉ‹เจœเจจเจพ เจฌเจฃเจพ เจฐเจฟเจนเจพ เจนเจพเจ‚, เจธเจพเจฆเจ—เฉ€ เจฒเจˆ เจฎเฉˆเจ‚ เจนเฉ‡เจ เจฒเฉ‡ เจ…เจคเฉ‡ เจ‰เฉฑเจชเจฐเจฒเฉ‡ เจ•เฉฐเจŸเจฐเฉ‹เจฒ เจฐเจœเจฟเจธเจŸเจฐเจพเจ‚ เจฆเฉ‹เจตเจพเจ‚ เจฒเจˆ เจธเจพเจฐเฉ‡ เจธเฉฐเจญเจต เจฎเฉ‹เจก เจ…เจคเฉ‡ 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

เจธเจพเจกเฉ‡ เจชเจฟเฉฐเจจ เจชเฉ‹เจฐเจŸ เจฌเฉ€ (เจฌเฉ‡เจธ เจเจกเจฐเฉˆเฉฑเจธ - 0x40010C00), เจ•เฉ‹เจก 'เจคเฉ‡ เจธเจฅเจฟเจค เจนเจจ:

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

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

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

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

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

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

เจ…เจคเฉ‡, เจ‡เจธเจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐ, เจคเฉเจธเฉ€เจ‚ LAT เจฒเจˆ เจชเจฐเจฟเจญเจพเจธเจผเจพเจตเจพเจ‚ เจฒเจฟเจ– เจธเจ•เจฆเฉ‡ เจนเฉ‹, เจœเฉ‹ เจ•เจฟ BRR เจ…เจคเฉ‡ BSRR เจฐเจœเจฟเจธเจŸเจฐเจพเจ‚ เจฆเฉเจ†เจฐเจพ เจฎเจฐเฉ‹เฉœเจฟเจ† เจœเจพเจตเฉ‡เจ—เจพ:

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

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

(LAT_low เจธเจฟเจฐเจซเจผ เจœเฉœเจคเจพ เจฆเฉเจ†เจฐเจพ, เจ‡เจน เจนเจฎเฉ‡เจธเจผเจพเจ‚ เจ…เจœเจฟเจนเจพ เจนเฉเฉฐเจฆเจพ เจนเฉˆ, เจ‡เจธเจจเฉ‚เฉฐ เจฐเจนเจฟเจฃ เจฆเจฟเจ“)

เจนเฉเจฃ เจธเจญ เจ•เฉเจ เจตเจงเฉ€เจ† เจนเฉˆ, เจชเจฐ เจ‡เจน เจ•เฉฐเจฎ เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเจพ. เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ‡เจน STM32 เจนเฉˆ, เจ‡เจน เจฌเจฟเจœเจฒเฉ€ เจฆเฉ€ เจฌเจšเจค เจ•เจฐเจฆเฉ‡ เจนเจจ, เจœเจฟเจธเจฆเจพ เจฎเจคเจฒเจฌ เจนเฉˆ เจ•เจฟ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ‡ เจชเฉˆเจฐเฉ€เจซเจฟเจฐเจฒเจพเจ‚ เจฆเฉ€ เจ˜เฉœเฉ€ เจจเฉ‚เฉฐ เจธเจฎเจฐเฉฑเจฅ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆเฅค

เจ˜เฉœเฉ€ เจšเจพเจฒเฉ‚ เจ•เจฐเฉ‹

เจ˜เฉœเฉ€, เจœเจฟเจธ เจจเฉ‚เฉฐ เจ˜เฉœเฉ€ เจตเฉ€ เจ•เจฟเจนเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจ˜เฉœเฉ€ เจฒเจˆ เจœเจผเจฟเฉฐเจฎเฉ‡เจตเจพเจฐ เจนเฉˆเฅค เจ…เจคเฉ‡ เจ…เจธเฉ€เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจธเฉฐเจ–เฉ‡เจช RCC เจจเฉ‚เฉฐ เจจเฉ‹เจŸ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเจพเจ‚เฅค เจ…เจธเฉ€เจ‚ เจ‡เจธเจจเฉ‚เฉฐ เจฆเจธเจคเจพเจตเฉ‡เจœเจผเจพเจ‚ เจตเจฟเฉฑเจš เจฒเฉฑเจญเจฆเฉ‡ เจนเจพเจ‚: เจ‡เจน เจฐเฉ€เจธเฉˆเจŸ เจ…เจคเฉ‡ เจ˜เฉœเฉ€ เจจเจฟเจฏเฉฐเจคเจฐเจฃ เจนเฉˆเฅค

เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ‰เฉฑเจชเจฐ เจ•เจฟเจนเจพ เจ—เจฟเจ† เจธเฉ€, เจ–เฉเจธเจผเจ•เจฟเจธเจฎเจคเฉ€ เจจเจพเจฒ, เจ˜เฉœเฉ€ เจฆเฉ‡ เจตเจฟเจธเจผเฉ‡ เจฆเจพ เจธเจญ เจคเฉ‹เจ‚ เจฎเฉเจธเจผเจ•เจฒ เจนเจฟเฉฑเจธเจพ เจธเจพเจกเฉ‡ เจฒเจˆ STM เจฆเฉ‡ เจฒเฉ‹เจ•เจพเจ‚ เจฆเฉเจ†เจฐเจพ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€, เจœเจฟเจธ เจฒเจˆ เจ…เจธเฉ€เจ‚ เจ‰เจนเจจเจพเจ‚ เจฆเจพ เจฌเจนเฉเจค เจงเฉฐเจจเจตเจพเจฆ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚ (เจ‡เฉฑเจ• เจตเจพเจฐ เจซเจฟเจฐ เจฎเฉˆเจ‚ เจ‡เฉฑเจ• เจฒเจฟเฉฐเจ• เจฆเฉ‡เจตเจพเจ‚เจ—เจพ Di Halt เจฆเฉ€ เจตเฉˆเฉฑเจฌเจธเจพเจˆเจŸ, เจ‡เจน เจธเจชเฉฑเจธเจผเจŸ เจ•เจฐเจจ เจฒเจˆ เจ•เจฟ เจ‡เจน เจ•เจฟเฉฐเจจเจพ เจ‰เจฒเจเจฃ เจตเจพเจฒเจพ เจนเฉˆ)เฅค เจธเจพเจจเฉ‚เฉฐ เจธเจฟเจฐเจซเจผ เจชเฉˆเจฐเฉ€เจซเจฟเจฐเจฒ เจ•เจฒเจพเจ•เจฟเฉฐเจ— (เจชเฉˆเจฐเฉ€เจซเจฟเจฐเจฒ เจ•เจฒเจพเจ• เจ‡เจจเฉ‡เจฌเจฒ เจฐเจœเจฟเจธเจŸเจฐเจพเจ‚) เจจเฉ‚เฉฐ เจธเจฎเจฐเฉฑเจฅ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจœเจผเจฟเฉฐเจฎเฉ‡เจตเจพเจฐ เจฐเจœเจฟเจธเจŸเจฐเจพเจ‚ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆเฅค เจชเจนเจฟเจฒเจพเจ‚, เจ†เจ“ 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, เจชเจนเจฟเจฒเฉ‡ เจตเจฟเฉฑเจš เจชเจฟเจจเจ†เจ‰เจŸ เจ…เจคเฉ‡ เจฐเจœเจฟเจธเจŸเจฐ เจชเจคเฉ‡ เจนเจจ, เจฆเฉ‚เจœเฉ‡ เจตเจฟเฉฑเจš - เจนเฉ‹เจฐ เจธเจญ เจ•เฉเจเฅค STM8 เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจญเจฟเจ†เจจเจ• IDE เจตเจฟเฉฑเจš C เจตเจฟเฉฑเจš เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ 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 เจจเฉ‚เฉฐ เจšเจฒเจพเจ‰เจฃ เจœเจพ เจฐเจนเฉ‡ เจนเจพเจ‚ เจ…เจคเฉ‡ LEDs เจจเฉ‚เฉฐ เจœเฉ‹เฉœเจจ เจœเจพ เจฐเจนเฉ‡ เจนเจพเจ‚, เจ†เจ“ เจชเจฟเจจเจ†เจ‰เจŸ เจจเฉ‚เฉฐ เจตเฉ‡เจ–เฉ€เจ:

เจกเจพเจŸเจพเจธเจผเฉ€เจŸเจพเจ‚ เจจเฉ‚เฉฐ เจชเฉœเฉเจนเจจเจพ 2: STM32 'เจคเฉ‡ SPI; STM8 'เจคเฉ‡ PWM, เจŸเจพเจˆเจฎเจฐ เจ…เจคเฉ‡ เจฐเฉเจ•เจพเจตเจŸเจพเจ‚

เจšเจฟเฉฑเจช เจ›เฉ‹เจŸเฉ€ เจนเฉˆ, เจฌเจนเฉเจค เจธเจพเจฐเฉ‡ เจซเฉฐเจ•เจธเจผเจจ เจ‡เฉฑเจ•เฉ‹ เจชเจฟเฉฐเจจ 'เจคเฉ‡ เจฎเฉเจ…เฉฑเจคเจฒ เจ•เฉ€เจคเฉ‡ เจ—เจ เจนเจจ. เจตเจฐเจ— เจฌเจฐเฉˆเจ•เจŸเจพเจ‚ เจตเจฟเฉฑเจš เจœเฉ‹ เจนเฉˆ เจ‰เจน "เจตเจฟเจ•เจฒเจชเจ• เจ•เจพเจฐเจœเจธเจผเฉ€เจฒเจคเจพ" เจนเฉˆ, เจ‡เจธเจจเฉ‚เฉฐ "เจตเจฟเจ•เจฒเจช เจฌเจพเจˆเจŸเจธ" เจฆเฉเจ†เจฐเจพ เจฌเจฆเจฒเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ (เจตเจฟเจ•เจฒเจช เจฌเจพเจˆเจŸ) - เจเจŸเจฎเฉ‡เจ—เจพ เจซเจฟเจŠเจœเจผ เจตเจฐเจ—เฉ€ เจ•เฉ‹เจˆ เจšเฉ€เจœเจผเฅค เจคเฉเจธเฉ€เจ‚ เจ‰เจนเจจเจพเจ‚ เจฆเฉ‡ เจฎเฉเฉฑเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจฆเฉ‡ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจฌเจฆเจฒ เจธเจ•เจฆเฉ‡ เจนเฉ‹, เจชเจฐ เจ‡เจน เจœเจผเจฐเฉ‚เจฐเฉ€ เจจเจนเฉ€เจ‚ เจนเฉˆ, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจจเจตเฉ€เจ‚ เจ•เจพเจฐเจœเจ•เฉเจธเจผเจฒเจคเจพ เจฐเฉ€เจฌเฉ‚เจŸ เจ•เจฐเจจ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจนเฉ€ เจ•เจฟเจฐเจฟเจ†เจธเจผเฉ€เจฒ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆเฅค ST เจตเจฟเจœเจผเฉ‚เจ…เจฒ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจฐ (เจตเจฟเจœเจผเฉ‚เจ…เจฒ เจกเจฟเจตเฉˆเจฒเจช เจจเจพเจฒ เจกเจพเจŠเจจเจฒเฉ‹เจก เจ•เฉ€เจคเจพ เจ—เจฟเจ†) เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจเจพ เจ†เจธเจพเจจ เจนเฉˆ, เจœเฉ‹ เจ‡เจนเจจเจพเจ‚ เจฌเจพเจˆเจŸเจพเจ‚ เจจเฉ‚เฉฐ เจฌเจฆเจฒ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจชเจฟเจจเจ†เจ‰เจŸ เจฆเจฟเจ–เจพเจ‰เจ‚เจฆเจพ เจนเฉˆ เจ•เจฟ เจชเจนเจฟเจฒเฉ‡ เจŸเจพเจˆเจฎเจฐ เจฆเฉ‡ CH1 เจ…เจคเฉ‡ CH2 เจชเจฟเฉฐเจจ เจตเจฐเจ— เจฌเจฐเฉˆเจ•เจŸเจพเจ‚ เจตเจฟเฉฑเจš เจฒเฉเจ•เฉ‡ เจนเฉ‹เจ เจนเจจ; STVP เจตเจฟเฉฑเจš AFR1 เจ…เจคเฉ‡ AFR0 เจฌเจฟเฉฑเจŸเจพเจ‚ เจจเฉ‚เฉฐ เจธเฉˆเฉฑเจŸ เจ•เจฐเจจเจพ เจœเจผเจฐเฉ‚เจฐเฉ€ เจนเฉˆ, เจ…เจคเฉ‡ เจฆเฉ‚เจœเจพ เจ‡เฉฑเจ• เจฆเฉ‚เจœเฉ‡ เจŸเจพเจˆเจฎเจฐ เจฆเฉ‡ CH1 เจ†เจ‰เจŸเจชเฉเฉฑเจŸ เจจเฉ‚เฉฐ PD4 เจคเฉ‹เจ‚ PC5 เจตเจฟเฉฑเจš เจŸเฉเจฐเจพเจ‚เจธเจซเจฐ เจ•เจฐเฉ‡เจ—เจพเฅค

เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚, 6 เจชเจฟเฉฐเจจ LEDs เจจเฉ‚เฉฐ เจจเจฟเจฏเฉฐเจคเจฐเจฟเจค เจ•เจฐเจจเจ—เฉ‡: เจชเจนเจฟเจฒเฉ‡ เจŸเจพเจˆเจฎเจฐ เจฒเจˆ 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 เจšเฉฑเจ•เจฐ เจŸเฉเฉฑเจŸ เจœเจพเจตเฉ‡เจ—เจพเฅค เจ‡เจธ เจฒเจˆ, เจจเจตเฉ‡เจ‚ เจชเฉเจฐเจธเจพเจฐเจฟเจค เจฎเฉเฉฑเจฒ เจ‡เฉฑเจ• เจฌเจซเจฐ เจตเจฟเฉฑเจš เจฐเฉฑเจ–เฉ‡ เจœเจพเจ‚เจฆเฉ‡ เจนเจจ เจ…เจคเฉ‡ เจœเจฆเฉ‹เจ‚ เจŸเจพเจˆเจฎเจฐ เจ‡เจธเจฆเฉ‡ เจ•เจพเจŠเจ‚เจŸเจกเจพเจŠเจจ เจฆเฉ‡ เจ…เฉฐเจค เจคเฉฑเจ• เจชเจนเฉเฉฐเจšเจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจฐเฉ€เจธเฉˆเจŸ เจนเฉเฉฐเจฆเจพ เจนเฉˆ เจคเจพเจ‚ เจฌเจพเจนเจฐ เจ•เฉฑเจขเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ;
  • เจ•เจฟเจจเจพเจฐเฉ‡-เจธเฉฐเจ—เจ เจฟเจค ะธ เจ•เฉ‡เจ‚เจฆเจฐ-เจ…เจฒเจพเจˆเจจ เจฎเฉ‹เจก - เจธเจฐเจนเฉฑเจฆ เจฆเฉ‡ เจจเจพเจฒ เจ…เจคเฉ‡ เจ•เฉ‡เจ‚เจฆเจฐ เจตเจฟเฉฑเจš เจ…เจฒเจพเจˆเจจเจฎเฉˆเจ‚เจŸ, เจเจŸเจฎเฉ‡เจฒ เจฆเฉ‡ เจธเจฎเจพเจจ เจคเฉ‡เจœเจผ เจชเฉ€.เจกเจฌเจฒเจฏเฉ‚.เจเฉฑเจฎ ะธ เจชเฉœเจพเจ…-เจธเจนเฉ€ PWM.
  • OCiREF, เจ†เจ‰เจŸเจชเฉเฉฑเจŸ เจธเฉฐเจฆเจฐเจญ เจธเฉฐเจ•เฉ‡เจค เจฆเฉ€ เจคเฉเจฒเจจเจพ เจ•เจฐเฉ‹ - เจนเจตเจพเจฒเจพ เจ†เจ‰เจŸเจชเฉเฉฑเจŸ เจธเจฟเจ—เจจเจฒ, เจ…เจธเจฒ เจตเจฟเฉฑเจš, PWM เจฎเฉ‹เจก เจตเจฟเฉฑเจš เจธเฉฐเจฌเฉฐเจงเจฟเจค เจชเจฟเฉฐเจจ 'เจคเฉ‡ เจ•เฉ€ เจฆเจฟเจ–เจพเจˆ เจฆเจฟเฉฐเจฆเจพ เจนเฉˆเฅค

เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจชเจฟเจจเจ†เจ‰เจŸ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจธเจชเฉฑเจธเจผเจŸ เจนเฉˆ, เจฆเฉ‹ เจŸเจพเจˆเจฎเจฐเจพเจ‚ เจตเจฟเฉฑเจš PWM เจธเจฎเจฐเฉฑเจฅเจพเจตเจพเจ‚ เจนเจจ - เจชเจนเจฟเจฒเจพ เจ…เจคเฉ‡ เจฆเฉ‚เจœเจพเฅค เจฆเฉ‹เจตเฉ‡เจ‚ 16-เจฌเจฟเฉฑเจŸ เจนเจจ, เจชเจนเจฟเจฒเฉ‡ เจตเจฟเฉฑเจš เจฌเจนเฉเจค เจธเจพเจฐเฉ€เจ†เจ‚ เจตเจพเจงเฉ‚ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจนเจจ (เจ–เจพเจธ เจคเฉŒเจฐ 'เจคเฉ‡, เจ‡เจน เจ‰เฉฑเจชเจฐ เจ…เจคเฉ‡ เจนเฉ‡เจ เจพเจ‚ เจฆเฉ‹เจตเจพเจ‚ เจจเฉ‚เฉฐ เจ—เจฟเจฃ เจธเจ•เจฆเจพ เจนเฉˆ)เฅค เจธเจพเจจเฉ‚เฉฐ เจฆเฉ‹เจตเจพเจ‚ เจจเฉ‚เฉฐ เจฌเจฐเจพเจฌเจฐ เจ•เฉฐเจฎ เจ•เจฐเจจ เจฆเฉ€ เจœเจผเจฐเฉ‚เจฐเจค เจนเฉˆ, เจ‡เจธเจฒเจˆ เจฎเฉˆเจ‚ เจธเจชเฉฑเจธเจผเจŸ เจคเฉŒเจฐ 'เจคเฉ‡ เจ—เจฐเฉ€เจฌ เจฆเฉ‚เจœเฉ‡ เจจเจพเจฒ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจจ เจฆเจพ เจซเฉˆเจธเจฒเจพ เจ•เฉ€เจคเจพ, เจคเจพเจ‚ เจœเฉ‹ เจ—เจฒเจคเฉ€ เจจเจพเจฒ เจ•เจฟเจธเฉ‡ เจ…เจœเจฟเจนเฉ€ เจšเฉ€เจœเจผ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจจเจพ เจ•เฉ€เจคเฉ€ เจœเจพเจตเฉ‡ เจœเฉ‹ เจ‰เฉฑเจฅเฉ‡ เจจเจนเฉ€เจ‚ เจนเฉˆเฅค เจ•เฉเจ เจธเจฎเฉฑเจธเจฟเจ† เจ‡เจน เจนเฉˆ เจ•เจฟ เจฐเฉˆเจซเจฐเฉˆเจ‚เจธ เจฎเฉˆเจจเฉ‚เจ…เจฒ เจตเจฟเฉฑเจš เจธเจพเจฐเฉ‡ เจŸเจพเจˆเจฎเจฐเจพเจ‚ เจฆเฉ€ PWM เจ•เจพเจฐเจœเจ•เฉเจธเจผเจฒเจคเจพ เจฆเจพ เจตเจฐเจฃเจจ เจชเจนเจฟเจฒเฉ‡ เจŸเจพเจˆเจฎเจฐ (17.5.7 PWM เจฎเฉ‹เจก) เจฌเจพเจฐเฉ‡ เจ…เจงเจฟเจ†เจ‡ เจตเจฟเฉฑเจš เจนเฉˆ, เจ‡เจธเจฒเจˆ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจนเจฐ เจธเจฎเฉ‡เจ‚ เจฆเจธเจคเจพเจตเฉ‡เจœเจผ เจตเจฟเฉฑเจš เจ…เฉฑเจ—เฉ‡-เจชเจฟเฉฑเจ›เฉ‡ เจœเจพเจฃเจพ เจชเฉˆเจ‚เจฆเจพ เจนเฉˆเฅค

STM8 'เจคเฉ‡ PWM เจฆเจพ Atmega 'เจคเฉ‡ PWM เจจเจพเจฒเฉ‹เจ‚ เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจซเจพเจ‡เจฆเจพ เจนเฉˆ:

เจกเจพเจŸเจพเจธเจผเฉ€เจŸเจพเจ‚ เจจเฉ‚เฉฐ เจชเฉœเฉเจนเจจเจพ 2: STM32 'เจคเฉ‡ SPI; STM8 'เจคเฉ‡ PWM, เจŸเจพเจˆเจฎเจฐ เจ…เจคเฉ‡ เจฐเฉเจ•เจพเจตเจŸเจพเจ‚
เจธเฉ€เจฎเจพ เจ…เจฒเจพเจˆเจจเจก PWM
เจนเฉ‡เจ เจพเจ‚ เจคเฉ‹เจ‚ เจ‰เฉฑเจชเจฐ เจคเฉฑเจ• เจ–เจพเจคเจพ เจธเฉฐเจฐเจšเจจเจพ
เจœเฉ‡เจ•เจฐ TIM_CR1 เจฐเจœเจฟเจธเจŸเจฐ เจตเจฟเฉฑเจš เจกเฉ€เจ†เจˆเจ†เจฐ เจฌเจฟเฉฑเจŸ เจ•เจฒเฉ€เจ…เจฐ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ เจคเจพเจ‚ เจนเฉ‡เจ เจพเจ‚-เจ‰เฉฑเจชเจฐ เจฆเฉ€ เจ—เจฟเจฃเจคเฉ€ เจธเจฐเจ—เจฐเจฎ เจนเฉˆ
เจ‰เจฆเจพเจนเจฐเจจ:
เจ‰เจฆเจพเจนเจฐเจจ เจชเจนเจฟเจฒเฉ‡ PWM เจฎเฉ‹เจก เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ€ เจนเฉˆเฅค PWM เจธเฉฐเจฆเจฐเจญ เจธเจฟเจ—เจจเจฒ OCiREF เจจเฉ‚เฉฐ TIM1_CNT < TIM1_CCRi เจคเฉฑเจ• เจ‰เฉฑเจšเจพ เจฐเฉฑเจ–เจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค เจจเจนเฉ€เจ‚ เจคเจพเจ‚ เจ‡เจน เจ‡เฉฑเจ• เจจเฉ€เจตเจพเจ‚ เจชเฉฑเจงเจฐ เจฒเฉˆเจ‚เจฆเจพ เจนเฉˆ. เจœเฉ‡เจ•เจฐ TIM1_CCRi เจฐเจœเจฟเจธเจŸเจฐ เจตเจฟเฉฑเจš เจคเฉเจฒเจจเจพ เจฎเฉเฉฑเจฒ เจ†เจŸเฉ‹เจฒเฉ‹เจก เจฎเฉเฉฑเจฒ (TIM1_ARR เจฐเจœเจฟเจธเจŸเจฐ) เจคเฉ‹เจ‚ เจตเฉฑเจง เจนเฉˆ, เจคเจพเจ‚ OCiREF เจธเจฟเจ—เจจเจฒ 1 'เจคเฉ‡ เจฐเฉฑเจ–เจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค เจœเฉ‡เจ•เจฐ เจคเฉเจฒเจจเจพ เจฎเฉเฉฑเจฒ 0 เจนเฉˆ, เจคเจพเจ‚ OCiREF เจจเฉ‚เฉฐ เจœเจผเฉ€เจฐเฉ‹ 'เจคเฉ‡ เจฐเฉฑเจ–เจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค...

เจฆเฉŒเจฐเจพเจจ STM8 เจŸเจพเจˆเจฎเจฐ เจ…เฉฑเจชเจกเฉ‡เจŸ เจ˜เจŸเจจเจพ เจชเจนเจฟเจฒเจพเจ‚ เจœเจพเจ‚เจš เจ•เจฐเจฆเจพ เจนเฉˆ เจฎเฉเฉฑเจฒ เจฆเฉ€ เจคเฉเจฒเจจเจพ เจ•เจฐเฉ‹, เจ…เจคเฉ‡ เจ•เฉ‡เจตเจฒ เจคเจฆ เจนเฉ€ เจ‡เฉฑเจ• เจนเจตเจพเจฒเจพ เจธเฉฐเจ•เฉ‡เจค เจชเฉˆเจฆเจพ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจเจŸเจฎเฉ‡เจ—เจพ เจฆเจพ เจŸเจพเจˆเจฎเจฐ เจชเจนเจฟเจฒเจพเจ‚ เจชเฉ‡เจš เจ•เจฐเจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจซเจฟเจฐ เจคเฉเจฒเจจเจพ เจ•เจฐเจฆเจพ เจนเฉˆ, เจจเจคเฉ€เจœเฉ‡ เจตเจœเฉ‹เจ‚ compare value == 0 เจ†เจ‰เจŸเจชเฉเฉฑเจŸ เจ‡เฉฑเจ• เจธเฉ‚เจˆ เจนเฉˆ, เจœเจฟเจธเจจเฉ‚เฉฐ เจ•เจฟเจธเฉ‡ เจคเจฐเฉเจนเจพเจ‚ เจจเจพเจฒ เจจเจœเจฟเฉฑเจ เจฟเจ† เจœเจพเจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ (เจ‰เจฆเจพเจนเจฐเจฃ เจฒเจˆ, เจคเจฐเจ• เจจเฉ‚เฉฐ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเฉ‡เจŸเจฟเจ• เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจ‰เจฒเจŸเจพ เจ•เฉ‡)เฅค

เจ‡เจธ เจฒเจˆ เจ…เจธเฉ€เจ‚ เจ•เฉ€ เจ•เจฐเจจเจพ เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจนเจพเจ‚: 8-bit 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เฅค เจจเจนเฉ€เจ‚ เจคเจพเจ‚, เจชเจนเจฟเจฒเจพ เจšเฉˆเจจเจฒ เจ•เจฟเจฐเจฟเจ†เจธเจผเฉ€เจฒ เจนเฉˆเฅค

เจ•เจฟเจ‰เจ‚เจ•เจฟ LEDs เจ•เฉˆเจฅเฉ‹เจกเจธ เจฆเฉเจ†เจฐเจพ MK เจจเจพเจฒ เจœเฉเฉœเฉ‡ เจนเฉ‹เจ เจนเจจ, เจฆเฉ‚เจœเจพ เจฎเฉ‹เจก เจธเจพเจกเฉ‡ เจฒเจˆ เจ…เจจเฉเจ•เฉ‚เจฒ เจนเฉˆ (เจชเจนเจฟเจฒเจพ เจตเฉ€, เจชเจฐ เจธเจพเจจเฉ‚เฉฐ เจ…เจœเฉ‡ เจคเฉฑเจ• เจ‡เจน เจจเจนเฉ€เจ‚ เจชเจคเจพ)เฅค

เจกเจพเจŸเจพเจธเจผเฉ€เจŸเจพเจ‚ เจจเฉ‚เฉฐ เจชเฉœเฉเจนเจจเจพ 2: STM32 'เจคเฉ‡ SPI; STM8 'เจคเฉ‡ PWM, เจŸเจพเจˆเจฎเจฐ เจ…เจคเฉ‡ เจฐเฉเจ•เจพเจตเจŸเจพเจ‚
เจฌเจฟเฉฑเจŸ 3 OC1PE: เจชเจฟเฉฐเจจ 1 เจชเฉเจฐเฉ€เจฒเฉ‹เจก เจจเฉ‚เฉฐ เจธเจฎเจฐเฉฑเจฅ เจฌเจฃเจพเจ“
0: TIMx_CCR1 'เจคเฉ‡ เจชเฉเจฐเฉ€เจฒเฉ‹เจก เจฐเจœเจฟเจธเจŸเจฐ เจ…เจฏเฉ‹เจ— เจนเฉˆเฅค เจคเฉเจธเฉ€เจ‚ เจ•เจฟเจธเฉ‡ เจตเฉ€ เจธเจฎเฉ‡เจ‚ TIMx_CCR1 เจจเฉ‚เฉฐ เจฒเจฟเจ– เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค เจจเจตเจพเจ‚ เจฎเฉเฉฑเจฒ เจคเฉเจฐเฉฐเจค เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆเฅค
1: TIMx_CCR1 'เจคเฉ‡ เจชเฉเจฐเฉ€เจฒเฉ‹เจก เจฐเจœเจฟเจธเจŸเจฐ เจธเจฎเจฐเจฅเจฟเจค เจนเฉˆเฅค เจชเฉœเฉเจนเฉ‹/เจฒเจฟเจ–เจฃ เจฆเฉ‡ เจ“เจชเจฐเฉ‡เจธเจผเจจ เจชเฉเจฐเฉ€เจฒเฉ‹เจก เจฐเจœเจฟเจธเจŸเจฐ เจคเฉฑเจ• เจชเจนเฉเฉฐเจš เจ•เจฐเฉ‹เฅค เจชเจนเจฟเจฒเจพเจ‚ เจคเฉ‹เจ‚ เจฒเฉ‹เจก เจ•เฉ€เจคเฉ‡ เจฎเฉเฉฑเจฒ TIMx_CCR1 เจจเฉ‚เฉฐ เจนเจฐเฉ‡เจ• เจ…เฉฑเจชเจกเฉ‡เจŸ เจ‡เจตเฉˆเจ‚เจŸ เจฆเฉŒเจฐเจพเจจ เจธเจผเฉˆเจกเฉ‹ เจฐเจœเจฟเจธเจŸเจฐ เจตเจฟเฉฑเจš เจฒเฉ‹เจก เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค
*เจจเฉ‹เจŸ: PWM เจฎเฉ‹เจก เจฆเฉ‡ เจธเจนเฉ€ เจขเฉฐเจ— เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจจ เจฒเจˆ, เจชเฉเจฐเฉ€เจฒเฉ‹เจก เจฐเจœเจฟเจธเจŸเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจธเจฎเจฐเฉฑเจฅ เจฌเจฃเจพเจ‡เจ† เจœเจพเจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆเฅค เจธเจฟเฉฐเจ—เจฒ เจธเจฟเจ—เจจเจฒ เจฎเฉ‹เจก เจตเจฟเฉฑเจš เจ‡เจน เจœเจผเจฐเฉ‚เจฐเฉ€ เจจเจนเฉ€เจ‚ เจนเฉˆ (OPM เจฌเจฟเฉฑเจŸ TIMx_CR1 เจฐเจœเจฟเจธเจŸเจฐ เจตเจฟเฉฑเจš เจธเฉˆเฉฑเจŸ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ)เฅค

เจ เฉ€เจ• เจนเฉˆ, เจšเจฒเฉ‹ เจฆเฉ‚เจœเฉ‡ เจŸเจพเจˆเจฎเจฐ เจฆเฉ‡ เจคเจฟเฉฐเจจ เจšเฉˆเจจเจฒเจพเจ‚ เจฒเจˆ เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ€ เจนเจฐ เจšเฉ€เจœเจผ เจจเฉ‚เฉฐ เจšเจพเจฒเฉ‚ เจ•เจฐเฉ€เจ:

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

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

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

AR เจตเจฟเฉฑเจš เจฆเฉ‹ เจ…เฉฑเจ -เจฌเจฟเฉฑเจŸ เจฐเจœเจฟเจธเจŸเจฐ เจนเฉเฉฐเจฆเฉ‡ เจนเจจ, เจธเจญ เจ•เฉเจ เจธเจงเจพเจฐเจจ เจนเฉˆ:

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

TIM2_ARRH = 0;
TIM2_ARRL = 255;

เจฆเฉ‚เจœเจพ เจŸเจพเจˆเจฎเจฐ เจธเจฟเจฐเจซเจผ เจนเฉ‡เจ เจพเจ‚ เจคเฉ‹เจ‚ เจ‰เฉฑเจชเจฐ เจคเฉฑเจ• เจ—เจฟเจฃ เจธเจ•เจฆเจพ เจนเฉˆ, เจฌเจพเจฐเจกเจฐ เจฆเฉ‡ เจจเจพเจฒ เจ…เจฒเจพเจˆเจจเจฎเฉˆเจ‚เจŸ, เจ•เฉเจ เจตเฉ€ เจฌเจฆเจฒเจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจจเจนเฉ€เจ‚ เจนเฉˆเฅค เจ†เจ‰ เจซเฉเจฐเฉ€เจ•เฉเจเจ‚เจธเฉ€ เจกเจฟเจตเจพเจˆเจกเจฐ เจจเฉ‚เฉฐ เจธเฉˆเฉฑเจŸ เจ•เจฐเฉ€เจ, เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, 256เฅค เจฆเฉ‚เจœเฉ‡ เจŸเจพเจˆเจฎเจฐ เจฒเจˆ, เจกเจฟเจตเจพเจˆเจกเจฐ เจจเฉ‚เฉฐ TIM2_PSCR เจฐเจœเจฟเจธเจŸเจฐ เจตเจฟเฉฑเจš เจธเฉˆเฉฑเจŸ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ เจ…เจคเฉ‡ เจ‡เจน เจฆเฉ‹ เจฆเฉ€ เจชเจพเจตเจฐ เจนเฉˆ:

#define TIM2_PSCR  *(volatile uint8_t *)0x00530E

TIM2_PSCR = 8;

เจœเฉ‹ เจ•เฉเจ เจฐเจนเจฟเฉฐเจฆเจพ เจนเฉˆ เจ‰เจน เจธเจฟเฉฑเจŸเฉ‡ เจ…เจคเฉ‡ เจฆเฉ‚เจœเฉ‡ เจŸเจพเจˆเจฎเจฐ เจจเฉ‚เฉฐ เจšเจพเจฒเฉ‚ เจ•เจฐเจจเจพ เจนเฉˆ. เจชเจนเจฟเจฒเฉ€ เจธเจฎเฉฑเจธเจฟเจ† เจฐเจœเจฟเจธเจŸเจฐเจพเจ‚ เจฆเฉเจ†เจฐเจพ เจนเฉฑเจฒ เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ เจ•เฉˆเจชเจšเจฐ/เจคเฉเจฒเจจเจพ เจ•เจฐเฉ‹ เจฏเฉ‹เจ— เจ•เจฐเฉ‹: เจ‡เฉฑเจฅเฉ‡ เจฆเฉ‹, เจคเจฟเฉฐเจจ เจšเฉˆเจจเจฒ เจ…เจธเจฎเจฟเฉฑเจŸเจฐเฉ€ เจคเฉŒเจฐ 'เจคเฉ‡ เจซเฉˆเจฒเฉ‡ เจนเฉ‹เจ เจนเจจเฅค เจ‡เฉฑเจฅเฉ‡ เจ…เจธเฉ€เจ‚ เจ‡เจน เจตเฉ€ เจธเจฟเฉฑเจ– เจธเจ•เจฆเฉ‡ เจนเจพเจ‚ เจ•เจฟ เจธเจฟเจ—เจจเจฒ เจฆเฉ€ เจชเฉ‹เจฒเจฐเจฟเจŸเฉ€ เจจเฉ‚เฉฐ เจฌเจฆเจฒเจฃเจพ เจธเฉฐเจญเจต เจนเฉˆ, เจฏเจพเจจเฉ€. เจธเจฟเจงเจพเจ‚เจค เจตเจฟเฉฑเจš, PWM เจฎเฉ‹เจก 1 เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจเจพ เจธเฉฐเจญเจต เจธเฉ€เฅค เจ…เจธเฉ€เจ‚ เจฒเจฟเจ–เจฆเฉ‡ เจนเจพเจ‚:

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

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

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

เจ…เจคเฉ‡ เจ…เฉฐเจค เจตเจฟเฉฑเจš, เจ…เจธเฉ€เจ‚ TIMx_CR1 เจฐเจœเจฟเจธเจŸเจฐ เจตเจฟเฉฑเจš เจŸเจพเจˆเจฎเจฐ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚:

เจกเจพเจŸเจพเจธเจผเฉ€เจŸเจพเจ‚ เจจเฉ‚เฉฐ เจชเฉœเฉเจนเจจเจพ 2: STM32 'เจคเฉ‡ SPI; STM8 'เจคเฉ‡ PWM, เจŸเจพเจˆเจฎเจฐ เจ…เจคเฉ‡ เจฐเฉเจ•เจพเจตเจŸเจพเจ‚

#define TIM2_CR1   *(volatile uint8_t *)0x005300

TIM2_CR1 |= 1;

เจ†เจ“ เจเจจเจพเจฒเจพเจ— เจฐเจพเจˆเจŸ() เจฆเจพ เจ‡เฉฑเจ• เจธเจงเจพเจฐเจจ เจเจจเจพเจฒเจพเจ— เจฒเจฟเจ–เฉ€เจ, เจœเฉ‹ เจคเฉเจฒเจจเจพ เจฒเจˆ เจ…เจธเจฒ เจฎเฉเฉฑเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจŸเจพเจˆเจฎเจฐ เจตเจฟเฉฑเจš เจŸเฉเจฐเจพเจ‚เจธเจซเจฐ เจ•เจฐเฉ‡เจ—เจพเฅค เจฐเจœเจฟเจธเจŸเจฐเจพเจ‚ เจตเจฟเฉฑเจš เจ…เจจเฉเจฎเจพเจจ เจ…เจจเฉเจธเจพเจฐ เจจเจพเจฎ เจฆเจฟเฉฑเจคเฉ‡ เจ—เจ เจนเจจ เจฐเจœเจฟเจธเจŸเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจ•เฉˆเจชเจšเจฐ/เจคเฉเจฒเจจเจพ เจ•เจฐเฉ‹, เจนเจฐเฉ‡เจ• เจšเฉˆเจจเจฒ เจฒเจˆ เจ‰เจนเจจเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจฆเฉ‹ เจนเจจ: 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 เจฆเฉ‡ เจ…เจงเจฟเจ•เจคเจฎ เจฎเฉเฉฑเจฒ 'เจคเฉ‡, เจธเจฟเจ—เจจเจฒ เจ‡เฉฑเจ• เจŸเจพเจˆเจฎเจฐ เจšเฉฑเจ•เจฐ เจฒเจˆ เจ‰เจฒเจŸเจพ เจนเฉเฉฐเจฆเจพ เจนเฉˆ)เฅค LEDs เจฒเจˆ เจ‡เจน เจฎเจพเจ‡เจจเฉ‡ เจจเจนเฉ€เจ‚ เจฐเฉฑเจ–เจฆเจพ, เจ…เจคเฉ‡ เจงเจฟเจ†เจจ เจฆเฉ‡เจฃ เจตเจพเจฒเจพ เจชเจพเจ เจ• เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจ…เฉฐเจฆเจพเจœเจผเจพ เจฒเจ—เจพ เจธเจ•เจฆเจพ เจนเฉˆ เจ•เจฟ เจ‡เจธเจจเฉ‚เฉฐ เจ•เจฟเจตเฉ‡เจ‚ เจ เฉ€เจ• เจ•เจฐเจจเจพ เจนเฉˆ.

เจฆเฉ‚เจœเฉ‡ เจŸเจพเจˆเจฎเจฐ 'เจคเฉ‡ PWM เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆ, เจ†เจ“ เจชเจนเจฟเจฒเฉ‡ 'เจคเฉ‡ เจšเฉฑเจฒเฉ€เจเฅค

เจชเจนเจฟเจฒเฉ‡ เจŸเจพเจˆเจฎเจฐ เจฆเฉ‡ เจ‰เจธเฉ‡ เจฐเจœเจฟเจธเจŸเจฐเจพเจ‚ เจตเจฟเฉฑเจš เจฌเจฟเจฒเจ•เฉเจฒ เจ‰เจนเฉ€ เจฌเจฟเฉฑเจŸ เจนเฉเฉฐเจฆเฉ‡ เจนเจจ (เจ‡เจน เจธเจฟเจฐเจซ เจ‡เจน เจนเฉˆ เจ•เจฟ เจ‰เจน เจฌเจฟเฉฑเจŸ เจœเฉ‹ เจฆเฉ‚เจœเฉ‡ เจŸเจพเจˆเจฎเจฐ เจตเจฟเฉฑเจš "เจฐเจฟเจœเจผเจฐเจต" เจฐเจนเฉ‡ เจนเจจ, เจนเจฐ เจ•เจฟเจธเจฎ เจฆเฉ€เจ†เจ‚ เจ‰เฉฑเจจเจค เจšเฉ€เจœเจผเจพเจ‚ เจฒเจˆ เจชเจนเจฟเจฒเฉ‡ เจตเจฟเฉฑเจš เจธเจฐเจ—เจฐเจฎเฉ€ เจจเจพเจฒ เจตเจฐเจคเฉ‡ เจœเจพเจ‚เจฆเฉ‡ เจนเจจ)เฅค เจ‡เจธ เจฒเจˆ, เจกเฉ‡เจŸเจพเจธเจผเฉ€เจŸ เจตเจฟเฉฑเจš เจ‡เฉฑเจ•เฉ‹ เจฐเจœเจฟเจธเจŸเจฐเจพเจ‚ เจฆเฉ‡ เจชเจคเฉ‡ เจฒเฉฑเจญเจฃ เจ…เจคเฉ‡ เจ•เฉ‹เจก เจฆเฉ€ เจจเจ•เจฒ เจ•เจฐเจจ เจฒเจˆ เจ‡เจน เจ•เจพเจซเจผเฉ€ เจนเฉˆ. เจ–เฉˆเจฐ, เจฌเจพเจฐเฉฐเจฌเจพเจฐเจคเจพ เจตเจฟเจญเจพเจœเจ• เจฆเจพ เจฎเฉเฉฑเจฒ เจฌเจฆเจฒเฉ‹, เจ•เจฟเจ‰เจ‚เจ•เจฟ ... เจชเจนเจฟเจฒเจพ เจŸเจพเจˆเจฎเจฐ เจฆเฉ‹ เจฆเฉ€ เจธเจผเจ•เจคเฉ€ เจจเจนเฉ€เจ‚, เจชเจฐ เจฆเฉ‹ เจฐเจœเจฟเจธเจŸเจฐเจพเจ‚ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจธเจนเฉ€ 16-เจฌเจฟเฉฑเจŸ เจฎเฉเฉฑเจฒ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจเจพ เจšเจพเจนเฉเฉฐเจฆเจพ เจนเฉˆ Prescaler เจ‰เฉฑเจš ะธ เจ–เฉ‹เจœเฉ‹ wego.co.in. เจ…เจธเฉ€เจ‚ เจธเจญ เจ•เฉเจ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚ เจ…เจคเฉ‡... เจชเจนเจฟเจฒเจพ เจŸเจพเจˆเจฎเจฐ เจ•เฉฐเจฎ เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเจพเฅค เจ•เฉ€ เจ—เฉฑเจฒ เจนเฉˆ?

เจธเจฎเฉฑเจธเจฟเจ† เจจเฉ‚เฉฐ เจธเจฟเจฐเจซ เจŸเจพเจˆเจฎเจฐ 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 'เจคเฉ‡ เจฎเจฒเจŸเฉ€เจชเจฒเฉˆเจ•เจธเจฟเฉฐเจ—

เจคเฉ€เจœเจพ เจฎเจฟเฉฐเจจเฉ€-เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจ…เฉฑเจ  RGB LEDs เจจเฉ‚เฉฐ PWM เจฎเฉ‹เจก เจตเจฟเฉฑเจš เจฆเฉ‚เจœเฉ‡ เจŸเจพเจˆเจฎเจฐ เจจเจพเจฒ เจœเฉ‹เฉœเจจเจพ เจ…เจคเฉ‡ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจตเฉฑเจ–-เจตเฉฑเจ– เจฐเฉฐเจ— เจฆเจฟเจ–เจพเจ‰เจฃเจพ เจนเฉˆเฅค เจ‡เจน LED เจฎเจฒเจŸเฉ€เจชเจฒเฉˆเจ•เจธเจฟเฉฐเจ— เจฆเฉ€ เจงเจพเจฐเจจเจพ 'เจคเฉ‡ เจ…เจงเจพเจฐเจค เจนเฉˆ, เจœเฉ‹ เจ•เจฟ เจ‡เจน เจนเฉˆ เจ•เจฟ เจœเฉ‡ เจคเฉเจธเฉ€เจ‚ LEDs เจจเฉ‚เฉฐ เจฌเจนเฉเจค เจœเจฒเจฆเฉ€, เจฌเจนเฉเจค เจœเจฒเจฆเฉ€ เจšเจพเจฒเฉ‚ เจ…เจคเฉ‡ เจฌเฉฐเจฆ เจ•เจฐเจฆเฉ‡ เจนเฉ‹, เจคเจพเจ‚ เจ‡เจน เจธเจพเจจเฉ‚เฉฐ เจœเจพเจชเจฆเจพ เจนเฉˆ เจ•เจฟ เจ‰เจน เจจเจฟเจฐเฉฐเจคเจฐ เจšเจพเจฒเฉ‚ เจนเจจ (เจจเจœเจผเจฐ เจฆเฉ€ เจธเจฅเจฟเจฐเจคเจพ, เจตเจฟเจœเจผเฉ‚เจ…เจฒ เจงเจพเจฐเจจเจพ เจฆเฉ€ เจœเฉœเจคเจพ)เฅค เจฎเฉˆเจ‚ เจ‡เฉฑเจ• เจตเจพเจฐ เจ•เฉ€เจคเจพ Arduino 'เจคเฉ‡ เจ…เจœเจฟเจนเจพ เจ•เฉเจ.

เจ•เฉฐเจฎ เจฆเจพ เจเจฒเจ—เฉ‹เจฐเจฟเจฆเจฎ เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจฆเจฟเจธเจฆเจพ เจนเฉˆ:

  • เจชเจนเจฟเจฒเฉ‡ RGB LED เจฆเฉ‡ เจเจจเฉ‹เจก เจจเฉ‚เฉฐ เจœเฉ‹เฉœเจฟเจ†;
  • เจ‡เจธ เจจเฉ‚เฉฐ เจฒเจพเจˆเจŸ เจ•เจฐเฉ‹, เจ•เฉˆเจฅเฉ‹เจกเจพเจ‚ เจจเฉ‚เฉฐ เจœเจผเจฐเฉ‚เจฐเฉ€ เจธเจฟเจ—เจจเจฒ เจญเฉ‡เจœเฉ‹;
  • PWM เจšเฉฑเจ•เจฐ เจฆเฉ‡ เจ…เฉฐเจค เจคเฉฑเจ• เจ‰เจกเฉ€เจ• เจ•เฉ€เจคเฉ€;
  • เจฆเฉ‚เจœเฉ‡ RGB LED เจฆเฉ‡ เจเจจเฉ‹เจก เจจเฉ‚เฉฐ เจœเฉ‹เฉœเจฟเจ† เจ—เจฟเจ†;
  • เจ‡เจธ เจจเฉ‚เฉฐ เจœเจ—เจพเจ‡เจ†...

เจ–เฉˆเจฐ, เจ†เจฆเจฟเฅค เจฌเฉ‡เจธเจผเฉฑเจ•, เจธเฉเฉฐเจฆเจฐ เจ“เจชเจฐเฉ‡เจธเจผเจจ เจฒเจˆ เจ‡เจน เจœเจผเจฐเฉ‚เจฐเฉ€ เจนเฉˆ เจ•เจฟ เจเจจเฉ‹เจก เจœเฉเฉœเจฟเจ† เจนเฉ‹เจตเฉ‡ เจ…เจคเฉ‡ LED เจ‰เจธเฉ‡ เจธเจฎเฉ‡เจ‚ "เจ‡เจ—เจจเฉ€เจŸ" เจนเฉ‹เจตเฉ‡เฅค เจ เฉ€เจ• เจนเฉˆ, เจœเจพเจ‚ เจฒเจ—เจญเจ—. เจ•เจฟเจธเฉ‡ เจตเฉ€ เจธเจฅเจฟเจคเฉ€ เจตเจฟเฉฑเจš, เจธเจพเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจ•เฉ‹เจก เจฒเจฟเจ–เจฃ เจฆเฉ€ เจœเจผเจฐเฉ‚เจฐเจค เจนเฉˆ เจœเฉ‹ เจฆเฉ‚เจœเฉ‡ เจŸเจพเจˆเจฎเจฐ เจฆเฉ‡ เจคเจฟเฉฐเจจ เจšเฉˆเจจเจฒเจพเจ‚ เจตเจฟเฉฑเจš เจฎเฉเฉฑเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจ†เจ‰เจŸเจชเฉเฉฑเจŸ เจ•เจฐเฉ‡เจ—เจพ, เจœเจฆเฉ‹เจ‚ UEV เจชเจนเฉเฉฐเจš เจœเจพเจ‚เจฆเจพ เจนเฉˆ เจคเจพเจ‚ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจฌเจฆเจฒเจฆเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจ‰เจธเฉ‡ เจธเจฎเฉ‡เจ‚ เจฎเฉŒเจœเฉ‚เจฆเจพ เจ•เจฟเจฐเจฟเจ†เจธเจผเฉ€เจฒ RGB LED เจจเฉ‚เฉฐ เจฌเจฆเจฒเจฆเจพ เจนเฉˆ.

เจ•เจฟเจ‰เจ‚เจ•เจฟ LED เจธเจตเจฟเจšเจฟเฉฐเจ— เจ†เจŸเฉ‹เจฎเฉˆเจŸเจฟเจ• เจนเฉˆ, เจธเจพเจจเฉ‚เฉฐ เจ‡เฉฑเจ• "เจตเฉ€เจกเฉ€เจ“ เจฎเฉˆเจฎเฉ‹เจฐเฉ€" เจฌเจฃเจพเจ‰เจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ เจœเจฟเจธ เจคเฉ‹เจ‚ เจ‡เฉฐเจŸเจฐเฉฑเจชเจŸ เจนเฉˆเจ‚เจกเจฒเจฐ เจกเจพเจŸเจพ เจชเฉเจฐเจพเจชเจค เจ•เจฐเฉ‡เจ—เจพเฅค เจ‡เจน เจ‡เฉฑเจ• เจธเจงเจพเจฐเจจ เจเจฐเฉ‡ เจนเฉˆ:

uint8_t colors[8][3];

เจ‡เฉฑเจ• เจ–เจพเจธ LED เจฆเจพ เจฐเฉฐเจ— เจฌเจฆเจฒเจฃ เจฒเจˆ, เจ‡เจธ เจเจฐเฉ‡ เจตเจฟเฉฑเจš เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ‡ เจฎเฉเฉฑเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจฒเจฟเจ–เจฃเจพ เจ•เจพเจซเจผเฉ€ เจนเฉ‹เจตเฉ‡เจ—เจพเฅค เจ…เจคเฉ‡ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจธเจฐเจ—เจฐเจฎ LED เจฆเฉ€ เจธเฉฐเจ–เจฟเจ† เจฒเจˆ เจœเจผเจฟเฉฐเจฎเฉ‡เจตเจพเจฐ เจนเฉ‹เจตเฉ‡เจ—เจพ

uint8_t cnt;

เจกเฉˆเจฎเจ•เจธ

เจธเจนเฉ€ เจฎเจฒเจŸเฉ€เจชเจฒเฉˆเจ•เจธเจฟเฉฐเจ— เจฒเจˆ, เจธเจพเจจเฉ‚เฉฐ เจ…เจœเฉ€เจฌ เจคเฉŒเจฐ 'เจคเฉ‡, เจ‡เฉฑเจ• CD74HC238 เจกเฉ€เจฎเจฒเจŸเฉ€เจชเจฒเฉˆเจ•เจธเจฐ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆเฅค Demultiplexer - เจ‡เฉฑเจ• เจšเจฟเฉฑเจช เจœเฉ‹ เจนเจพเจฐเจกเจตเฉ‡เจ…เจฐ เจตเจฟเฉฑเจš เจ†เจชเจฐเฉ‡เจŸเจฐ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจฆเฉ€ เจนเฉˆ <<. เจคเจฟเฉฐเจจ เจ‡เจจเจชเฉเจŸ เจชเจฟเฉฐเจจเจพเจ‚ (เจฌเจฟเฉฑเจŸ 0, 1 เจ…เจคเฉ‡ 2) เจฆเฉเจ†เจฐเจพ เจ…เจธเฉ€เจ‚ เจ‡เจธเจจเฉ‚เฉฐ เจคเจฟเฉฐเจจ-เจฌเจฟเฉฑเจŸ เจจเฉฐเจฌเจฐ X เจซเฉ€เจก เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚, เจ…เจคเฉ‡ เจœเจตเจพเจฌ เจตเจฟเฉฑเจš เจ‡เจน เจ†เจ‰เจŸเจชเฉเฉฑเจŸ เจจเฉฐเจฌเจฐ เจจเฉ‚เฉฐ เจธเจฐเจ—เจฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆ (1<<X). เจšเจฟเฉฑเจช เจฆเฉ‡ เจฌเจพเจ•เฉ€ เจ‡เฉฐเจชเฉเฉฑเจŸ เจชเฉ‚เจฐเฉ‡ เจกเจฟเจœเจผเจพเจˆเจจ เจจเฉ‚เฉฐ เจฎเจพเจชเจฃ เจฒเจˆ เจตเจฐเจคเฉ‡ เจœเจพเจ‚เจฆเฉ‡ เจนเจจเฅค เจธเจพเจจเฉ‚เฉฐ เจ‡เจธ เจšเจฟเฉฑเจช เจฆเฉ€ เจฒเฉ‹เฉœ เจจเจพ เจธเจฟเจฐเจซเจผ เจฎเจพเจˆเจ•เฉเจฐเฉ‹เจ•เฉฐเจŸเจฐเฉ‹เจฒเจฐ เจฆเฉ‡ เจ•เจฌเจœเจผเฉ‡ เจตเจพเจฒเฉ‡ เจชเจฟเฉฐเจจเจพเจ‚ เจฆเฉ€ เจ—เจฟเจฃเจคเฉ€ เจจเฉ‚เฉฐ เจ˜เจŸเจพเจ‰เจฃ เจฒเจˆ เจนเฉˆ, เจธเจ—เฉ‹เจ‚ เจธเฉเจฐเฉฑเจ–เจฟเจ† เจฒเจˆ เจตเฉ€ - เจคเจพเจ‚ เจœเฉ‹ เจ—เจฒเจคเฉ€ เจจเจพเจฒ เจธเฉฐเจญเจต เจคเฉ‹เจ‚ เจตเฉฑเจง LEDs เจšเจพเจฒเฉ‚ เจจเจพ เจนเฉ‹เจฃ เจ…เจคเฉ‡ MK เจจเฉ‚เฉฐ เจจเจพ เจธเจพเฉœเจฟเจ† เจœเจพเจตเฉ‡เฅค เจšเจฟเฉฑเจช เจฆเฉ€ เจ•เฉ€เจฎเจค เจ‡เฉฑเจ• เจชเฉˆเจธเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ เจนเจฎเฉ‡เจธเจผเจพ เจคเฉเจนเจพเจกเฉ€ เจ˜เจฐเฉ‡เจฒเฉ‚ เจฆเจตเจพเจˆ เจ•เฉˆเจฌเจฟเจจเฉ‡เจŸ เจตเจฟเฉฑเจš เจฐเฉฑเจ–เจฟเจ† เจœเจพเจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆเฅค

เจธเจพเจกเจพ CD74HC238 เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ‡ LED เจฆเฉ‡ เจเจจเฉ‹เจก เจจเฉ‚เฉฐ เจตเฉ‹เจฒเจŸเฉ‡เจœ เจฆเฉ€ เจธเจชเจฒเจพเจˆ เจ•เจฐเจจ เจฒเจˆ เจœเจผเจฟเฉฐเจฎเฉ‡เจตเจพเจฐ เจนเฉ‹เจตเฉ‡เจ—เจพเฅค เจ‡เฉฑเจ• เจชเฉ‚เจฐเฉ‡ เจฎเจฒเจŸเฉ€เจชเจฒเฉˆเจ•เจธ เจตเจฟเฉฑเจš, เจ‡เจน เจ‡เฉฑเจ• P-MOSFET เจฆเฉเจ†เจฐเจพ เจ•เจพเจฒเจฎ เจจเฉ‚เฉฐ เจตเฉ‹เจฒเจŸเฉ‡เจœ เจฆเฉ€ เจธเจชเจฒเจพเจˆ เจ•เจฐเฉ‡เจ—เจพ, เจชเจฐ เจ‡เจธ เจกเฉˆเจฎเฉ‹ เจตเจฟเฉฑเจš เจ‡เจน เจธเจฟเฉฑเจงเฉ‡ เจคเฉŒเจฐ 'เจคเฉ‡ เจธเฉฐเจญเจต เจนเฉˆ, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ‡เจน 20 mA เจ–เจฟเฉฑเจšเจฆเจพ เจนเฉˆ, เจ…เจจเฉเจธเจพเจฐ เจชเฉ‚เจฐเจจ เจ…เจงเจฟเจ•เจคเจฎ เจฐเฉ‡เจŸเจฟเฉฐเจ— เจกเฉ‡เจŸเจพเจธเจผเฉ€เจŸ เจตเจฟเฉฑเจš. เจคเฉ‹เจ‚ เจกเจพเจŸเจพเจธเจผเฉ€เจŸ CD74HC238 เจธเจพเจจเฉ‚เฉฐ pinouts เจ…เจคเฉ‡ เจ‡เจธ เจšเฉ€เจŸ เจธเจผเฉ€เจŸ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ:

เจกเจพเจŸเจพเจธเจผเฉ€เจŸเจพเจ‚ เจจเฉ‚เฉฐ เจชเฉœเฉเจนเจจเจพ 2: STM32 'เจคเฉ‡ SPI; STM8 'เจคเฉ‡ PWM, เจŸเจพเจˆเจฎเจฐ เจ…เจคเฉ‡ เจฐเฉเจ•เจพเจตเจŸเจพเจ‚
H = เจ‰เฉฑเจš เจตเฉ‹เจฒเจŸเฉ‡เจœ เจชเฉฑเจงเจฐ, L = เจ˜เฉฑเจŸ เจตเฉ‹เจฒเจŸเฉ‡เจœ เจชเฉฑเจงเจฐ, X - เจชเจฐเจตเจพเจน เจจเจพ เจ•เจฐเฉ‹

เจ…เจธเฉ€เจ‚ E2 เจ…เจคเฉ‡ E1 เจจเฉ‚เฉฐ เจœเจผเจฎเฉ€เจจ เจจเจพเจฒ, E3, A0, A1 เจ…เจคเฉ‡ A3 เจจเฉ‚เฉฐ STM5 เจฆเฉ‡ PD3, PC4, PC5 เจ…เจคเฉ‡ PC8 เจจเจพเจฒ เจœเฉ‹เฉœเจฆเฉ‡ เจนเจพเจ‚เฅค เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ‰เจชเจฐเฉ‹เจ•เจค เจธเจพเจฐเจฃเฉ€ เจตเจฟเฉฑเจš เจนเฉ‡เจ เจฒเฉ‡ เจ…เจคเฉ‡ เจ‰เฉฑเจš เจชเฉฑเจงเจฐ เจฆเฉ‹เจตเฉ‡เจ‚ เจธเจผเจพเจฎเจฒ เจนเจจ, เจ…เจธเฉ€เจ‚ เจ‡เจนเจจเจพเจ‚ เจชเจฟเฉฐเจจเจพเจ‚ เจจเฉ‚เฉฐ เจชเฉเจธเจผ-เจชเฉเฉฑเจฒ เจชเจฟเฉฐเจจ เจตเจœเฉ‹เจ‚ เจธเฉฐเจฐเจšเจฟเจค เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚เฅค

PWM

เจฆเฉ‚เจœเฉ‡ เจŸเจพเจˆเจฎเจฐ 'เจคเฉ‡ PWM เจจเฉ‚เฉฐ เจชเจฟเจ›เจฒเฉ€ เจ•เจนเจพเจฃเฉ€ เจตเจพเจ‚เจ— เจนเฉ€ เจธเฉฐเจฐเจšเจฟเจค เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ, เจฆเฉ‹ เจ…เฉฐเจคเจฐเจพเจ‚ เจจเจพเจฒ:

เจชเจนเจฟเจฒเจพเจ‚, เจธเจพเจจเฉ‚เฉฐ เจฐเฉเจ•เจพเจตเจŸ เจจเฉ‚เฉฐ เจšเจพเจฒเฉ‚ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ เจ…เฉฑเจชเจกเฉ‡เจŸ เจ‡เจตเฉˆเจ‚เจŸ (UEV) เจœเฉ‹ เจ‡เฉฑเจ• เจซเฉฐเจ•เจธเจผเจจ เจจเฉ‚เฉฐ เจ•เจพเจฒ เจ•เจฐเฉ‡เจ—เจพ เจœเฉ‹ เจ•เจฟเจฐเจฟเจ†เจธเจผเฉ€เจฒ LED เจจเฉ‚เฉฐ เจŸเฉŒเจ—เจฒ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจ‡เจน เจฌเจฟเฉฑเจŸ เจจเฉ‚เฉฐ เจฌเจฆเจฒ เจ•เฉ‡ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ เจ…เฉฑเจชเจกเฉ‡เจŸ เจ‡เฉฐเจŸเจฐเฉฑเจชเจŸ เจธเจฎเจฐเฉฑเจฅ เจฆเฉฑเจธเจฃ เจตเจพเจฒเฉ‡ เจจเจพเจฎ เจฆเฉ‡ เจจเจพเจฒ เจ‡เฉฑเจ• เจฐเจœเจฟเจธเจŸเจฐ เจตเจฟเฉฑเจš

เจกเจพเจŸเจพเจธเจผเฉ€เจŸเจพเจ‚ เจจเฉ‚เฉฐ เจชเฉœเฉเจนเจจเจพ 2: STM32 'เจคเฉ‡ SPI; STM8 'เจคเฉ‡ PWM, เจŸเจพเจˆเจฎเจฐ เจ…เจคเฉ‡ เจฐเฉเจ•เจพเจตเจŸเจพเจ‚
เจตเจฟเจ˜เจจ เจฏเฉ‹เจ— เจฐเจœเจฟเจธเจŸเจฐ

#define TIM2_IER   *(volatile uint8_t *)0x005303

//enable interrupt
TIM2_IER = 1;

เจฆเฉ‚เจœเจพ เจ…เฉฐเจคเจฐ เจฎเจฒเจŸเฉ€เจชเจฒเฉˆเจ•เจธเจฟเฉฐเจ— เจฆเฉ‡ เจตเจฐเจคเจพเจฐเฉ‡ เจจเจพเจฒ เจธเจฌเฉฐเจงเจค เจนเฉˆ, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจญเฉ‚เจค - เจกเจพเจ‡เจกเจธ เจฆเฉ€ เจชเจฐเจœเฉ€เจตเฉ€ เจšเจฎเจ•. เจธเจพเจกเฉ‡ เจ•เฉ‡เจธ เจตเจฟเฉฑเจš, เจ‡เจน เจ‡เจธ เจคเฉฑเจฅ เจฆเฉ‡ เจ•เจพเจฐเจจ เจชเฉเจฐเจ—เจŸ เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆ เจ•เจฟ เจŸเจพเจˆเจฎเจฐ, UEV 'เจคเฉ‡ เจฐเฉเจ•เจพเจตเจŸ เจชเฉˆเจฆเจพ เจ•เจฐเจฆเจพ เจนเฉˆ, เจŸเจฟเจ• เจ•เจฐเจจเจพ เจœเจพเจฐเฉ€ เจฐเฉฑเจ–เจฆเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจ‡เฉฐเจŸเจฐเฉฑเจชเจŸ เจนเฉˆเจ‚เจกเจฒเจฐ เจ•เฉ‹เจฒ เจŸเจพเจˆเจฎเจฐ เจฆเฉเจ†เจฐเจพ เจชเจฟเฉฐเจจเจพเจ‚ เจจเฉ‚เฉฐ เจ•เฉเจ เจฒเจฟเจ–เจฃเจพ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจจ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚ LED เจจเฉ‚เฉฐ เจฌเจฆเจฒเจฃ เจฆเจพ เจธเจฎเจพเจ‚ เจจเจนเฉ€เจ‚ เจนเฉเฉฐเจฆเจพ. เจ‡เจธเจฆเจพ เจฎเฉเจ•เจพเจฌเจฒเจพ เจ•เจฐเจจ เจฒเจˆ, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจคเจฐเจ• เจจเฉ‚เฉฐ เจ‰เจฒเจŸเจพเจ‰เจฃเจพ เจนเฉ‹เจตเฉ‡เจ—เจพ (0 = เจ…เจงเจฟเจ•เจคเจฎ เจšเจฎเจ•, 255 = เจ•เฉเจ เจตเฉ€ เจชเฉเจฐเจ•เจพเจธเจผเจค เจจเจนเฉ€เจ‚ เจนเฉˆ) เจ…เจคเฉ‡ เจ…เจคเจฟ เจกเจฟเจŠเจŸเฉ€ เจšเฉฑเจ•เจฐ เจฎเฉเฉฑเจฒเจพเจ‚ เจคเฉ‹เจ‚ เจฌเจšเจฃเจพ เจนเฉ‹เจตเฉ‡เจ—เจพเฅค เจ‰เจน. เจฏเจ•เฉ€เจจเฉ€ เจฌเจฃเจพเจ“ เจ•เจฟ UEV เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ LEDs เจ‡เฉฑเจ• PWM เจšเฉฑเจ•เจฐ เจฒเจˆ เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจฌเจพเจนเจฐ เจšเจฒเฉ‡ เจœเจพเจ‚เจฆเฉ‡ เจนเจจเฅค

เจงเจฐเฉเจตเฉ€เจคเจพ เจฌเจฆเจฒเจฃเจพ:

//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 เจจเฉ‚เฉฐ เจฌเจฆเจฒเจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ, เจ‡เจธ เจฒเจˆ เจธเจพเจจเฉ‚เฉฐ เจ‡เฉฐเจŸเจฐเฉฑเจชเจŸ #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 - เจฐเฉเจ•เจพเจตเจŸเจพเจ‚ เจจเฉ‚เฉฐ เจฌเฉฐเจฆ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจฌเฉฐเจฆ เจ•เฉ€เจคเจพ เจœเจพเจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ เจœเจฆเฉ‹เจ‚ เจจเจตเฉ‡เจ‚ เจฎเฉเฉฑเจฒ "เจตเฉ€เจกเฉ€เจ“ เจฎเฉˆเจฎเฉ‹เจฐเฉ€" เจตเจฟเฉฑเจš เจฒเจฟเจ–เฉ‡ เจœเจพ เจฐเจนเฉ‡ เจนเจจ, เจคเจพเจ‚ เจœเฉ‹ เจ—เจฒเจค เจธเจฎเฉ‡เจ‚ 'เจคเฉ‡ เจ‡เฉฑเจ• เจฐเฉเจ•เจพเจตเจŸ เจเจฐเฉ‡ เจจเฉ‚เฉฐ เจ–เจฐเจพเจฌ เจจเจพ เจ•เจฐเฉ‡เฅค

เจธเจพเจฐเฉ‡ เจ•เฉ‹เจก - GitHub 'เจคเฉ‡.

เจกเจพเจŸเจพเจธเจผเฉ€เจŸเจพเจ‚ เจจเฉ‚เฉฐ เจชเฉœเฉเจนเจจเจพ 2: STM32 'เจคเฉ‡ SPI; STM8 'เจคเฉ‡ PWM, เจŸเจพเจˆเจฎเจฐ เจ…เจคเฉ‡ เจฐเฉเจ•เจพเจตเจŸเจพเจ‚

เจœเฉ‡ เจ˜เฉฑเจŸเฉ‹ เจ˜เฉฑเจŸ เจ•เจฟเจธเฉ‡ เจจเฉ‚เฉฐ เจ‡เจน เจฒเฉ‡เจ– เจฒเจพเจญเจฆเจพเจ‡เจ• เจฒเฉฑเจ—เจฆเจพ เจนเฉˆ, เจคเจพเจ‚ เจฎเฉˆเจ‚ เจ‡เจธเจจเฉ‚เฉฐ เจตเจฟเจ…เจฐเจฅ เจจเจนเฉ€เจ‚ เจฒเจฟเจ–เจฟเจ†. เจฎเฉˆเจจเฉ‚เฉฐ เจŸเจฟเฉฑเจชเจฃเฉ€เจ†เจ‚ เจ…เจคเฉ‡ เจŸเจฟเฉฑเจชเจฃเฉ€เจ†เจ‚ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ เจตเจฟเฉฑเจš เจ–เฉเจธเจผเฉ€ เจนเฉ‹เจตเฉ‡เจ—เฉ€, เจฎเฉˆเจ‚ เจนเจฐ เจšเฉ€เจœเจผ เจฆเจพ เจœเจตเจพเจฌ เจฆเฉ‡เจฃ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐเจพเจ‚เจ—เจพ.

เจธเจฐเฉ‹เจค: www.habr.com

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹