ะ
เชเชเซ เชนเซเช เชคเชฎเชจเซ เชฌเชคเชพเชตเซเชถ เชเซ STM32 (Blue Pill) เช เชจเซ STM8 เชจเชฟเชฏเชเชคเซเชฐเชเซ เชชเชฐเชจเชพ เชเชฃเชพ เชชเซเชฐเซเชเซเชเซเชเซเชธ, เชเชพเชฐเซเชฏเซ เชฎเชพเชเซ เชเชเชฆเชฎ เชธเชฐเชณ, เชชเชฐเชเชคเซ เชเชฐเซเชฐเซ เชเชเซเชฒเชตเชพ เชฎเชพเชเซ เชกเซเชเชพเชถเซเชเซเชธเชจเซ เชเชชเชฏเซเช เชเซเชตเซ เชฐเซเชคเซ เชเชฐเชตเซ. เชฌเชงเชพ เชกเซเชฎเซ เชชเซเชฐเซเชเซเชเซเชเซเชธ เชฎเชพเชฐเชพ เชฎเชจเชชเชธเชเชฆ LED เชจเซ เชธเชฎเชฐเซเชชเชฟเชค เชเซ, เช เชฎเซ เชคเซเชฎเชจเซ เชฎเซเชเซ เชฎเชพเชคเซเชฐเชพเชฎเชพเช เชชเซเชฐเชเชพเชถเชฟเชค เชเชฐเซเชถเซเช, เชเซเชจเชพ เชฎเชพเชเซ เช เชฎเชพเชฐเซ เชคเชฎเชพเชฎ เชชเซเชฐเชเชพเชฐเชจเชพ เชฐเชธเชชเซเชฐเชฆ เชชเซเชฐเชฟเชซเซเชฐเชฒเซเชธเชจเซ เชเชชเชฏเซเช เชเชฐเชตเซ เชชเชกเชถเซ.
เชเซเชเซเชธเซเช เชซเชฐเซเชฅเซ เชตเชฟเชถเชพเชณ เชนเซเชตเชพเชจเซเช เชฌเชนเชพเชฐ เชเชตเซเชฏเซเช, เชคเซเชฅเซ เช เชจเซเชเซเชณเชคเชพ เชฎเชพเชเซ เชนเซเช เชธเชพเชฎเชเซเชฐเซ เชฌเชจเชพเชตเซ เชฐเชนเซเชฏเซ เชเซเช:
เช เชธเซเชตเซเชเชฐเชฃ: เชนเซเช เชเชจเซเชเชฟเชจเชฟเชฏเชฐ เชจเชฅเซ, เชนเซเช เชเชฒเซเชเซเชเซเชฐเซเชจเชฟเชเซเชธเชฎเชพเช เชเชเชกเซเช เชเซเชเชพเชจ เชงเชฐเชพเชตเชคเซ เชนเซเชตเชพเชจเซ เชกเซเชณ เชเชฐเชคเซ เชจเชฅเซ, เช เชฒเซเช เชฎเชพเชฐเชพ เชเซเชตเชพ เชเชฎเซเชเซเชฏเซเชฐ เชฎเชพเชเซ เชฌเชจเชพเชตเชพเชฏเซเชฒ เชเซ. เชตเชพเชธเซเชคเชตเชฎเชพเช, เชฎเซเช เชฎเชพเชฐเซ เชเชพเชคเชจเซ เชฌเซ เชตเชฐเซเชท เชชเชนเซเชฒเชพเช เชฒเชเซเชทเซเชฏ เชชเซเชฐเซเชเซเชทเช เชคเชฐเซเชเซ เชฎเชพเชจเซเชฏเซเช เชนเชคเซเช. เชเซ เชเซเชเช เชฎเชจเซ เชเชนเซเชฏเซเช เชนเซเชค เชเซ เช เชเชพเชฃเซเชฏเชพ เชเชฟเชช เชชเชฐเชจเซ เชกเซเชเชพเชถเซเชเซเชธ เชตเชพเชเชเชตเชพเชฎเชพเช เชกเชฐเชพเชฎเชฃเซ เชจ เชนเชคเซ, เชคเซ เชฎเซเช เชเชจเซเชเชฐเชจเซเช เชชเชฐ เชเซเชกเชจเชพ เชเซเชเชฒเชพเช เชเซเชเชกเชพเช เชถเซเชงเชตเชพ เช เชจเซ เชเชพเชคเชฐ เช เชจเซ เชเชกเชนเซเชธเชฟเชต เชเซเชช เชตเชกเซ เชเซเชฐเซเชเชจเซ เชถเซเชง เชเชฐเชตเชพเชฎเชพเช เชเชฃเซ เชธเชฎเชฏ เชตเชฟเชคเชพเชตเซเชฏเซ เชจ เชนเซเชค.
เช เชฒเซเชเชจเซ เชซเซเชเชธ เชกเซเชเชพเชถเซเชเซเชธ เชชเชฐ เชเซ, เชชเซเชฐเซเชเซเชเซเชเซเชธ เชชเชฐ เชจเชนเซเช, เชคเซเชฅเซ เชเซเชก เชเซเชฌ เชธเซเชเชก เช เชจเซ เชเชฃเซ เชตเชพเชฐ เชเซเชเชเชพเชฏเซเชฒเซ เชจ เชนเซเช เชถเชเซ. เชชเซเชฐเซเชเซเชเซเชเซเชธ เชชเซเชคเซ เชเซเชฌ เช เชธเชฐเชณ เชเซ, เชเซเชเซ เชจเชตเซ เชเชฟเชช เชธเชพเชฅเซ เชชเซเชฐเชฅเชฎ เชชเชฐเชฟเชเชฏ เชฎเชพเชเซ เชฏเซเชเซเชฏ เชเซ.
เชนเซเช เชเชถเชพ เชฐเชพเชเซเช เชเซเช เชเซ เชฎเชพเชฐเซ เชฒเซเช เชถเซเชเชฎเชพเช เชจเชฟเชฎเชเซเชเชจเชจเชพ เชธเชฎเชพเชจ เชคเชฌเชเซเชเซ เชเซเชเชจเซ เชฎเชฆเชฆ เชเชฐเชถเซ.
เชเชธเชเซเชเชฎ 32
DM16 เช เชจเซ SPI เชธเชพเชฅเซ 634 LEDs
เชฌเซเชฒเซ เชชเชฟเชฒ (STM32F103C8T6) เช เชจเซ DM634 LED เชกเซเชฐเชพเชเชตเชฐเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชเช เชจเชพเชจเซ เชชเซเชฐเซเชเซเชเซเช. เชกเซเชเชพเชถเซเชเซเชธเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ, เช เชฎเซ เชกเซเชฐเชพเชเชตเชฐ, STM IO เชชเซเชฐเซเชเซเชธ เชถเซเชงเซเชถเซเช เช เชจเซ SPI เชจเซ เชเซเช เชตเซเชถเซเช.
DM634
16 16-เชฌเซเช PWM เชเชเชเชชเซเช เชธเชพเชฅเซ เชคเชพเชเชตเชพเชจเชจเซ เชเชฟเชช, เชธเชพเชเชเชณเซเชฎเชพเช เชเซเชกเซ เชถเชเชพเชฏ เชเซ. เชฒเซ-เชเชจเซเชก 12-เชฌเซเช เชฎเซเชกเชฒ เชเชฐเซเชฒเซเช เชชเซเชฐเซเชเซเชเซเชเชฎเชพเชเชฅเซ เชเชพเชฃเซเชคเซเช เชเซ
เชเชคเซเชชเชพเชฆเช เชคเชพเชเชตเชพเชจ เชนเซเชตเชพเชฅเซ,
เชกเซเชธเซ เชธเชฟเชเช เชธเซเชคเซเชฐเซเชคเซ (เชเชชเชจ เชกเซเชฐเซเชเชจ)
เชธเชฟเชเช / เชเชชเชจ-เชกเซเชฐเซเชจ เชเชเชเชชเซเช - เชกเซเชฐเซเชเชจ; เชตเชนเซเชคเชพ เชชเซเชฐเชตเชพเชนเชจเซ เชธเซเชคเซเชฐเซเชค; เชเชเชเชชเซเช เชธเชเซเชฐเชฟเชฏ เชธเซเชฅเชฟเชคเชฟเชฎเชพเช เชเชฎเซเชจ เชธเชพเชฅเซ เชเซเชกเชพเชฏเซเชฒ เชเซ - เชเชฒเชเชกเซ เชกเซเชฐเชพเชเชตเชฐ เชธเชพเชฅเซ เชเซเชฅเซเชกเซเชธ เชฆเซเชตเชพเชฐเชพ เชเซเชกเชพเชฏเซเชฒ เชเซ. เชเชฒเซเชเซเชเซเชฐเชฟเชเชฒเซ, เช, เช เชฒเชฌเชคเซเชค, "เชเชชเชจ เชกเซเชฐเซเชเชจ" เชจเชฅเซ (เชเซเชฒเซเชฒเซ เชเชเชฐ), เชชเชฐเชเชคเซ เชกเซเชเชพเชถเซเชเซเชธเชฎเชพเช เชกเซเชฐเซเชเชจ เชฎเซเชกเชฎเชพเช เชชเชฟเชจ เชฎเชพเชเซ เช เชนเซเชฆเซเชฆเซ เชเชฃเซเชตเชพเชฐ เชเซเชตเชพ เชฎเชณเซ เชเซ.
เชเชเชเชชเซเช เชตเชฐเซเชคเชฎเชพเชจ เชฎเซเชฒเซเชฏ เชธเซเช เชเชฐเชตเชพ เชฎเชพเชเซ REXT เช
เชจเซ GND เชตเชเซเชเซเชจเชพ เชฌเชพเชนเซเชฏ เชชเซเชฐเชคเชฟเชฐเซเชงเชเซ
REXT เชชเชฟเชจ เช เชจเซ เชเซเชฐเชพเชเชจเซเชก เชตเชเซเชเซ เชฐเซเชซเชฐเชจเซเชธ เชฐเซเชเชฟเชธเซเชเชฐ เชเชจเซเชธเซเชเซเชฒ เชเชฐเซเชฒเซเช เชเซ, เชเซ เชเชเชเชชเซเชเชจเชพ เชเชเชคเชฐเชฟเช เชชเซเชฐเชคเชฟเชเชพเชฐเชจเซ เชจเชฟเชฏเชเชคเซเชฐเชฟเชค เชเชฐเซ เชเซ, เชกเซเชเชพเชถเซเชเชจเชพ เชชเซเชทเซเช 9 เชชเชฐเชจเซ เชเซเชฐเชพเชซ เชเซเช. DM634 เชฎเชพเช, เช เชชเซเชฐเชคเชฟเชเชพเชฐเชจเซ เชธเซเชซเซเชเชตเซเชฐ เชฆเซเชตเชพเชฐเชพ เชชเชฃ เชจเชฟเชฏเชเชคเซเชฐเชฟเชค เชเชฐเซ เชถเชเชพเชฏ เชเซ, เชเชเชเชฆเชฐ เชคเซเช (เชตเซเชถเซเชตเชฟเช เชคเซเช); เชนเซเช เช เชฒเซเชเชฎเชพเช เชตเชฟเชเชคเซเชฎเชพเช เชเชเชถ เชจเชนเซเช, เชนเซเช เช เชนเซเช เชซเชเซเชค 2.2 - 3 kOhm เชฐเซเชเชฟเชธเซเชเชฐ เชฎเซเชเซเชถ.
เชเชฟเชชเชจเซ เชเซเชตเซ เชฐเซเชคเซ เชจเชฟเชฏเชเชคเซเชฐเชฟเชค เชเชฐเชตเซ เชคเซ เชธเชฎเชเชตเชพ เชฎเชพเชเซ, เชเชพเชฒเซ เชเชชเชเชฐเชฃ เชเชจเซเชเชฐเชซเซเชธเชจเซเช เชตเชฐเซเชฃเชจ เชเซเชเช:
เชนเชพ, เช เชนเซเช เชคเซ เชเซ, เชเชพเชเชจเซเช เช เชเชเซเชฐเซเชเซ เชคเซเชจเซ เชคเชฎเชพเชฎ เชเซเชฐเซเชคเชฟเชฎเชพเช. เชเชจเซเช เชญเชพเชทเชพเชเชคเชฐ เชเชฐเชตเซเช เชธเชฎเชธเซเชฏเชพเชฐเซเชช เชเซ, เชเซ เชคเชฎเซ เชเชเซเชเซ เชคเซ เชคเชฎเซ เชคเซเชจเซ เชธเชฎเชเซ เชถเชเซ เชเซ, เชชเชฐเชเชคเซ เชฌเซเชเซ เชฐเซเชค เชเซ - เชเชพเชฐเซเชฏเชพเชคเซเชฎเช เชฐเซเชคเซ เชธเชฎเชพเชจ TLC5940 เชธเชพเชฅเซ เชเซเชกเชพเชฃ เชเซเชตเซ เชฐเซเชคเซ เชกเซเชเชพเชถเซเชเชฎเชพเช เชตเชฐเซเชฃเชตเซเชฒ เชเซ เชคเซ เชเซเช:
... เชเชชเชเชฐเชฃเชฎเชพเช เชกเซเชเชพ เชฆเชพเชเชฒ เชเชฐเชตเชพ เชฎเชพเชเซ เชฎเชพเชคเซเชฐ เชคเซเชฐเชฃ เชชเชฟเชจ เชเชฐเซเชฐเซ เชเซ. SCLK เชธเชฟเชเซเชจเชฒเชจเซ เชตเชงเชคเซ เชงเชพเชฐ SIN เชชเชฟเชจเชฎเชพเชเชฅเซ เชกเซเชเชพเชจเซ เชเชเชคเชฐเชฟเช เชฐเชเชฟเชธเซเชเชฐเชฎเชพเช เชถเชฟเชซเซเช เชเชฐเซ เชเซ. เชคเชฎเชพเชฎ เชกเซเชเชพ เชฒเซเชก เชฅเช เชเชฏเชพ เชชเชเซ, เชเซเชเชเชพ เชเชเซเช XLAT เชธเชฟเชเซเชจเชฒ เชเชเชคเชฐเชฟเช เชฐเชเชฟเชธเซเชเชฐเชฎเชพเช เชเซเชฐเชฎเชฟเช เชฐเซเชคเซ เชธเซเชฅเชพเชจเชพเชเชคเชฐเชฟเชค เชกเซเชเชพเชจเซ เชฒเซ
เช เชเชฐเซ เชเซ. เชเชเชคเชฐเชฟเช เชฐเชเชฟเชธเซเชเชฐ เช XLAT เชธเชฟเชเซเชจเชฒ เชธเซเชคเชฐ เชฆเซเชตเชพเชฐเชพ เชเซเชฐเชฟเชเชฐ เชฅเชฏเซเชฒเชพ เชฆเชฐเชตเชพเชเชพ เชเซ. เชฌเชงเชพ เชกเซเชเชพ เชธเซเชฅเซ เชฎเชนเชคเซเชตเชชเซเชฐเซเชฃ เชฌเซเช เชชเซเชฐเชฅเชฎ เชชเซเชฐเชธเชพเชฐเชฟเชค เชฅเชพเชฏ เชเซ.
เชฒเซเชเช - เชฒเซเช/เชฒเซเช/เชฒเซเช.
เชตเชงเชคเซ เชงเชพเชฐ - เชชเชฒเซเชธเชจเซ เช
เชเซเชฐเชฃเซ เชงเชพเชฐ
MSB เชชเซเชฐเชฅเชฎ - เชธเซเชฅเซ เชจเซเชเชงเชชเชพเชคเซเชฐ (เชกเชพเชฌเซเชฅเซ) เชฌเซเช เชเชเชณ.
เชกเซเชเชพ เชเชกเชฟเชฏเชพเชณ เชฎเชพเชเซ - เชเซเชฐเชฎเชถเช เชกเซเชเชพ เชเซเชฐเชพเชจเซเชธเชฎเชฟเช เชเชฐเซ (เชฌเซเช เชฌเชพเชฏ เชฌเซเช).
เชถเชฌเซเชฆ เชเชณเชฃ เชเชฃเซเชตเชพเชฐ เชเชฟเชชเซเชธ เชฎเชพเชเซเชจเชพ เชฆเชธเซเชคเชพเชตเซเชเซเชฎเชพเช เชเซเชตเชพ เชฎเชณเซ เชเซ เช เชจเซ เชคเซเชจเซเช เชตเชฟเชตเชฟเชง เชฐเซเชคเซ เชญเชพเชทเชพเชเชคเชฐ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เชคเซเชฅเซ เชธเชฎเชเชฃ เชเชพเชคเชฐ เชนเซเช เชฎเชพเชฐเซ เชเชพเชคเชจเซ เชฎเชเชเซเชฐเซ เชเชชเซเชถ
เชเช เชจเชพเชจเซ เชถเซเชเซเชทเชฃเชฟเช เชเชพเชฐเซเชฏเชเซเชฐเชฎLED เชกเซเชฐเชพเชเชตเชฐ เช เช เชจเชฟเชตเชพเชฐเซเชฏเชชเชฃเซ เชเช เชถเชฟเชซเซเช เชฐเชเซเชธเซเชเชฐ เชเซ. "เชถเชฟเชซเซเช" (เชชเชพเชณเซ) เชจเชพเชฎเชฎเชพเช - เชเชชเชเชฐเชฃเชจเซ เช เชเชฆเชฐ เชกเซเชเชพเชจเซ เชฌเซเชเชตเชพเชเช เชนเชฟเชฒเชเชพเชฒ: เช เชเชฆเชฐ เชเชธเซเชกเชตเชพเชฎเชพเช เชเชตเซเชฒ เชฆเชฐเซเช เชจเชตเซ เชฌเซเช เชคเซเชจเซ เชธเชพเชฎเซ เชธเชฎเชเซเชฐ เชธเชพเชเชเชณเชจเซ เชเชเชณ เชงเชเซเชฒเซ เชเซ. เชเซเช เชชเชฃ เชตเซเชฏเชเซเชคเชฟ เชถเชฟเชซเซเช เชฆเชฐเชฎเชฟเชฏเชพเชจ เชเชฒเชเชกเซเชจเชพ เช เชธเซเชคเชตเซเชฏเชธเซเชค เชเชฌเชเชตเชพเชจเซเช เช เชตเชฒเซเชเชจ เชเชฐเชตเชพ เชฎเชพเชเชเชคเซเช เชจเชฅเซ, เชคเซเชฅเซ เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชฌเชซเชฐ เชฐเชเชฟเชธเซเชเชฐเชฎเชพเช เชฅเชพเชฏ เชเซ เชเซ เชกเซเชฎเซเชชเชฐ เชฆเซเชตเชพเชฐเชพ เชเชพเชฐเซเชฏเชเชพเชฐเซ เชฐเชเชฟเชธเซเชเชฐเชฅเซ เช เชฒเช เชชเชกเซ เชเซ (เชเชณเชฃ) เช เชเช เชชเซเชฐเชเชพเชฐเชจเซ เชตเซเชเชเชฟเชเช เชฐเซเชฎ เชเซ เชเซเชฏเชพเช เชฌเชฟเชเซเชธเชจเซ เชเชเซเชเชฟเชค เชเซเชฐเชฎเชฎเชพเช เชเซเช เชตเชตเชพเชฎเชพเช เชเชตเซ เชเซ. เชเซเชฏเชพเชฐเซ เชฌเชงเซเช เชคเซเชฏเชพเชฐ เชนเซเชฏ, เชคเซเชฏเชพเชฐเซ เชถเชเชฐ เชเซเชฒเซ เชเซ เช เชจเซ เชฌเชฟเชเซเชธ เชเชพเชฎ เชชเชฐ เชเชพเชฏ เชเซ, เชชเชพเชเชฒเชพ เชฌเซเชเชจเซ เชฌเชฆเชฒเซเชจเซ. เชถเชฌเซเชฆ เชเชณเชฃ เชฎเชพเชเชเซเชฐเซเชเชฟเชฐเชเชฟเชเซเชธ เชฎเชพเชเซเชจเชพ เชฆเชธเซเชคเชพเชตเซเชเซเชฎเชพเช เชฒเชเชญเช เชนเชเชฎเซเชถเชพ เชเชตเชพ เชกเซเชฎเซเชชเชฐ เชธเซเชเชตเซ เชเซ, เชชเชเซ เชญเชฒเซ เชคเซ เชเชฏเชพ เชธเชเชฏเซเชเชจเซเชฎเชพเช เชตเชชเชฐเชพเชฏ เชเซ.
เชคเซเชฅเซ, DM634 เชชเชฐ เชกเซเชเชพ เชเซเชฐเชพเชจเซเชธเชซเชฐ เช เชฐเซเชคเซ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ: DAI เชเชจเชชเซเชเชจเซ เชฆเซเชฐเชจเชพ เชเชฒเชเชกเซเชจเชพ เชธเซเชฅเซ เชจเซเชเชงเชชเชพเชคเซเชฐ เชฌเซเชเชจเชพ เชฎเซเชฒเซเชฏ เชชเชฐ เชธเซเช เชเชฐเซ, DCK เชจเซ เชเชชเชฐ เช เชจเซ เชจเซเชเซ เชเซเชเชเซ; DAI เชเชจเชชเซเชเชจเซ เชเชเชฒเชพ เชฌเซเชเชจเชพ เชฎเซเชฒเซเชฏ เชชเชฐ เชธเซเช เชเชฐเซ, DCK เชเซเชเชเซ; เช เชจเซ เชคเซเชฅเซ เชเซเชฏเชพเช เชธเซเชงเซ เชคเชฎเชพเชฎ เชฌเชฟเชเซเชธ เชเซเชฐเชพเชจเซเชธเชฎเชฟเช เชจ เชฅเชพเชฏ เชคเซเชฏเชพเช เชธเซเชงเซ (เชเชกเชฟเชฏเชพเชณเชฎเชพเช), เชเซ เชชเชเซ เชเชชเชฃเซ LAT เชเซเชเชเซเช เชเซเช. เช เชเชพเชคเซ เชเชฐเซ เชถเชเชพเชฏ เชเซ (เชฌเซเช-เชฌเซเชเช), เชชเชฐเชเชคเซ เช เชฎเชพเชเซ เชเชพเชธ เชคเซเชฏเชพเชฐ เชเชฐเซเชฒ SPI เชเชจเซเชเชฐเชซเซเชธเชจเซ เชเชชเชฏเซเช เชเชฐเชตเซ เชตเชงเซ เชธเชพเชฐเซเช เชเซ, เชเชพเชฐเชฃ เชเซ เชคเซ เช เชฎเชพเชฐเชพ STM32 เชชเชฐ เชฌเซ เชจเชเชฒเซเชฎเชพเช เชชเซเชฐเชธเซเชคเซเชค เชเซ.
เชฌเซเชฒเซ เชชเซเชฒ STM32F103
เชชเซเชฐเชพเชฐเชเชญเชฟเช: STM32 เชจเชฟเชฏเชเชคเซเชฐเชเซ เชเชเชฎเซเชเชพ328 เชเชฐเชคเชพเช เชตเชงเซ เชเชเชฟเชฒ เชเซ เชเซ เชเชฆเชพเช เชกเชฐเชพเชฎเชฃเซ เชฒเชพเชเซ เชเซ. เชคเชฆเซเชชเชฐเชพเชเชค, เชเชฐเซเชเชพ เชฌเชเชคเชจเชพ เชเชพเชฐเชฃเซเชธเชฐ, เชฒเชเชญเช เชคเชฎเชพเชฎ เชชเซเชฐเชฟเชซเซเชฐเชฒเซเชธ เชถเชฐเซเชเชคเชฎเชพเช เชฌเชเชง เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เช
เชจเซ เชเชกเชฟเชฏเชพเชณเชจเซ เชเชตเชฐเซเชคเชจ เชเชเชคเชฐเชฟเช เชธเซเชคเซเชฐเซเชคเชฅเซ 8 เชฎเซเชเชพเชนเชฐเซเชเช เชเซ. เชธเชฆเชจเชธเซเชฌเซ, STM เชชเซเชฐเซเชเซเชฐเชพเชฎเชฐเซเช เชเซเชก เชฒเชเซเชฏเซ เชนเชคเซ เชเซ เชเชฟเชชเชจเซ "เชเชฃเชคเชฐเซ เชเชฐเซเชฒ" 72 เชฎเซเชเชพเชนเชฐเซเชเช เชธเซเชงเซ เชฒเชพเชตเซ เชเซ, เช
เชจเซ เชนเซเช เชเชพเชฃเซเช เชเซเช เชคเซ เชคเชฎเชพเชฎ IDE เชจเชพ เชฒเซเชเชเซเช เชคเซเชจเซ เชชเซเชฐเชพเชฐเชเชญเชฟเช เชชเซเชฐเชเซเชฐเชฟเชฏเชพเชฎเชพเช เชธเชพเชฎเซเชฒ เชเชฐเซเชฏเซ เชเซ, เชคเซเชฅเซ เช
เชฎเชพเชฐเซ เชเชกเชฟเชฏเชพเชณเชจเซ เชเชฐเซเชฐ เชจเชฅเซ (เชชเชฐเชเชคเซ
เชฆเชธเซเชคเชพเชตเซเชเซเชเชฐเชฃ: เชฌเซเชฒเซ เชชเชฟเชฒ เชฒเซเชเชชเซเชฐเชฟเชฏ STM32F103C8T6 เชเชฟเชชเชฅเซ เชธเชเซเช เชเซ, เชคเซเชจเชพ เชฎเชพเชเซ เชฌเซ เชเชชเชฏเซเชเซ เชฆเชธเซเชคเชพเชตเซเชเซ เชเซ:
เชกเซเชเชพ เชถเซเช เชฎเชพเชเชเซเชฐเซเชเชจเซเชเซเชฐเซเชฒเชฐเซเชธ STM32F103x8 เช เชจเซ STM32F103xB เชฎเชพเชเซ;เชธเชเชฆเชฐเซเชญ เชฎเซเชจเซเชฏเซเช เชฒ เชธเชฎเชเซเชฐ STM32F103 เชฒเชพเชเชจ เช เชจเซ เชตเชงเซ เชฎเชพเชเซ.
เชกเซเชเชพเชถเซเชเชฎเชพเช เช เชฎเชจเซ เชฐเชธ เชนเซเช เชถเชเซ เชเซ:
- เชชเชฟเชจเชเชเชเซเชธ - เชเชฟเชช เชชเชฟเชจเชเชเชเซเชธ - เชเซ เชเชชเชฃเซ เชฌเซเชฐเซเชก เชเชพเชคเซ เชฌเชจเชพเชตเชตเชพเชจเซเช เชจเชเซเชเซ เชเชฐเซเช;
- เชฎเซเชฎเชฐเซ เชฎเซเชช - เชเซเชเซเชเชธ เชเชฟเชช เชฎเชพเชเซ เชฎเซเชฎเชฐเซ เชฎเซเชช. เชธเชเชฆเชฐเซเชญ เชฎเชพเชฐเซเชเชฆเชฐเซเชถเชฟเชเชพเชฎเชพเช เชธเชฎเชเซเชฐ เชฒเชพเชเชจ เชฎเชพเชเซ เชจเชเชถเซ เชเซ, เช เชจเซ เชคเซ เช เชฎเชพเชฐเซ เชชเชพเชธเซ เชจ เชนเซเชฏ เชคเซเชตเชพ เชฐเชเชฟเชธเซเชเชฐเชจเซ เชเชฒเซเชฒเซเช เชเชฐเซ เชเซ.
- เชชเชฟเชจ เชตเซเชฏเชพเชเซเชฏเชพเช เชเซเชทเซเชเช - เชชเชฟเชจเชจเชพ เชฎเซเชเซเชฏ เช เชจเซ เชตเซเชเชฒเซเชชเชฟเช เชเชพเชฐเซเชฏเซเชจเซ เชธเซเชเชฟ; "เชตเชพเชฆเชณเซ เชเซเชณเซ" เชฎเชพเชเซ เชคเชฎเซ เชชเชฟเชจ เช เชจเซ เชคเซเชฎเชจเชพ เชเชพเชฐเซเชฏเซเชจเซ เชธเซเชเชฟ เชธเชพเชฅเซ เชเชจเซเชเชฐเชจเซเช เชชเชฐ เชตเชงเซ เช เชจเซเชเซเชณ เชเชฟเชคเซเชฐเซ เชถเซเชงเซ เชถเชเซ เชเซ. เชคเซเชฅเซ, เช เชฎเซ เชคเชฐเชค เช เชฌเซเชฒเซ เชชเชฟเชฒ เชชเชฟเชจเชเชเช เชเซเชเชฒ เชเชฐเซเช เชเซเช เช เชจเซ เช เชเชฟเชคเซเชฐเชจเซ เชนเชพเชฅเชฎเชพเช เชฐเชพเชเซเช เชเซเช:
เชจเซเชเชง: เชเชจเซเชเชฐเชจเซเช เชชเชฐเชฅเซ เชเชฟเชคเซเชฐเชฎเชพเช เชเช เชญเซเชฒ เชนเชคเซ, เชเซ เชเชฟเชชเซเชชเชฃเซเชเชฎเชพเช เชจเซเชเชงเชตเชพเชฎเชพเช เชเชตเซ เชนเชคเซ, เชคเซเชจเชพ เชฎเชพเชเซ เชเชญเชพเชฐ. เชเชฟเชคเซเชฐ เชฌเชฆเชฒเชตเชพเชฎเชพเช เชเชตเซเชฏเซเช เชเซ, เชชเชฐเชเชคเซ เช เชเช เชชเชพเช เชเซ - เชกเซเชเชพเชถเซเชเชฎเชพเชเชฅเซ เชจเชนเซเช เชชเชฃ เชฎเชพเชนเชฟเชคเซ เชคเชชเชพเชธเชตเซ เชตเชงเซ เชธเชพเชฐเซเช เชเซ.
เช
เชฎเซ เชกเซเชเชพเชถเซเช เชฆเซเชฐ เชเชฐเซเช เชเซเช, เชธเชเชฆเชฐเซเชญ เชฎเชพเชฐเซเชเชฆเชฐเซเชถเชฟเชเชพ เชเซเชฒเซเช เชเซเช, เช
เชจเซ เชนเชตเซเชฅเซ เช
เชฎเซ เชซเชเซเชค เชคเซเชจเซ เชเชชเชฏเซเช เชเชฐเซเช เชเซเช.
เชชเซเชฐเชเซเชฐเชฟเชฏเชพ: เช
เชฎเซ เชชเซเชฐเชฎเชพเชฃเชญเซเชค เชเชจเชชเซเช/เชเชเชเชชเซเช เชธเชพเชฅเซ เชตเซเชฏเชตเชนเชพเชฐ เชเชฐเซเช เชเซเช, SPI เชเซเช เชตเซเช เชเซเช, เชเชฐเซเชฐเซ เชชเซเชฐเชฟเชซเซเชฐเชฒเซเชธ เชเชพเชฒเซ เชเชฐเซเช เชเซเช.
เชเชจเชชเซเช เชเชเชเชชเซเช
Atmega328 เชชเชฐ, I/O เชจเซ เช เชคเซเชฏเชเชค เชธเชฐเชณ เชฐเซเชคเซ เชฒเชพเชเซ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เชคเซเชฅเซ เช STM32 เชตเชฟเชเชฒเซเชชเซเชจเซ เชตเชฟเชชเซเชฒเชคเชพ เชฎเซเชเชเชตเชฃเชฎเชพเช เชฎเซเชเซ เชเซ. เชนเชตเซ เชเชชเชฃเชจเซ เชซเชเซเชค เชจเชฟเชทเซเชเชฐเซเชทเชจเซ เชเชฐเซเชฐ เชเซ, เชชเชฐเชเชคเซ เชคเซเชฎเชพเช เชชเชฃ เชเชพเชฐ เชตเชฟเชเชฒเซเชชเซ เชเซ:
เชเชชเชจ เชกเซเชฐเซเชเชจ, เชชเซเชถ-เชชเซเชฒ, เชตเซเชเชฒเซเชชเชฟเช เชชเซเชถ-เชชเซเชฒ, เชตเซเชเชฒเซเชชเชฟเช เชเชชเชจ เชกเซเชฐเซเชเชจ
"เชชเซเชฒ-เชชเซเชถ" (เชชเซเชถ-เชชเซเชฒ) เช Arduino เชจเซเช เชธเชพเชฎเชพเชจเซเชฏ เชเชเชเชชเซเช เชเซ, เชชเชฟเชจ เชเชเชเซ เช
เชฅเชตเชพ เชจเซเชเซ เชเชฟเชเชฎเชค เชฒเช เชถเชเซ เชเซ. เชชเชฐเชเชคเซ "เชเชชเชจ เชกเซเชฐเซเชเชจ" เชธเชพเชฅเซ เชคเซเชฏเชพเช เชเซ
เชเชเชเชชเซเช เชฐเซเชชเชฐเซเชเชพเชเชเชจ / เชเซเชฏเชพเชฐเซ เชชเซเชฐเซเชเชจเซ เชเชเชเชชเซเช เชธเซเชเชชเชตเชพเชฎเชพเช เชเชตเซ เชเซ: / เชเชเชเชชเซเช เชฌเชซเชฐ เชธเชเซเชทเชฎ: / โ เชเชชเชจ เชกเซเชฐเซเชเชจ เชฎเซเชก: เชเชเชเชชเซเช เชฐเชเชฟเชธเซเชเชฐเชฎเชพเช "0" N-MOSเชจเซ เชธเชเซเชทเชฎ เชเชฐเซ เชเซ, เชเชเชเชชเซเช เชฐเชเชฟเชธเซเชเชฐเชฎเชพเช "1" เชชเซเชฐเซเชเชจเซ Hi-Z เชฎเซเชกเชฎเชพเช เชเซเชกเซ เชฆเซ เชเซ ( P-MOS เชธเชเซเชฐเชฟเชฏ เชฅเชฏเซเชฒ เชจเชฅเซ ) / โ เชชเซเชถ-เชชเซเชฒ เชฎเซเชก: เชเชเชเชชเซเช เชฐเชเชฟเชธเซเชเชฐเชฎเชพเช โ0โ N-MOS เชจเซ เชธเชเซเชฐเชฟเชฏ เชเชฐเซ เชเซ, เชเชเชเชชเซเช เชฐเชเชฟเชธเซเชเชฐเชฎเชพเช โ1โ P-MOS เชจเซ เชธเชเซเชฐเชฟเชฏ เชเชฐเซ เชเซ.
เชเซเชฒเซเชฒเชพ เชเชเชฐ เชตเชเซเชเซเชจเซ เชคเชฎเชพเชฎ เชคเชซเชพเชตเชค (เชเซเชฒเซเชฒเซ เชเชเชฐ) "เชชเซเชถ-เชชเซเชฒ" เชฎเชพเชเชฅเซ (เชชเซเชถ-เชชเซเชฒ) เช เชเซ เชเซ เชชเซเชฐเชฅเชฎ เชชเชฟเชจเชฎเชพเช เชเชเซเช เชธเซเชฅเชฟเชคเชฟ เชธเซเชตเซเชเชพเชฐเซ เชถเชเชพเชคเซ เชจเชฅเซ: เชเซเชฏเชพเชฐเซ เชเชเชเชชเซเช เชฐเชเชฟเชธเซเชเชฐเชฎเชพเช เชเช เชฒเชเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เชคเซเชฏเชพเชฐเซ เชคเซ เชเชเซเช เชชเซเชฐเชคเชฟเชเชพเชฐ เชฎเซเชกเชฎเชพเช เชเชพเชฏ เชเซ (เชเชเซเช เช เชตเชฌเชพเชง, เชนเชพเชฏ-เชเซเชก). เชถเซเชจเซเชฏ เชฒเชเชคเซ เชตเชเชคเซ, เชชเซเชจ เชคเชพเชฐเซเชเชฟเช เช เชจเซ เชตเชฟเชฆเซเชฏเซเชค เชฌเชเชจเซ เชธเซเชฅเชฟเชคเชฟเชเชฎเชพเช เชธเชฎเชพเชจ เชตเชฐเซเชคเซ เชเซ.
เชธเชพเชฎเชพเชจเซเชฏ เชเชเชเชชเซเช เชฎเซเชกเชฎเชพเช, เชชเชฟเชจ เชซเชเซเชค เชเชเชเชชเซเช เชฐเชเชฟเชธเซเชเชฐเชจเซ เชธเชพเชฎเชเซเชฐเซเชเชจเซเช เชชเซเชฐเชธเชพเชฐเชฃ เชเชฐเซ เชเซ. "เชตเซเชเชฒเซเชชเชฟเช" เชฎเชพเช เชคเซ เช เชจเซเชฐเซเชช เชชเซเชฐเชฟเชซเซเชฐเชฒเซเชธ เชฆเซเชตเชพเชฐเชพ เชจเชฟเชฏเชเชคเซเชฐเชฟเชค เชฅเชพเชฏ เชเซ (เชเซเช 9.1.4):
เชเซ เชชเซเชฐเซเช เชฌเซเช เชตเซเชเชฒเซเชชเชฟเช เชเชพเชฐเซเชฏ เชชเชฟเชจ เชคเชฐเซเชเซ เชเซเช เชตเซเชฒ เชนเซเชฏ, เชคเซ เชชเชฟเชจ เชฐเชเชฟเชธเซเชเชฐ เช
เชเซเชทเชฎ เชฅเชพเชฏ เชเซ เช
เชจเซ เชชเชฟเชจ เชชเซเชฐเชฟเชซเซเชฐเชฒ เชชเชฟเชจ เชธเชพเชฅเซ เชเซเชกเชพเชฏเซเชฒ เชนเซเชฏ เชเซ.
เชฆเชฐเซเช เชชเชฟเชจเชจเซ เชตเซเชเชฒเซเชชเชฟเช เชเชพเชฐเซเชฏเชเซเชทเชฎเชคเชพ เชตเชฐเซเชฃเชตเซเชฒ เชเซ เชชเชฟเชจ เชตเซเชฏเชพเชเซเชฏเชพเช เชกเซเชเชพเชถเซเช เชกเชพเชเชจเชฒเซเชก เชเชฐเซเชฒเซ เชเชฎเซเช เชชเชฐ เชเซ. เชเซ เชชเชฟเชจเชฎเชพเช เช เชจเซเช เชตเซเชเชฒเซเชชเชฟเช เชเชพเชฐเซเชฏเซ เชนเซเชฏ เชคเซ เชถเซเช เชเชฐเชตเซเช เชคเซ เชชเซเชฐเชถเซเชจเชจเซ เชเชตเชพเชฌ เชกเซเชเชพเชถเซเชเชฎเชพเช เชซเซเชเชจเซเช เชฆเซเชตเชพเชฐเชพ เชเชชเชตเชพเชฎเชพเช เชเชตเซ เชเซ:
เชเซ เชฌเชนเซเชตเชฟเชง เชชเซเชฐเชฟเชซเซเชฐเชฒ เชเช เช เชชเชฟเชจเชจเซ เชเชชเชฏเซเช เชเชฐเซ เชเซ, เชคเซ เชตเซเชเชฒเซเชชเชฟเช เชเชพเชฐเซเชฏเซ เชตเชเซเชเซเชจเชพ เชธเชเชเชฐเซเชทเชจเซ เชเชพเชณเชตเชพ เชฎเชพเชเซ, เชเช เชธเชฎเชฏเซ เชฎเชพเชคเซเชฐ เชเช เชชเซเชฐเชฟเชซเซเชฐเชฒเชจเซ เชเชชเชฏเซเช เชฅเชตเซ เชเซเชเช, เชชเซเชฐเชฟเชซเซเชฐเชฒ เชเซเชฒเซเช เชเชจเซเชฌเชฒ เชฌเซเช (เชฏเซเชเซเชฏ RCC เชฐเชเชฟเชธเซเชเชฐเชฎเชพเช)เชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชเซเชเชฒ เชเชฐเซเชจเซ.
เชเซเชฒเซเชฒเซ, เชเชเชเชชเซเช เชฎเซเชกเชฎเชพเช เชชเชฟเชจเชจเซ เชชเชฃ เชเชกเชฟเชฏเชพเชณเชจเซ เชเชกเชช เชนเซเชฏ เชเซ. เช เชฌเซเชเซ เชเชฐเซเชเชพ เชฌเชเชค เชธเซเชตเชฟเชงเชพ เชเซ; เช เชฎเชพเชฐเชพ เชเชฟเชธเซเชธเชพเชฎเชพเช, เช เชฎเซ เชคเซเชจเซ เชฎเชนเชคเซเชคเชฎ เชชเชฐ เชธเซเช เชเชฐเซเช เชเซเช เช เชจเซ เชคเซเชจเซ เชญเซเชฒเซ เชเชเช เชเซเช.
เชคเซเชฅเซ: เช เชฎเซ SPI เชจเซ เชเชชเชฏเซเช เชเชฐเซ เชฐเชนเซเชฏเชพ เชเซเช, เชเซเชจเซ เช เชฐเซเชฅ เชเซ เชเซ เชฌเซ เชชเชฟเชจ (เชกเซเชเชพ เชธเชพเชฅเซ เช เชจเซ เชเชกเชฟเชฏเชพเชณ เชธเชฟเชเซเชจเชฒ เชธเชพเชฅเซ) "เชตเซเชเชฒเซเชชเชฟเช เชชเซเชถ-เชชเซเชฒ เชซเชเชเซเชถเชจ" เชนเซเชตเซ เชเซเชเช, เช เชจเซ เชฌเซเชเซ เชเช (LAT) "เชฐเซเชเซเชฏเซเชฒเชฐ เชชเซเชถ-เชชเซเชฒ" เชนเซเชตเซ เชเซเชเช. เชชเชฐเชเชคเซ เชคเซเชฎเชจเซ เชธเซเชเชชเชคเชพ เชชเชนเซเชฒเชพ, เชเชพเชฒเซ SPI เชธเชพเชฅเซ เชตเซเชฏเชตเชนเชพเชฐ เชเชฐเซเช.
SPI
เชฌเซเชเซ เชจเชพเชจเซ เชถเซเชเซเชทเชฃเชฟเช เชเชพเชฐเซเชฏเชเซเชฐเชฎ
SPI เช เชฅเชตเชพ เชธเซเชฐเซเชฏเชฒ เชชเซเชฐเซเชซเซเชฐเชฒ เชเชจเซเชเชฐเชซเซเชธ (เชธเซเชฐเซเชฏเชฒ เชชเซเชฐเซเชซเซเชฐเชฒ เชเชจเซเชเชฐเชซเซเชธ) เชเช MK เชจเซ เช เชจเซเชฏ MK เช เชจเซ เชธเชพเชฎเชพเชจเซเชฏ เชฐเซเชคเซ เชฌเชนเชพเชฐเชจเซ เชฆเซเชจเชฟเชฏเชพ เชธเชพเชฅเซ เชเซเชกเชตเชพ เชฎเชพเชเซ เชเช เชธเชฐเชณ เช เชจเซ เชเซเชฌ เช เช เชธเชฐเชเชพเชฐเช เชเชจเซเชเชฐเชซเซเชธ เชเซ. เชคเซเชจเชพ เชเชชเชฐเซเชถเชจเชจเชพ เชธเชฟเชฆเซเชงเชพเชเชค เชเชชเชฐ เชชเชนเซเชฒเซเชฅเซ เช เชตเชฐเซเชฃเชตเชตเชพเชฎเชพเช เชเชตเซเชฏเซเช เชเซ, เชเซเชฏเชพเช เชเชพเชเชจเซเช เชเชฒเชเชกเซ เชกเซเชฐเชพเชเชตเชฐ เชตเชฟเชถเซ (เชธเชเชฆเชฐเซเชญ เชฎเชพเชฐเซเชเชฆเชฐเซเชถเชฟเชเชพเชฎเชพเช, เชตเชฟเชญเชพเช 25 เชเซเช). SPI เชฎเชพเชธเซเชเชฐ (โเชฎเชพเชธเซเชเชฐโ) เช เชจเซ เชธเซเชฒเซเชต (โเชธเซเชฒเซเชตโ) เชฎเซเชกเชฎเชพเช เชเชพเชฎ เชเชฐเซ เชถเชเซ เชเซ. SPI เชชเชพเชธเซ เชเชพเชฐ เชฎเซเชณเชญเซเชค เชเซเชจเชฒเซ เชเซ, เชเซเชฎเชพเชเชฅเซ เชคเชฎเชพเชฎเชจเซ เชเชชเชฏเซเช เชเชฐเซ เชถเชเชพเชคเซ เชจเชฅเซ:
- MOSI, เชฎเชพเชธเซเชเชฐ เชเชเชเชชเซเช / เชธเซเชฒเซเชต เชเชจเชชเซเช: เช เชชเชฟเชจ เชฎเชพเชธเซเชเชฐ เชฎเซเชกเชฎเชพเช เชกเซเชเชพ เชเซเชฐเชพเชจเซเชธเชฎเชฟเช เชเชฐเซ เชเซ, เช เชจเซ เชธเซเชฒเซเชต เชฎเซเชกเชฎเชพเช เชกเซเชเชพ เชฎเซเชณเชตเซ เชเซ;
- MISO, เชฎเชพเชธเซเชเชฐ เชเชจเชชเซเช / เชธเซเชฒเซเชต เชเชเชเชชเซเช: เชคเซเชจเชพเชฅเซ เชตเชฟเชชเชฐเซเชค, เชคเซ เชฎเชพเชธเซเชเชฐเชฎเชพเช เชฎเซเชณเชตเซ เชเซ, เช เชจเซ เชธเซเชฒเซเชตเชฎเชพเช เชชเซเชฐเชธเชพเชฐเชฟเชค เชฅเชพเชฏ เชเซ;
- SCK, เชธเซเชฐเซเชฏเชฒ เชเชกเชฟเชฏเชพเชณ: เชฎเชพเชธเซเชเชฐเชฎเชพเช เชกเซเชเชพ เชเซเชฐเชพเชจเซเชธเชฎเชฟเชถเชจเชจเซ เชเชตเชฐเซเชคเชจ เชธเซเช เชเชฐเซ เชเซ เช เชฅเชตเชพ เชธเซเชฒเซเชตเชฎเชพเช เชเชกเชฟเชฏเชพเชณ เชธเชฟเชเซเชจเชฒ เชฎเซเชณเชตเซ เชเซ. เช เชจเชฟเชตเชพเชฐเซเชฏเชชเชฃเซ เชงเชฌเชเชพเชฐเชพ เชฎเชพเชฐเชตเชพ;
- เชเชธเชเชธ, เชธเซเชฒเซเชต เชธเชฟเชฒเซเชเซเช: เช เชเซเชจเชฒเชจเซ เชฎเชฆเชฆเชฅเซ, เชเซเชฒเชพเชฎ เชเชพเชฃเซ เชเซ เชเซ เชคเซเชจเซ เชชเชพเชธเซเชฅเซ เชเชเชเช เชเซเชเช เชเซ. STM32 เชชเชฐ เชคเซเชจเซ NSS เชเชนเซเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เชเซเชฏเชพเช N = เชจเซเชเซเชเชฟเชต, เชเชเชฒเซ เชเซ. เชเซ เช เชเซเชจเชฒเชฎเชพเช เชเชฎเซเชจ เชนเซเชฏ เชคเซ เชจเชฟเชฏเชเชคเซเชฐเช เชเซเชฒเชพเชฎ เชฌเชจเซ เชเชพเชฏ เชเซ. เชคเซ เชเชชเชจ เชกเซเชฐเซเชเชจ เชเชเชเชชเซเช เชฎเซเชก เชธเชพเชฅเซ เชธเชพเชฐเซ เชฐเซเชคเซ เชเซเชกเชพเชฏเซเชฒเซเช เชเซ, เชชเชฐเชเชคเซ เชคเซ เชฌเซเชเซ เชตเชพเชฐเซเชคเชพ เชเซ.
เชฌเซเชเชพ เชฌเชงเชพเชจเซ เชเซเชฎ, STM32 เชชเชฐ SPI เชเชพเชฐเซเชฏเชเซเชทเชฎเชคเชพเชฎเชพเช เชธเชฎเซเชฆเซเชง เชเซ, เชเซ เชคเซเชจเซ เชธเชฎเชเชตเชพเชฎเชพเช เชเชเชเช เช เชเชถเซ เชฎเซเชถเซเชเซเชฒ เชฌเชจเชพเชตเซ เชเซ. เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, เชคเซ เชซเชเซเชค SPI เชธเชพเชฅเซ เช เชจเชนเซเช, เชชเชฃ I2S เชเชจเซเชเชฐเชซเซเชธ เชธเชพเชฅเซ เชชเชฃ เชเชพเชฎ เชเชฐเซ เชถเชเซ เชเซ, เช เชจเซ เชฆเชธเซเชคเชพเชตเซเชเซเชเชฐเชฃเชฎเชพเช เชคเซเชฎเชจเชพ เชตเชฐเซเชฃเชจเซ เชฎเชฟเชถเซเชฐเชฟเชค เชเซ, เชธเชฎเชฏเชธเชฐ เชฐเซเชคเซ เชตเชงเชพเชฐเชพเชจเซเช เชเชพเชชเชตเซเช เชเชฐเซเชฐเซ เชเซ. เช เชฎเชพเชฐเซเช เชเชพเชฐเซเชฏ เช เชคเซเชฏเชเชค เชธเชฐเชณ เชเซ: เช เชฎเชพเชฐเซ เชซเชเซเชค MOSI เช เชจเซ SCK เชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชกเซเชเชพ เชฎเซเชเชฒเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ. เช เชฎเซ เชตเชฟเชญเชพเช 25.3.4 (เช เชฐเซเชง-เชกเซเชชเซเชฒเซเชเซเชธ เชเชฎเซเชฏเซเชจเชฟเชเซเชถเชจ, เชนเชพเชซ-เชกเซเชชเซเชฒเซเชเซเชธ เชเชฎเซเชฏเซเชจเชฟเชเซเชถเชจ) เชชเชฐ เชเชเช เชเซเช, เชเซเชฏเชพเช เช เชฎเชจเซ เชฎเชณเซ เชเซ 1 เชเชกเชฟเชฏเชพเชณ เช เชจเซ 1 เชฆเชฟเชถเชพเชนเซเชจ เชกเซเชเชพ เชตเชพเชฏเชฐ (1 เชเชกเชฟเชฏเชพเชณ เชธเชเชเซเชค เช เชจเซ 1 เชฆเชฟเชถเชพเชนเซเชจ เชกเซเชเชพ เชธเซเชเซเชฐเซเชฎ):
เช เชฎเซเชกเชฎเชพเช, เชเชชเซเชฒเชฟเชเซเชถเชจ เชเชพเช เชคเซ เชเซเชฐเชพเชจเซเชธเชฎเชฟเช-เชเชจเซเชฒเซ เช
เชฅเชตเชพ เชฐเชฟเชธเซเชต-เชเชจเซเชฒเซ เชฎเซเชกเชฎเชพเช SPI เชจเซ เชเชชเชฏเซเช เชเชฐเซ เชเซ. / เชเซเชฐเชพเชจเซเชธเชฎเชฟเช-เชเชจเซเชฒเซ เชฎเซเชก เช เชกเซเชชเซเชฒเซเชเซเชธ เชฎเซเชก เชเซเชตเซ เช เชเซ: เชกเซเชเชพ เชเซเชฐเชพเชจเซเชธเชฎเชฟเช เชชเชฟเชจ เชชเชฐ เชเซเชฐเชพเชจเซเชธเชฎเชฟเช เชฅเชพเชฏ เชเซ (เชฎเชพเชธเซเชเชฐ เชฎเซเชกเชฎเชพเช MOSI เช
เชฅเชตเชพ เชธเซเชฒเซเชต เชฎเซเชกเชฎเชพเช MISO), เช
เชจเซ เชฐเชฟเชธเซเชต เชชเชฟเชจ (เช
เชจเซเชเซเชฐเชฎเซ MISO เช
เชฅเชตเชพ MOSI) เชจเซ เชเชชเชฏเซเช เชจเชฟเชฏเชฎเชฟเชค I/O เชชเชฟเชจ เชคเชฐเซเชเซ เชฅเช เชถเชเซ เชเซ. . เช เชเชฟเชธเซเชธเชพเชฎเชพเช, เชเชชเซเชฒเชฟเชเซเชถเชจเชจเซ เชซเชเซเชค Rx เชฌเชซเชฐเชจเซ เช
เชตเชเชฃเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ (เชเซ เชคเซ เชตเชพเชเชเชตเชพเชฎเชพเช เชเชตเซ, เชคเซ เชคเซเชฏเชพเช เชเซเช เชธเซเชฅเชพเชจเชพเชเชคเชฐเชฟเชค เชกเซเชเชพ เชนเชถเซ เชจเชนเซเช).
เชธเชฐเชธ, MISO เชชเชฟเชจ เชฎเชซเชค เชเซ, เชเชพเชฒเซ LAT เชธเชฟเชเซเชจเชฒเชจเซ เชคเซเชจเซ เชธเชพเชฅเซ เชเซเชกเซเช. เชเชพเชฒเซ เชธเซเชฒเซเชต เชธเชฟเชฒเซเชเซเช เชเซเชเช, เชเซ STM32 เชชเชฐ เชชเซเชฐเซเชเซเชฐเชพเชฎเซเชเชฟเชเชฒเซ เชจเชฟเชฏเชเชคเซเชฐเชฟเชค เชเชฐเซ เชถเชเชพเชฏ เชเซ, เชเซ เช เชคเซเชฏเชเชค เช เชจเซเชเซเชณ เชเซ. เช เชฎเซ เชตเชฟเชญเชพเช 25.3.1 SPI เชธเชพเชฎเชพเชจเซเชฏ เชตเชฐเซเชฃเชจเชฎเชพเช เชธเชฎเชพเชจ เชจเชพเชฎเชจเซ เชซเชเชฐเซ เชตเชพเชเชเซเช เชเซเช:
เชธเซเชซเซเชเชตเซเชฐ เชจเชฟเชฏเชเชคเซเชฐเชฃ NSS (SSM = 1) / เชธเซเชฒเซเชต เชชเชธเชเชฆเชเซ เชฎเชพเชนเชฟเชคเซ SPI_CR1 เชฐเชเชฟเชธเซเชเชฐเชจเชพ SSI เชฌเซเชเชฎเชพเช เชธเชฎเชพเชฏเซเชฒ เชเซ. เชฌเชพเชนเซเชฏ NSS เชชเชฟเชจ เช
เชจเซเชฏ เชเชชเซเชฒเชฟเชเซเชถเชจ เชเชฐเซเชฐเชฟเชฏเชพเชคเซ เชฎเชพเชเซ เชฎเชซเชค เชฐเชนเซ เชเซ.
เชฐเชเชฟเชธเซเชเชฐ เชชเชฐ เชฒเชเชตเชพเชจเซ เชธเชฎเชฏ เชเซ. เชฎเซเช SPI2 เชจเซ เชเชชเชฏเซเช เชเชฐเชตเชพเชจเซเช เชจเชเซเชเซ เชเชฐเซเชฏเซเช, เชกเซเชเชพเชถเซเชเชฎเชพเช เชคเซเชจเซเช เชเชงเชพเชฐ เชธเชฐเชจเชพเชฎเซเช เชเซเช - เชตเชฟเชญเชพเช 3.3 เชฎเซเชฎเชฐเซ เชฎเซเชชเชฎเชพเช:
เชธเชพเชฐเซเช, เชเชพเชฒเซ เชถเชฐเซ เชเชฐเซเช:
#define _SPI2_(mem_offset) (*(volatile uint32_t *)(0x40003800 + (mem_offset)))
เชตเชฟเชญเชพเช 25.3.3 เชเซเชฒเซ เชธเซเชต-เชธเซเชชเชทเซเชเซเชเชฐเชฃ เชถเซเชฐเซเชทเช เชธเชพเชฅเซ "เชฎเชพเชธเซเชเชฐ เชฎเซเชกเชฎเชพเช SPI เชจเซ เชเซเช เชตเชฃเซ":
1. SPI_CR2 เชฐเชเชฟเชธเซเชเชฐเชฎเชพเช เชฌเซเชเซเชธ BR[0:1] เชธเชพเชฅเซ เชธเซเชฐเซเชฏเชฒ เชเซเชฒเซเช เชซเซเชฐเซเชเซเชตเชจเซเชธเซ เชธเซเช เชเชฐเซ.
เชฐเชเชฟเชธเซเชเชฐ เช เช เชจเชพเชฎเชจเชพ เชธเชเชฆเชฐเซเชญ เชฎเซเชจเซเชฏเซเช เชฒ เชตเชฟเชญเชพเชเชฎเชพเช เชเชเชคเซเชฐเชฟเชค เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ. เชธเชฐเชจเชพเชฎเซเช เชถเชฟเชซเซเช (เชธเชฐเชจเชพเชฎเซเช เชเชซเชธเซเช) CR1 - 0x00 เชฎเชพเชเซ, เชกเชฟเชซเซเชฒเซเช เชฐเซเชชเซ เชคเชฎเชพเชฎ เชฌเชฟเชเซเชธ เชธเชพเชซ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ (เชฎเซเชฒเซเชฏ เชฐเซเชธเซเช เชเชฐเซ 0x0000):
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 เชฌเชฟเชเซเชธเชจเชพ เชเซเชเซเชธเซเช เชตเชฐเซเชฃเชจ เชชเชฐ เชจเชเซเชเชฅเซ เชจเชเชฐ เชเชฐเซเช:
เชเชกเชฟเชฏเชพเชณเชจเซ เชคเชฌเชเซเชเซ เช
เชจเซ เชงเซเชฐเซเชตเซเชฏเชคเชพ
SPI_CR1 เชฐเชเชฟเชธเซเชเชฐเชจเชพ CPOL เช
เชจเซ CPHA เชฌเชฟเชเซเชธเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ, เชคเชฎเซ เชชเซเชฐเซเชเซเชฐเชพเชฎเซเชเชฟเชเชฒเซ เชเชพเชฐ เชเชพเชเชฎเชฟเชเช เชธเชเชฌเชเชงเซ เชชเชธเชเชฆ เชเชฐเซ เชถเชเซ เชเซ. CPOL (เชเซเชฒเซเช เชชเซเชฒเซเชฐเชฟเชเซ) เชฌเซเช เชเชกเชฟเชฏเชพเชณเชจเชพ เชธเชฟเชเซเชจเชฒเชจเซ เชธเซเชฅเชฟเชคเชฟเชจเซ เชจเชฟเชฏเชเชคเซเชฐเชฟเชค เชเชฐเซ เชเซ เชเซเชฏเชพเชฐเซ เชเซเช เชกเซเชเชพ เชเซเชฐเชพเชจเซเชธเชฎเชฟเช เชฅเชคเซ เชจเชฅเซ. เช เชฌเซเช เชฎเชพเชธเซเชเชฐ เช
เชจเซ เชธเซเชฒเซเชต เชฎเซเชกเชจเซ เชจเชฟเชฏเชเชคเซเชฐเชฟเชค เชเชฐเซ เชเซ. เชเซ CPOL เชฐเซเชธเซเช เชเชฐเซเชฒ เชนเซเชฏ, เชคเซ SCK เชชเชฟเชจ เชฐเซเชธเซเช เชฎเซเชกเชฎเชพเช เชเชเซ เชเซ. เชเซ CPOL เชฌเซเช เชธเซเช เชเชฐเซเชฒ เชนเซเชฏ, เชคเซ เชเชฐเชพเชฎ เชฎเซเชก เชฆเชฐเชฎเชฟเชฏเชพเชจ SCK เชชเชฟเชจ เชเชเชเซ เชนเซเชฏ เชเซ.
เชเซเชฏเชพเชฐเซ CPHA (เชเซเชฒเซเช เชซเซเช) เชฌเซเช เชธเซเช เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เชคเซเชฏเชพเชฐเซ เชนเชพเช เชฌเซเช เชเซเชฐเซเชช เชธเซเชเซเชฐเซเชฌ เช SCK เชธเชฟเชเซเชจเชฒเชจเซ เชฌเซเชเซ เชเชฟเชจเชพเชฐเซ เชเซ (เชเซ CPOL เชธเซเชชเชทเซเช เชนเซเชฏ เชคเซ เชเชเซ เชเซ, เชเซ CPOL เชธเซเช เชนเซเชฏ เชคเซ เชตเชงเซ เชเชพเชฏ เชเซ). เชเชกเชฟเชฏเชพเชณเชจเชพ เชธเชฟเชเซเชจเชฒเชฎเชพเช เชฌเซเชเชพ เชซเซเชฐเชซเชพเชฐ เชฆเซเชตเชพเชฐเชพ เชกเซเชเชพ เชเซเชชเซเชเชฐ เชฅเชพเชฏ เชเซ. เชเซ CPHA เชฌเซเช เชธเซเชชเชทเซเช เชนเซเชฏ, เชคเซ เชนเชพเช เชฌเซเช เชเซเชฐเซเชช เชธเซเชเซเชฐเซเชฌ เช SCK เชธเชฟเชเซเชจเชฒเชจเซ เชตเชงเชคเซ เชงเชพเชฐ เชเซ (เชเซ CPOL เชธเซเช เชนเซเชฏ เชคเซ เชซเซเชฒเชฟเชเช เชเช, เชเซ CPOL เชธเชพเชซ เชนเซเชฏ เชคเซ เชตเชงเชคเซ เชงเชพเชฐ). เชเชกเชฟเชฏเชพเชณเชจเชพ เชธเชเชเซเชคเชฎเชพเช เชชเซเชฐเชฅเชฎ เชซเซเชฐเชซเชพเชฐ เชชเชฐ เชกเซเชเชพ เชเซเชชเซเชเชฐ เชฅเชพเชฏ เชเซ.
เช เชเซเชเชพเชจเชจเซ เชเซเชฐเชนเชฃ เชเชฐเซเชฏเชพ เชชเชเซ, เช เชฎเซ เชจเชฟเชทเซเชเชฐเซเชท เชชเชฐ เชเชตเซเช เชเซเช เชเซ เชฌเชเชจเซ เชฌเชฟเชเซเชธ เชถเซเชจเซเชฏ เชฐเชนเซเชตเชพ เชเซเชเช, เชเชพเชฐเชฃ เชเซ เช เชฎเซ เชเชเซเชเซเช เชเซเช เชเซ SCK เชธเชฟเชเซเชจเชฒ เชเชชเชฏเซเชเชฎเชพเช เชจ เชนเซเชฏ เชคเซเชฏเชพเชฐเซ เชจเซเชเซเช เชฐเชนเซ เช เชจเซ เชกเซเชเชพ เชชเชฒเซเชธเชจเซ เชตเชงเชคเซ เชงเชพเชฐ เชชเชฐ เชชเซเชฐเชธเชพเชฐเชฟเชค เชฅเชพเชฏ (เชซเชฟเช เชเซเช. เชฐเชพเชเชเชฟเชเช เชเช DM634 เชกเซเชเชพเชถเซเชเชฎเชพเช).
เชฎเชพเชฐเซเช เชฆเซเชตเชพเชฐเชพ, เช เชนเซเช เชเชชเชฃเซ เชธเซเชชเซเชฐเชฅเชฎ ST เชกเซเชเชพเชถเซเชเซเชธเชฎเชพเช เชถเชฌเซเชฆเชญเชเชกเซเชณเชจเซ เชตเชฟเชถเซเชทเชคเชพเชจเซ เชธเชพเชฎเชจเซ เชเชฐเชตเซ เชชเชกเซเชฏเซ: เชคเซเชฎเชพเช "เชฌเซเชเชจเซ เชถเซเชจเซเชฏ เชชเชฐ เชซเชฐเซเชฅเซ เชธเซเช เชเชฐเซ" เชตเชพเชเซเชฏ เชฒเชเชพเชฏเซเชฒเซเช เชเซ. เชฅเซเชกเซ เชฐเซเชธเซเช เชเชฐเชตเชพ เชฎเชพเชเซ, เช เชจเซ เชจเชนเซเช เชฅเซเชกเซเช เชธเชพเชซ เชเชฐเชตเซเช, เชเซเชฎ เชเซ, เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, Atmega.
3. เชกเซเชเชพ เชฌเซเชฒเซเช 8-เชฌเซเช เชเซ เชเซ 16-เชฌเซเช เชซเซเชฐเซเชฎเซเช เชเซ เชคเซ เชจเชเซเชเซ เชเชฐเชตเชพ เชฎเชพเชเซ DFF เชฌเซเช เชธเซเช เชเชฐเซ
เชฎเซเช เชเชพเชธ เชเชฐเซเชจเซ 16-เชฌเซเช DM634 เชฒเซเชงเซเช เชเซเชฅเซ DM12 เชเซเชตเชพ 633-เชฌเซเช PWM เชกเซเชเชพ เชเซเชฐเชพเชจเซเชธเชฎเชฟเช เชเชฐเชตเชพเชฎเชพเช เชคเชเชฒเซเชซ เชจ เชชเชกเซ. DFF เชจเซ เชเช เชชเชฐ เชธเซเช เชเชฐเชตเซเช เช เชฐเซเชฅเชชเซเชฐเซเชฃ เชเซ:
#define DFF 0x0800
_SPI2_ (_SPI_CR1) |= DFF; // 16-bit mode
4. เชฌเซเชฒเซเช เชซเซเชฐเซเชฎเซเช เชจเชเซเชเซ เชเชฐเชตเชพ เชฎเชพเชเซ SPI_CR1 เชฐเชเชฟเชธเซเชเชฐเชฎเชพเช LSBFIRST เชฌเซเชเชจเซ เชเซเช เชตเซ
LSBFIRST, เชคเซเชจเซเช เชจเชพเชฎ เชธเซเชเชตเซ เชเซ เชคเซเชฎ, เชชเซเชฐเชฅเชฎ เชเชเชพเชฎเชพเช เชเชเชพ เชจเซเชเชงเชชเชพเชคเซเชฐ เชฌเซเช เชธเชพเชฅเซ เชเซเชฐเชพเชจเซเชธเชฎเชฟเชถเชจเชจเซ เชเซเช เชตเซ เชเซ. เชชเชฐเชเชคเซ DM634 เชธเซเชฅเซ เชจเซเชเชงเชชเชพเชคเซเชฐ เชฌเซเชเชฅเซ เชถเชฐเซ เชเชฐเซเชจเซ เชกเซเชเชพ เชชเซเชฐเชพเชชเซเชค เชเชฐเชตเชพ เชฎเชพเชเชเซ เชเซ. เชคเซเชฅเซ, เช เชฎเซ เชคเซเชจเซ เชซเชฐเซเชฅเซ เชธเซเช เชเชฐเซเช เชเซเช.
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 เชจเซ เชเซเช เชตเซ เชฐเชนเซเชฏเซเช เชเซโ:
เชกเซเชเชพ เชเซเชฐเชพเชจเซเชธเชซเชฐ เชเชฐเซเชกเชฐ
เชเซเชฏเชพเชฐเซ Tx เชฌเชซเชฐ เชชเชฐ เชฌเชพเชเช เชฒเชเชตเชพเชฎเชพเช เชเชตเซ เชคเซเชฏเชพเชฐเซ เชเซเชฐเชพเชจเซเชธเชฎเชฟเชถเชจ เชถเชฐเซ เชฅเชพเชฏ เชเซ.
เชกเซเชเชพ เชฌเชพเชเช เชชเชฐ เชถเชฟเชซเซเช เชฐเชเซเชธเซเชเชฐเชฎเชพเช เชฒเซเชก เชฅเชพเชฏ เชเซ เชธเชฎเชพเชเชคเชฐ เชฎเซเชก (เชเชเชคเชฐเชฟเช เชฌเชธเชฎเชพเชเชฅเซ) เชชเซเชฐเชฅเชฎ เชฌเซเชเชจเชพ เชชเซเชฐเชธเชพเชฐเชฃ เชฆเชฐเชฎเชฟเชฏเชพเชจ, เชเซเชจเชพ เชชเชเซ เชคเซ เชชเซเชฐเชธเชพเชฐเชฟเชค เชฅเชพเชฏ เชเซ เชเซเชฐเชฎเชฟเช MOSI เชชเชฟเชจ เชฎเซเชก, CPI_CR1 เชฐเชเชฟเชธเซเชเชฐเชฎเชพเช LSBFIRST เชฌเชฟเชเชจเชพ เชธเซเชเชฟเชเชเชจเชพ เชเชงเชพเชฐเซ เชชเซเชฐเชฅเชฎ เช
เชฅเชตเชพ เชเซเชฒเซเชฒเซ เชฌเซเช เชเชเชณ. เชกเซเชเชพ เชเซเชฐเชพเชจเซเชธเชฎเชฟเชถเชจ เชชเชเซ TXE เชซเซเชฒเซเช เชธเซเช เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ Tx เชฌเชซเชฐเชฅเซ เชถเชฟเชซเซเช เชฐเชเชฟเชธเซเชเชฐ เชธเซเชงเซ, เช
เชจเซ เชเซ CPI_CR1 เชฐเชเชฟเชธเซเชเชฐเชฎเชพเช TXEIE เชฌเซเช เชธเซเช เชเชฐเซเชฒ เชนเซเชฏ เชคเซ เชตเชฟเชเซเชทเซเชช เชชเชฃ เชเชจเชฐเซเช เชเชฐเซ เชเซ.
STM เชจเชฟเชฏเชเชคเซเชฐเชเซเชฎเชพเช SPI เช เชฎเชฒเซเชเชฐเชฃเชจเซ เชเช เชตเชฟเชถเซเชทเชคเชพ เชคเชฐเชซ เชงเซเชฏเชพเชจ เชฆเซเชฐเชตเชพ เชฎเชพเชเซ เชฎเซเช เช เชจเซเชตเชพเชฆเชฎเชพเช เชฅเซเชกเชพเช เชถเชฌเซเชฆเซ เชชเซเชฐเชเชพเชถเชฟเชค เชเชฐเซเชฏเชพ เชเซ. เชเชเชฎเซเชเชพ เชชเชฐ TXE เชงเซเชตเช (Tx เชเชพเชฒเซ, Tx เชเชพเชฒเซ เชเซ เช เชจเซ เชกเซเชเชพ เชชเซเชฐเชพเชชเซเชค เชเชฐเชตเชพ เชฎเชพเชเซ เชคเซเชฏเชพเชฐ เชเซ) เชธเชเชชเซเชฐเซเชฃ เชฌเชพเชเช เชฎเซเชเชฒเซเชฏเชพ เชชเชเซ เช เชธเซเช เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ เชฌเชพเชนเซเชฏ. เช เชจเซ เช เชนเซเช เช เชงเซเชตเช เชเชเชคเชฐเชฟเช เชถเชฟเชซเซเช เชฐเชเชฟเชธเซเชเชฐเชฎเชพเช เชฌเชพเชเช เชฆเชพเชเชฒ เชเชฐเซเชฏเชพ เชชเชเซ เชธเซเช เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ. เชเชพเชฐเชฃ เชเซ เชคเซ เชคเซเชฏเชพเช เชเช เช เชธเชฎเชฏเซ เชคเชฎเชพเชฎ เชฌเชฟเชเซเชธ เชธเชพเชฅเซ เชฆเชฌเชพเชฃ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ (เชธเชฎเชพเชเชคเชฐเชฎเชพเช), เช เชจเซ เชชเชเซ เชกเซเชเชพ เชเซเชฐเชฎเชฟเช เชฐเซเชคเซ เชธเซเชฅเชพเชจเชพเชเชคเชฐเชฟเชค เชฅเชพเชฏ เชเซ, เชฌเชพเชเช เชธเชเชชเซเชฐเซเชฃเชชเชฃเซ เชฎเซเชเชฒเชตเชพเชฎเชพเช เชเชตเซ เชคเซ เชชเชนเซเชฒเชพเช TXE เชธเซเช เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ. เช เชฎเชนเชคเซเชตเชชเซเชฐเซเชฃ เชเซ เชเชพเชฐเชฃ เชเซ เช เชฎเชพเชฐเชพ LED เชกเซเชฐเชพเชเชตเชฐเชจเชพ เชเชฟเชธเซเชธเชพเชฎเชพเช, เช เชฎเชจเซ เชฎเซเชเชฒเซเชฏเชพ เชชเชเซ LAT เชชเชฟเชจ เชเซเชเชเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ ะฒัะตั เชกเซเชเชพ, เชเชเชฒเซ เชเซ เชเชเชฒเชพ TXE เชงเซเชตเช เช เชฎเชพเชฐเชพ เชฎเชพเชเซ เชชเซเชฐเชคเซเช เชจเชฅเซ.
เชเชจเซ เช เชฐเซเชฅ เช เชเซ เชเซ เชเชชเชฃเชจเซ เชฌเซเชเชพ เชงเซเชตเชเชจเซ เชเชฐเซเชฐ เชเซ. เชเชพเชฒเซ 25.3.7 - "เชธเซเชเซเชเชธ เชซเซเชฒเซเชเซเชธ" เชเซเชเช:
<โฆ>
เชตเซเชฏเชธเซเชค เชงเซเชตเช
BSY เชงเซเชตเช เชนเชพเชฐเซเชกเชตเซเชฐ เชฆเซเชตเชพเชฐเชพ เชธเซเช เช
เชจเซ เชธเชพเชซ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ (เชคเซเชจเชพ เชชเชฐ เชฒเชเชตเชพเชจเซ เชเซเช เช
เชธเชฐ เชฅเชคเซ เชจเชฅเซ). BSY เชงเซเชตเช SPI เชธเชเชเชพเชฐ เชธเซเชคเชฐเชจเซ เชธเซเชฅเชฟเชคเชฟ เชฆเชฐเซเชถเชพเชตเซ เชเซ.
เชคเซ เชซเชฐเซเชฅเซ เชธเซเช เชเชฐเซ เชเซ:
เชเซเชฏเชพเชฐเซ เชเซเชฐเชพเชจเซเชธเชซเชฐ เชชเซเชฐเซเชฃ เชฅเชพเชฏ เชเซ (เชฎเชพเชธเซเชเชฐ เชฎเซเชก เชธเชฟเชตเชพเชฏ เชเซ เชเซเชฐเชพเชจเซเชธเชซเชฐ เชธเชคเชค เชนเซเชฏ เชคเซ)
เชเซเชฏเชพเชฐเซ SPI เช
เชเซเชทเชฎ เชนเซเชฏ
เชเซเชฏเชพเชฐเซ เชฎเชพเชธเซเชเชฐ เชฎเซเชกเชฎเชพเช เชญเซเชฒ เชฅเชพเชฏ เชเซ (MODF=1)
เชเซ เชเซเชฐเชพเชจเซเชธเชซเชฐ เชธเชคเชค เชจ เชนเซเชฏ, เชคเซ เชฆเชฐเซเช เชกเซเชเชพ เชเซเชฐเชพเชจเซเชธเชซเชฐ เชตเชเซเชเซ BSY เชซเซเชฒเซเช เชธเชพเชซ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ
เช เซเช เชเซ, เช เชเชพเชฎเชฎเชพเช เชเชตเชถเซ. เชเชพเชฒเซ เชถเซเชงเซ เชเชพเชขเซเช เชเซ Tx เชฌเชซเชฐ เชเซเชฏเชพเช เชธเซเชฅเชฟเชค เชเซ. เช เชเชฐเชตเชพ เชฎเชพเชเซ, "SPI เชกเซเชเชพ เชฐเชเซเชธเซเชเชฐ" เชตเชพเชเชเซ:
เชฌเชฟเชเซเชธ 15:0 DR[15:0] เชกเซเชเชพ เชฐเชเซเชธเซเชเชฐ
เชชเซเชฐเชพเชชเซเชค เชฅเชฏเซเชฒ เชกเซเชเชพ เช
เชฅเชตเชพ เชกเซเชเชพ เชเซเชฐเชพเชจเซเชธเชฎเชฟเช เชเชฐเชตเชพเชจเซ เชเซ.
เชกเซเชเชพ เชฐเชเชฟเชธเซเชเชฐเชจเซ เชฌเซ เชฌเชซเชฐเชฎเชพเช เชตเชฟเชญเชพเชเชฟเชค เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ - เชเช เชฒเชเชตเชพ เชฎเชพเชเซ (เชฌเชซเชฐ เชเซเชฐเชพเชจเซเชธเชฎเชฟเช เชเชฐเซ) เช
เชจเซ เชเช เชตเชพเชเชเชตเชพ เชฎเชพเชเซ (เชฌเชซเชฐ เชชเซเชฐเชพเชชเซเชค เชเชฐเซ). เชกเซเชเชพ เชฐเชเชฟเชธเซเชเชฐเชฎเชพเช เชฒเชเชตเซเช เช Tx เชฌเชซเชฐเชจเซ เชฒเชเซ เชเซ, เช
เชจเซ เชกเซเชเชพ เชฐเชเชฟเชธเซเชเชฐเชฎเชพเชเชฅเซ เชตเชพเชเชเชตเชพเชฅเซ Rx เชฌเชซเชฐเชฎเชพเช เชธเชฎเชพเชตเชฟเชทเซเช เชฎเซเชฒเซเชฏ เชชเชฐเชค เชฅเชถเซ.
เชธเชพเชฐเซเช, เช เชจเซ เชธเซเชเซเชเชธ เชฐเชเชฟเชธเซเชเชฐ, เชเซเชฏเชพเช TXE เช เชจเซ BSY เชซเซเชฒเซเช เชเซเชตเชพ เชฎเชณเซ เชเซ:
เช เชฎเซ เชฒเชเซเช:
#define _SPI_DR 0x0C
#define _SPI_SR 0x08
#define BSY 0x0080
#define TXE 0x0002
void dm_shift16(uint16_t value)
{
_SPI2_(_SPI_DR) = value; //send 2 bytes
while (!(_SPI2_(_SPI_SR) & TXE)); //wait until they're sent
}
เช เซเช เชเซ, เชเชพเชฐเชฃ เชเซ เชเชชเชฃเซ เชเชฒเชเชกเซ เชกเซเชฐเชพเชเชตเชฐ เชเชเชเชชเซเชเชจเซ เชธเชเชเซเชฏเชพ เช เชจเซเชธเชพเชฐ 16 เชตเชเชค เชฌเซ เชฌเชพเชเชเซเชธ เชเซเชฐเชพเชจเซเชธเชฎเชฟเช เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ, เชเชเชเช เชเชจเชพ เชเซเชตเซเช:
void sendLEDdata()
{
LAT_low();
uint8_t k = 16;
do
{ k--;
dm_shift16(leds[k]);
} while (k);
while (_SPI2_(_SPI_SR) & BSY); // finish transmission
LAT_pulse();
}
เชชเชฐเชเชคเซ เช เชฎเชจเซ เชนเชเซ เชธเซเชงเซ LAT เชชเชฟเชจ เชเซเชตเซ เชฐเซเชคเซ เชเซเชเชเซ เชถเชเชพเชฏ เชคเซ เชเชฌเชฐ เชจเชฅเซ, เชคเซเชฅเซ เช เชฎเซ I/O เชชเชฐ เชชเชพเชเชพ เชเชเชถเซเช.
เชชเชฟเชจ เชธเซเชเชชเซ เชฐเชนเซเชฏเชพ เชเซเช
STM32F1 เชฎเชพเช, เชชเชฟเชจเชจเซ เชธเซเชฅเชฟเชคเชฟ เชฎเชพเชเซ เชเชตเชพเชฌเชฆเชพเชฐ เชฐเชเชฟเชธเซเชเชฐ เชคเชฆเซเชฆเชจ เช เชธเชพเชฎเชพเชจเซเชฏ เชเซ. เชคเซ เชธเซเชชเชทเซเช เชเซ เชเซ เชคเซเชฎเชพเช Atmega เชเชฐเชคเชพเช เชตเชงเซ เชเซ, เชชเชฐเชเชคเซ เชคเซ เช เชจเซเชฏ STM เชเชฟเชชเซเชธเชฅเซ เชชเชฃ เช เชฒเช เชเซ. เชตเชฟเชญเชพเช 9.1 GPIO เชจเซเช เชธเชพเชฎเชพเชจเซเชฏ เชตเชฐเซเชฃเชจ:
เชฆเชฐเซเช เชธเชพเชฎเชพเชจเซเชฏ เชนเซเชคเซเชจเชพ I/O เชชเซเชฐเซเช (GPIO) เชฌเซ 32-เชฌเซเช เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชฐเชเซเชธเซเชเชฐ (GPIOx_CRL เช
เชจเซ GPIOx_CRH), เชฌเซ 32-เชฌเซเช เชกเซเชเชพ เชฐเชเซเชธเซเชเชฐ (GPIOx_IDR เช
เชจเซ GPIOx_ODR), เชเช 32-เชฌเซเช เชธเซเช/เชฐเซเชธเซเช เชฐเชเซเชธเซเชเชฐ (GPIOx_BSRR), 16-เชฌเซเช เชฐเซเชธเซเช เชฐเชเซเชธเซเชเชฐ (GPIOx_BSRR) เช
เชจเซ GPIOx_32BR เชฌเซเช เชฌเซเชฒเซเชเซเชเช เชฐเชเซเชธเซเชเชฐ (GPIOx_LCKR).
เชชเซเชฐเชฅเชฎ เชฌเซ เชฐเชเชฟเชธเซเชเชฐ เช เชธเชพเชฎเชพเชจเซเชฏ เชเซ, เช เชจเซ เชคเชฆเซเชฆเชจ เช เชธเซเชตเชฟเชงเชพเชเชจเช เชชเชฃ เชเซ, เชเชพเชฐเชฃ เชเซ 16 เชชเซเชฐเซเช เชชเชฟเชจ เชคเซเชฎเชจเซ เชตเชเซเชเซ โเชญเชพเช เชฆเซเช เชเชพเชฐ เชฌเชฟเชเซเชธโ เชซเซเชฐเซเชฎเซเชเชฎเชพเช เชชเชฅเชฐเชพเชฏเซเชฒเชพ เชเซ. เชคเซ. เชชเชฟเชจ เชถเซเชจเซเชฏเชฅเซ เชธเชพเชค เชธเซเชเชฐเชเชฒเชฎเชพเช เชเซ, เช เชจเซ เชฌเชพเชเซเชจเชพ เชธเซเชเชฐเชเชเชฎเชพเช เชเซ. เชคเซ เช เชธเชฎเชฏเซ, เชฌเชพเชเซเชจเชพ เชฐเชเชฟเชธเซเชเชฐเชฎเชพเช เชชเซเชฐเซเชเชจเชพ เชคเชฎเชพเชฎ เชชเชฟเชจเชจเชพ เชฌเชฟเชเซเชธ เชธเชซเชณเชคเชพเชชเซเชฐเซเชตเช เชธเชฎเชพเชตเชฟเชทเซเช เชนเซเชฏ เชเซ - เชเชฃเซเชตเชพเชฐ เช เชกเชงเชพ "เชเชฐเชเซเชทเชฟเชค" เชฌเชพเชเซ เชฐเชนเซ เชเซ.
เชธเชฐเชณเชคเชพ เชฎเชพเชเซ, เชเชพเชฒเซ เชธเซเชเชฟเชจเชพ เช เชเชคเชฅเซ เชชเซเชฐเชพเชฐเชเชญ เชเชฐเซเช.
เช เชฎเชจเซ เชฌเซเชฒเซเชเซเชเช เชฐเชเซเชธเซเชเชฐเชจเซ เชเชฐเซเชฐ เชจเชฅเซ.
เชธเซเช เช เชจเซ เชฐเซเชธเซเช เชฐเชเชฟเชธเซเชเชฐ เชเซเชฌ เช เชฐเชฎเซเชเซ เชเซ เชเชพเชฐเชฃ เชเซ เชคเซเช เชเชเชถเชฟเช เชฐเซเชคเซ เชเชเชฌเซเชเชพเชจเซ เชจเชเชฒ เชเชฐเซ เชเซ: เชคเชฎเซ เชซเชเซเชค BSRR เชฎเชพเช เชฌเชงเซเช เช เชฒเชเซ เชถเชเซ เชเซ, เชเซเชฏเชพเช เชเชเซเช 16 เชฌเชฟเชเซเชธ เชชเชฟเชจเชจเซ เชถเซเชจเซเชฏ เชชเชฐ เชฐเซเชธเซเช เชเชฐเชถเซ, เช เชจเซ เชจเซเชเชฒเชพ 1 เชชเชฐ เชธเซเช เชเชฐเชตเชพเชฎเชพเช เชเชตเชถเซ, เช เชฅเชตเชพ เชคเชฎเซ เชชเชฃ เชเชฐเซ เชถเชเซ เชเซ. BRR เชจเซ เชเชชเชฏเซเช เชเชฐเซ, เชเซเชฎเชพเชเชฅเซ เชจเซเชเซเชจเชพ 16 เชฌเชฟเชเซเชธ เชฎเชพเชคเซเชฐ เชชเชฟเชจ เชฐเซเชธเซเช เชเชฐเซ เชเซ. เชฎเชจเซ เชฌเซเชเซ เชตเชฟเชเชฒเซเชช เชเชฎเซ เชเซ. เช เชฐเชเชฟเชธเซเชเชฐ เชฎเชนเชคเซเชตเชชเซเชฐเซเชฃ เชเซ เชเชพเชฐเชฃ เชเซ เชคเซเช เชชเชฟเชจ เชชเชฐ เช เชฃเซ เชเชเซเชธเซเชธ เชชเซเชฐเชฆเชพเชจ เชเชฐเซ เชเซ:
เช
เชฃเซ เชธเซเช เช
เชฅเชตเชพ เชฐเซเชธเซเช
เชฌเซเช เชฒเซเชตเชฒ เชชเชฐ GPIOx_ODR เชชเซเชฐเซเชเซเชฐเชพเชฎเชฟเชเช เชเชฐเชคเซ เชตเชเชคเซ เชตเชฟเชเซเชทเซเชชเซเชจเซ เชจเชฟเชทเซเชเซเชฐเชฟเชฏ เชเชฐเชตเชพเชจเซ เชเซเช เชเชฐเซเชฐ เชจเชฅเซ: เชเช เช
เชฅเชตเชพ เชตเชงเซ เชฌเชฟเชเซเชธ เชเช เช
เชฃเซ เชฒเชเชตเชพเชจเซ เชเซเชฐเชฟเชฏเชพ APB2 เชตเชกเซ เชฌเชฆเชฒเซ เชถเชเชพเชฏ เชเซ. เชเซ เชฌเซเช เชฌเชฆเชฒเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ เชคเซเชจเชพ เชธเซเช/เชฐเซเชธเซเช เชฐเชเซเชธเซเชเชฐ (GPIOx_BSRR เช
เชฅเชตเชพ, เชซเชเซเชค เชฐเซเชธเซเช เชฎเชพเชเซ, GPIOx_BRR) เชชเชฐ "1" เชฒเชเซเชจเซ เช เชชเซเชฐเชพเชชเซเชค เชฅเชพเชฏ เชเซ. เช
เชจเซเชฏ เชฌเชฟเชเซเชธ เชฏเชฅเชพเชตเชค เชฐเชนเซเชถเซ.
เชกเซเชเชพ เชฐเชเชฟเชธเซเชเชฐเชฎเชพเช เชคเชฆเซเชฆเชจ เชธเซเชต-เชธเซเชชเชทเซเชเชฟเชเชจเช เชจเชพเชฎเซ เชเซ - IDR = เชเชจเชชเซเช เชฆเชฟเชถเชพ เชฐเชเซเชธเซเชเชฐ, เชเชจเชชเซเช เชฐเชเซเชธเซเชเชฐ; ODR = เชเชเชเชชเซเช เชฆเชฟเชถเชพ เชฐเชเซเชธเซเชเชฐ, เชเชเชเชชเซเช เชฐเชเซเชธเซเชเชฐ. เชตเชฐเซเชคเชฎเชพเชจ เชชเซเชฐเซเชเซเชเซเชเชฎเชพเช เช เชฎเชจเซ เชคเซเชฎเชจเซ เชเชฐเซเชฐ เชชเชกเชถเซ เชจเชนเซเช.
เช เชจเซ เช เชเชคเซ, เชจเชฟเชฏเชเชคเซเชฐเชฃ เชฐเชเซเชธเซเชเชฐ. เช เชฎเชจเซ เชฌเซเชเซ SPI เชชเชฟเชจ เชเชเชฒเซ เชเซ PB13, PB14 เช เชจเซ PB15เชฎเชพเช เชฐเชธ เชนเซเชตเชพเชฅเซ, เช เชฎเซ เชคเชฐเชค เช CRH เชชเชฐ เชงเซเชฏเชพเชจ เชเชชเซเช เชเซเช:
เช เชจเซ เชเชชเชฃเซ เชเซเชเช เชเซเช เชเซ เชเชชเชฃเซ 20 เชฅเซ 31 เชจเชพ เชฌเซเชเซเชธเชฎเชพเช เชเชเชเช เชฒเชเชตเชพเชจเซ เชเชฐเซเชฐ เชชเชกเชถเซ.
เชชเชฟเชจเชฎเชพเชเชฅเซ เชเชชเชฃเชจเซ เชถเซเช เชเซเชเช เชเซ เชคเซ เชเชชเชฐ เชเชชเชฃเซ เชชเชนเซเชฒเซเชฅเซ เช เชถเซเชงเซ เชเชพเชขเซเชฏเซเช เชเซ, เชคเซเชฅเซ เช เชนเซเช เชนเซเช เชธเซเชเซเชฐเซเชจเชถเซเช เชตเชฟเชจเชพ เชเชฐเซเชถ, เชนเซเช เชเชเชฒเซเช เช เชเชนเซเชถ เชเซ MODE เชฆเชฟเชถเชพ เชจเชฟเชฐเซเชฆเชฟเชทเซเช เชเชฐเซ เชเซ (เชเซ เชฌเชเชจเซ เชฌเชฟเชเซเชธ 0 เชชเชฐ เชธเซเช เชนเซเชฏ เชคเซ เชเชจเชชเซเช) เช เชจเซ เชชเชฟเชจ เชธเซเชชเซเชก (เช เชฎเชจเซ 50MHzเชจเซ เชเชฐเซเชฐ เชเซ, เชเชเชฒเซ เชเซ. เชฌเชเชจเซ เชชเชฟเชจ โ1โ เชชเชฐ), เช เชจเซ CNF เชฎเซเชก เชธเซเช เชเชฐเซ เชเซ: เชจเชฟเชฏเชฎเชฟเชค โเชชเซเชถ-เชชเซเชฒโ โ 00, โเชตเซเชเชฒเซเชชเชฟเชโ โ 10. เชกเชฟเชซเซเชฒเซเช เชฐเซเชชเซ, เชเซเชฎ เชเชชเชฃเซ เชเชชเชฐ เชเซเชเช เชเซเช, เชฌเชงเซ เชชเชฟเชจเชฎเชพเช เชจเซเชเซเชฅเซ เชคเซเชฐเซเชเซ เชญเชพเช เชนเซเชฏ เชเซ (CNF0), เชคเซ เชคเซเชฎเชจเซ เชฎเซเชก เชชเชฐ เชธเซเช เชเชฐเซ เชเซ เชซเซเชฒเซเชเชฟเชเช เชเชจเชชเซเช.
เชนเซเช เช เชเชฟเชช เชธเชพเชฅเซ เชฌเซเชเซเช เชเชเชเช เชเชฐเชตเชพเชจเซ เชฏเซเชเชจเชพ เชงเชฐเชพเชตเชคเซ เชนเซเชตเชพเชฅเซ, เชธเชฐเชณเชคเชพ เชฎเชพเชเซ เชฎเซเช เชจเซเชเชฒเชพ เช เชจเซ เชเชชเชฒเชพ เชจเชฟเชฏเชเชคเซเชฐเชฃ เชฐเชเซเชธเซเชเชฐ เชฌเชเชจเซ เชฎเชพเชเซ เชคเชฎเชพเชฎ เชธเชเชญเชตเชฟเชค MODE เช เชจเซ CNF เชฎเซเชฒเซเชฏเซเชจเซ เชตเซเชฏเชพเชเซเชฏเชพเชฏเชฟเชค เชเชฐเซเชฏเชพ เชเซ.
เชเซเชเช เช เชฐเซเชคเซ
#define CNF0_0 0x00000004
#define CNF0_1 0x00000008
#define CNF1_0 0x00000040
#define CNF1_1 0x00000080
#define CNF2_0 0x00000400
#define CNF2_1 0x00000800
#define CNF3_0 0x00004000
#define CNF3_1 0x00008000
#define CNF4_0 0x00040000
#define CNF4_1 0x00080000
#define CNF5_0 0x00400000
#define CNF5_1 0x00800000
#define CNF6_0 0x04000000
#define CNF6_1 0x08000000
#define CNF7_0 0x40000000
#define CNF7_1 0x80000000
#define CNF8_0 0x00000004
#define CNF8_1 0x00000008
#define CNF9_0 0x00000040
#define CNF9_1 0x00000080
#define CNF10_0 0x00000400
#define CNF10_1 0x00000800
#define CNF11_0 0x00004000
#define CNF11_1 0x00008000
#define CNF12_0 0x00040000
#define CNF12_1 0x00080000
#define CNF13_0 0x00400000
#define CNF13_1 0x00800000
#define CNF14_0 0x04000000
#define CNF14_1 0x08000000
#define CNF15_0 0x40000000
#define CNF15_1 0x80000000
#define MODE0_0 0x00000001
#define MODE0_1 0x00000002
#define MODE1_0 0x00000010
#define MODE1_1 0x00000020
#define MODE2_0 0x00000100
#define MODE2_1 0x00000200
#define MODE3_0 0x00001000
#define MODE3_1 0x00002000
#define MODE4_0 0x00010000
#define MODE4_1 0x00020000
#define MODE5_0 0x00100000
#define MODE5_1 0x00200000
#define MODE6_0 0x01000000
#define MODE6_1 0x02000000
#define MODE7_0 0x10000000
#define MODE7_1 0x20000000
#define MODE8_0 0x00000001
#define MODE8_1 0x00000002
#define MODE9_0 0x00000010
#define MODE9_1 0x00000020
#define MODE10_0 0x00000100
#define MODE10_1 0x00000200
#define MODE11_0 0x00001000
#define MODE11_1 0x00002000
#define MODE12_0 0x00010000
#define MODE12_1 0x00020000
#define MODE13_0 0x00100000
#define MODE13_1 0x00200000
#define MODE14_0 0x01000000
#define MODE14_1 0x02000000
#define MODE15_0 0x10000000
#define MODE15_1 0x20000000
เช เชฎเชพเชฐเซ เชชเชฟเชจ เชชเซเชฐเซเช B (เชเชงเชพเชฐ เชธเชฐเชจเชพเชฎเซเช - 0x40010C00), เชเซเชก เชชเชฐ เชธเซเชฅเชฟเชค เชเซ:
#define _PORTB_(mem_offset) (*(volatile uint32_t *)(0x40010C00 + (mem_offset)))
#define _BRR 0x14
#define _BSRR 0x10
#define _CRL 0x00
#define _CRH 0x04
//ะธัะฟะพะปัะทัะตะผ ััะฐะฝะดะฐััะฝัะน SPI2: MOSI ะฝะฐ B15, CLK ะฝะฐ B13
//LAT ะฟัััั ะฑัะดะตั ะฝะฐ ะฝะตะธัะฟะพะปัะทัะตะผะพะผ MISO โ B14
//ะพัะธัะฐะตะผ ะดะตัะพะปัะฝัะน ะฑะธั, ะพะฝ ะฝะฐะผ ัะพัะฝะพ ะฝะต ะฝัะถะตะฝ
_PORTB_ (_CRH) &= ~(CNF15_0 | CNF14_0 | CNF13_0 | CNF12_0);
//ะฐะปััะตัะฝะฐัะธะฒะฝัะต ััะฝะบัะธะธ ะดะปั MOSI ะธ SCK
_PORTB_ (_CRH) |= CNF15_1 | CNF13_1;
//50 ะะั, MODE = 11
_PORTB_ (_CRH) |= MODE15_1 | MODE15_0 | MODE14_1 | MODE14_0 | MODE13_1 | MODE13_0;
เช เชจเซ, เชคเซ เชฎเซเชเชฌ, เชคเชฎเซ LAT เชฎเชพเชเซ เชตเซเชฏเชพเชเซเชฏเชพเช เชฒเชเซ เชถเชเซ เชเซ, เชเซ BRR เช เชจเซ BSRR เชฐเชเชฟเชธเซเชเชฐ เชฆเซเชตเชพเชฐเชพ เชเซเชตเชฟเช เชเชฐเชตเชพเชฎเชพเช เชเชตเชถเซ:
/*** LAT pulse โ high, then low */
#define LAT_pulse() _PORTB_(_BSRR) = (1<<14); _PORTB_(_BRR) = (1<<14)
#define LAT_low() _PORTB_(_BRR) = (1<<14)
(LAT_low เชฎเชพเชคเซเชฐ เชเชกเชคเชพ เชฆเซเชตเชพเชฐเชพ, เชคเซ เชนเชเชฎเซเชถเชพ เชเชตเซเช เช เชฐเชนเซเชฏเซเช เชเซ, เชคเซเชจเซ เชฐเชนเซเชตเชพ เชฆเซ)
เชนเชตเซ เชฌเชงเซเช เชธเชฐเชธ เชเซ, เชชเชฐเชเชคเซ เชคเซ เชเชพเชฎ เชเชฐเชคเซเช เชจเชฅเซ. เชเชพเชฐเชฃ เชเซ เช STM32 เชเซ, เชคเซ เชตเซเชเชณเซ เชฌเชเชพเชตเซ เชเซ, เชเซเชจเซ เช เชฐเซเชฅ เชเซ เชเซ เชคเชฎเชพเชฐเซ เชเชฐเซเชฐเซ เชชเซเชฐเชฟเชซเซเชฐเชฒเซเชธเชจเซ เชเชกเชฟเชฏเชพเชณเชจเซ เชธเชเซเชทเชฎ เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ.
เชเชกเชฟเชฏเชพเชณ เชเชพเชฒเซ เชเชฐเซ
เชเชกเชฟเชฏเชพเชณ, เชเซเชจเซ เชเชกเชฟเชฏเชพเชณ เชคเชฐเซเชเซ เชชเชฃ เชเชณเชเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เชคเซ เชเชกเชฟเชฏเชพเชณ เชฎเชพเชเซ เชเชตเชพเชฌเชฆเชพเชฐ เชเซ. เช เชจเซ เช เชฎเซ เชชเชนเซเชฒเชพเชฅเซ เช เชธเชเชเซเชทเซเชช RCC เชจเซเชเชงเซ เชถเชเซเช เชเซเช. เช เชฎเซ เชคเซเชจเซ เชฆเชธเซเชคเชพเชตเซเชเซเชเชฐเชฃเชฎเชพเช เชถเซเชงเซเช เชเซเช: เช เชฐเซเชธเซเช เช เชจเซ เชเชกเชฟเชฏเชพเชณ เชจเชฟเชฏเชเชคเซเชฐเชฃ เชเซ.
เชเชชเชฐ เชเชนเซเชฏเซเช เชคเซเชฎ, เชธเชฆเชญเชพเชเซเชฏเซ, เชเชกเชฟเชฏเชพเชณเชจเชพ เชตเชฟเชทเชฏเชจเซ เชธเซเชฅเซ เชฎเซเชถเซเชเซเชฒ เชญเชพเช เช
เชฎเชพเชฐเชพ เชฎเชพเชเซ STM เชจเชพ เชฒเซเชเซ เชฆเซเชตเชพเชฐเชพ เชเชฐเชตเชพเชฎเชพเช เชเชตเซเชฏเซ เชนเชคเซ, เชเซเชจเชพ เชฎเชพเชเซ เช
เชฎเซ เชคเซเชฎเชจเซ เชเซเชฌ เชเชญเชพเชฐ เชฎเชพเชจเซเช เชเซเช (เชซเชฐเซ เชเช เชตเชพเชฐ เชนเซเช เชเช เชฒเชฟเชเช เชเชชเซเชถ
#define _RCC_(mem_offset) (*(volatile uint32_t *)(0x40021000 + (mem_offset)))
เช เชจเซ เชชเชเซ เชเซเชฏเชพเช เชคเซ เชคเซ เชฒเชฟเชเช เชชเชฐ เชเซเชฒเชฟเช เชเชฐเซ เชเซเชฏเชพเช เชคเชฎเซ เชชเซเชฒเซเชเชฎเชพเช เชเชเชเช เชถเซเชงเชตเชพเชจเซ เชชเซเชฐเชฏเชพเชธ เชเชฐเซ เชเซ, เช เชฅเชตเชพ, เชตเชงเซ เชธเชพเชฐเซเช, เชคเซเชจเชพ เชตเชฟเชถเซเชจเชพ เชตเชฟเชญเชพเชเซเชฎเชพเชเชฅเซ เชธเชเซเชทเชฎ เชฐเชเชฟเชธเซเชเชฐเชจเชพ เชตเชฐเซเชฃเชจเซ เชชเชฐ เชเชพเช. เชฐเชเซเชธเซเชเชฐเซ เชธเชเซเชทเชฎ เชเชฐเซ. เชเซเชฏเชพเช เช เชฎเชจเซ RCC_APB1ENR เช เชจเซ RCC_APB2ENR เชฎเชณเชถเซ:
เช เชจเซ เชคเซเช, เชคเซ เชฎเซเชเชฌ, เชฌเซเชเซเชธ เชงเชฐเชพเชตเซ เชเซ เชเซเชฎเชพเช SPI2, IOPB (I/O เชชเซเชฐเซเช B) เช เชจเซ เชตเซเชเชฒเซเชชเชฟเช เชเชพเชฐเซเชฏเซ (AFIO) เชจเชพ เชเซเชฒเซเชเชฟเชเชเชจเซ เชธเชฎเชพเชตเซเชถ เชฅเชพเชฏ เชเซ.
#define _APB2ENR 0x18
#define _APB1ENR 0x1C
#define IOPBEN 0x0008
#define SPI2EN 0x4000
#define AFIOEN 0x0001
//ะฒะบะปััะฐะตะผ ัะฐะบัะธัะพะฒะฐะฝะธะต ะฟะพััะฐ B ะธ ะฐะปัั. ััะฝะบัะธะน
_RCC_(_APB2ENR) |= IOPBEN | AFIOEN;
//ะฒะบะปััะฐะตะผ ัะฐะบัะธัะพะฒะฐะฝะธะต SPI2
_RCC_(_APB1ENR) |= SPI2EN;
เช
เชเชคเชฟเชฎ เชเซเชก เชถเซเชงเซ เชถเชเชพเชฏ เชเซ
เชเซ เชคเชฎเชพเชฐเซ เชชเชพเชธเซ เชชเชฐเซเชเซเชทเชฃ เชเชฐเชตเชพเชจเซ เชคเช เช เชจเซ เชเชเซเชเชพ เชนเซเชฏ, เชคเซ เชชเชเซ DM634 เชจเซ เช เชฐเซเชคเซ เชเชจเซเชเซเช เชเชฐเซ: DAI เชฅเซ PB15, DCK เชฅเซ PB13, LAT เชฅเซ PB14. เช เชฎเซ เชกเซเชฐเชพเชเชตเชฐเชจเซ 5 เชตเซเชฒเซเชเชฅเซ เชชเชพเชตเชฐ เชเชฐเซเช เชเซเช, เชเซเชฐเชพเชเชจเซเชกเซเชธเชจเซ เชเชจเซเชเซเช เชเชฐเชตเชพเชจเซเช เชญเซเชฒเชถเซ เชจเชนเซเช.
STM8 PWM
STM8 เชชเชฐ PWM
เชเซเชฏเชพเชฐเซ เชนเซเช เชนเชฎเชฃเชพเช เช เช เชฒเซเชเชจเซเช เชเชฏเซเชเชจ เชเชฐเซ เชฐเชนเซเชฏเซ เชนเชคเซ, เชคเซเชฏเชพเชฐเซ เชฎเซเช, เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, เชซเชเซเชค เชกเซเชเชพเชถเซเชเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เช เชเชพเชฃเซเชฏเชพ เชเชฟเชชเชจเซ เชเซเชเชฒเซเช เชเชพเชฐเซเชฏเชเซเชทเชฎเชคเชพเชจเซ เชฎเชพเชธเซเชเชฐ เชเชฐเชตเชพเชจเซ เชชเซเชฐเชฏเชพเชธ เชเชฐเชตเชพเชจเซเช เชจเชเซเชเซ เชเชฐเซเชฏเซเช, เชเซเชฅเซ เชนเซเช เชฌเซเช เชตเชเชฐเชจเชพ เชเซเชคเชพ เชธเชพเชฅเซ เชธเชฎเชพเชชเซเชค เชจ เชฅเช เชถเชเซเช. STM8 เช เชญเซเชฎเชฟเชเชพ เชฎเชพเชเซ เชเชฆเชฐเซเชถ เชนเชคเซ: เชชเซเชฐเชฅเชฎ, เชฎเชพเชฐเซ เชชเชพเชธเซ STM8S103 เชธเชพเชฅเซเชจเชพ เชฅเซเชกเชพ เชเชพเชเชจเซเช เชฌเซเชฐเซเชก เชนเชคเชพ, เช เชจเซ เชฌเซเชเซเช, เชคเซ เชเซเชฌ เชฒเซเชเชชเซเชฐเชฟเชฏ เชจเชฅเซ, เช เชจเซ เชคเซเชฅเซ เชเชจเซเชเชฐเชจเซเช เชชเชฐ เชตเชพเชเชเชตเชพเชจเซ เช เชจเซ เชเชเซเชฒ เชถเซเชงเชตเชพเชจเซ เชฒเชพเชฒเช เช เชเซเชฌ เช เชเชเซเชฒเซเชจเชพ เช เชญเชพเชต เชชเชฐ เชเชงเชพเชฐเชฟเชค เชเซ.
เชเชฟเชช เชชเชฃ เชเซ
เชเชกเชฟเชฏเชพเชณ เช เชจเซ I/O
เชฎเซเชณเชญเซเชค เชฐเซเชคเซ, STM8 2 MHz เชจเซ เชเชตเชฐเซเชคเชจ เชชเชฐ เชเชพเชฐเซเชฏ เชเชฐเซ เชเซ, เชเชจเซ เชคเชฐเชค เช เชธเซเชงเชพเชฐเชตเซเช เชเชตเชถเซเชฏเช เชเซ.
HSI (เชนเชพเช เชธเซเชชเซเชก เชเชจเซเชเชฐเชจเชฒ) เชเชกเชฟเชฏเชพเชณ
HSI เชเชกเชฟเชฏเชพเชณ เชธเชฟเชเซเชจเชฒ เชชเซเชฐเซเชเซเชฐเชพเชฎเซเชฌเชฒ เชตเชฟเชญเชพเชเช (16 เชฅเซ 1) เชธเชพเชฅเซ เชเชเชคเชฐเชฟเช 8 MHz RC เชเชธเชฟเชฒเซเชเชฐเชฎเชพเชเชฅเซ เชฎเซเชณเชตเชตเชพเชฎเชพเช เชเชตเซ เชเซ. เชคเซ เชเชกเชฟเชฏเชพเชณ เชตเชฟเชญเชพเชเช เชฐเชเซเชธเซเชเชฐ (CLK_CKDIVR) เชฎเชพเช เชธเซเช เชเชฐเซเชฒ เชเซ.
เชจเซเชเชง: เชถเชฐเซเชเชคเชฎเชพเช, 8 เชจเชพ เชตเชฟเชญเชพเชเช เชธเชพเชฅเซเชจเซเช HSI RC เชเชธเชฟเชฒเซเชเชฐ เชเชกเชฟเชฏเชพเชณ เชธเชฟเชเซเชจเชฒเชจเชพ เช
เชเซเชฐเชฃเซ เชธเซเชคเซเชฐเซเชค เชคเชฐเซเชเซ เชชเชธเชเชฆ เชฅเชฏเซเชฒ เชเซ.
เช เชฎเชจเซ เชกเซเชเชพเชถเซเชเชฎเชพเช เชฐเชเชฟเชธเซเชเชฐ เชธเชฐเชจเชพเชฎเซเช, เชฐเซเชซเชฎเซเชจเชฎเชพเช เชตเชฐเซเชฃเชจ เชฎเชณเซ เชเซ เช เชจเซ เชเซเช เชเซ เชฐเชเชฟเชธเซเชเชฐเชจเซ เชธเชพเชซ เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ:
#define CLK_CKDIVR *(volatile uint8_t *)0x0050C6
CLK_CKDIVR &= ~(0x18);
เชเชชเชฃเซ PWM เชเชฒเชพเชตเชตเชพ เชเช เชฐเชนเซเชฏเชพ เชเซเช เช เชจเซ LED เชจเซ เชเชจเซเชเซเช เชเชฐเซเชถเซเช, เชเชพเชฒเซ เชชเชฟเชจเชเชเช เชเซเชเช:
เชเชฟเชช เชจเชพเชจเซ เชเซ, เชเชฃเชพ เชเชพเชฐเซเชฏเซ เชธเชฎเชพเชจ เชชเชฟเชจ เชชเชฐ เชธเชธเซเชชเซเชจเซเชก เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ. เชเซเชฐเชธ เชเซเชเชธเชฎเชพเช เชเซ เชเซ เชคเซ "เชตเซเชเชฒเซเชชเชฟเช เชเชพเชฐเซเชฏเชเซเชทเชฎเชคเชพ" เชเซ, เชคเซ "เชตเชฟเชเชฒเซเชช เชฌเชพเชเชเซเชธ" เชฆเซเชตเชพเชฐเชพ เชธเซเชตเชฟเช เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ (เชตเชฟเชเชฒเซเชช เชฌเชพเชเชเซเชธ) โ เชเชเชฎเซเชเชพ เชซเซเชฏเซเช เชเซเชตเซเช เชเชเชเช. เชคเชฎเซ เชคเซเชฎเชจเชพ เชฎเซเชฒเซเชฏเซเชจเซ เชชเซเชฐเซเชเซเชฐเชพเชฎเซเชเชฟเชเชฒเซ เชฌเชฆเชฒเซ เชถเชเซ เชเซ, เชชเชฐเชเชคเซ เชคเซ เชเชฐเซเชฐเซ เชจเชฅเซ, เชเชพเชฐเชฃ เชเซ เชจเชตเซ เชเชพเชฐเซเชฏเชเซเชทเชฎเชคเชพ เชฐเซเชฌเซเช เชเชฐเซเชฏเชพ เชชเชเซ เช เชธเชเซเชฐเชฟเชฏ เชฅเชพเชฏ เชเซ. ST เชตเชฟเชเซเชฏเซเช เชฒ เชชเซเชฐเซเชเซเชฐเชพเชฎเชฐ (เชตเชฟเชเซเชฏเซเช เชฒ เชกเซเชตเชฒเชช เชธเชพเชฅเซ เชกเชพเชเชจเชฒเซเชก เชเชฐเซเชฒ) เชจเซ เชเชชเชฏเซเช เชเชฐเชตเซ เชตเชงเซ เชธเชฐเชณ เชเซ, เชเซ เช เชฌเชพเชเชเซเชธ เชฌเชฆเชฒเซ เชถเชเซ เชเซ. เชชเชฟเชจเชเชเช เชฆเชฐเซเชถเชพเชตเซ เชเซ เชเซ เชชเซเชฐเชฅเชฎ เชเชพเชเชฎเชฐเชจเชพ CH1 เช เชจเซ CH2 เชชเชฟเชจ เชเซเชฐเชธ เชเซเชเชธเชฎเชพเช เชเซเชชเชพเชฏเซเชฒเชพ เชเซ; STVP เชฎเชพเช AFR1 เช เชจเซ AFR0 เชฌเชฟเชเซเชธ เชธเซเช เชเชฐเชตเชพ เชเชฐเซเชฐเซ เชเซ, เช เชจเซ เชฌเซเชเซ เชชเชฃ เชฌเซเชเชพ เชเชพเชเชฎเชฐเชจเชพ CH1 เชเชเชเชชเซเชเชจเซ PD4 เชฅเซ PC5 เชฎเชพเช เชธเซเชฅเชพเชจเชพเชเชคเชฐเชฟเชค เชเชฐเชถเซ.
เชเชฎ, 6 เชชเชฟเชจ LED เชจเซ เชจเชฟเชฏเชเชคเซเชฐเชฟเชค เชเชฐเชถเซ: เชชเซเชฐเชฅเชฎ เชเชพเชเชฎเชฐ เชฎเชพเชเซ PC6, PC7 เช เชจเซ PC3, เชฌเซเชเชพ เชฎเชพเชเซ PC5, PD3 เช เชจเซ PA3.
STM8 เชชเชฐ I/O เชชเชฟเชจ เชเชพเชคเซ เชธเซเช เชเชฐเชตเซเช STM32 เชเชฐเชคเชพเช เชตเชงเซ เชธเชฐเชณ เช เชจเซ เชตเชงเซ เชคเชพเชฐเซเชเชฟเช เชเซ:
- Atmega DDR เชกเซเชเชพ เชกเชฟเชฐเซเชเซเชถเชจ เชฐเชเชฟเชธเซเชเชฐเชฅเซ เชชเชฐเชฟเชเชฟเชค (เชกเซเชเชพ เชกเชพเชฏเชฐเซเชเซเชถเชจ เชฐเชเชฟเชธเซเชเชฐ): 1 = เชเชเชเชชเซเช;
- เชชเซเชฐเชฅเชฎ เชจเชฟเชฏเชเชคเซเชฐเชฃ เชฐเชเซเชธเซเชเชฐ CR1, เชเซเชฏเชพเชฐเซ เชเชเชเชชเซเช, เชชเซเชถ-เชชเซเชฒ เชฎเซเชก (1) เช เชฅเชตเชพ เชเชชเชจ เชกเซเชฐเซเชเชจ (0) เชธเซเช เชเชฐเซ เชเซ; เชนเซเช เชเชฒเชเชกเซเชจเซ เชเซเชฅเซเชกเซเชธ เชธเชพเชฅเซ เชเชฟเชช เชธเชพเชฅเซ เชเชจเซเชเซเช เชเชฐเซเช เชเซเช, เชคเซเชฅเซ เชนเซเช เช เชนเซเช เชถเซเชจเซเชฏ เชเซเชกเซเช เชเซเช;
- เชฌเซเชเซเช เชเชเชเซเชฐเซเชฒ เชฐเชเชฟเชธเซเชเชฐ 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 - เชเซเชฏเชพเชฐเซ เชเชพเชเชฎเชฐ เชเชเชฐเชฎเชพเช เชเชฃเชพเชฏ เชคเซเชฏเชพเชฐเซ เชฌเชจเซเชฒเซ เชเชเชจเชพ;
- PWM เชกเซเชฏเซเชเซ เชธเชพเชฏเชเชฒ - PWM เชกเซเชฏเซเชเซ เชธเชพเชฏเชเชฒ, เชเซเชจเซ เชเชฃเซเชตเชพเชฐ "เชกเซเชฏเซเชเซ เชซเซเชเซเชเชฐ" เชเชนเซเชตเชพเชฏ เชเซ;
- เชเซเชชเซเชเชฐ/เชฎเซเชฒเซเชฏ เชธเชฐเชเชพเชฎเชฃเซ เชเชฐเซ - เชเซเชชเซเชเชฐ/เชธเชฐเชเชพเชฎเชฃเซ เชฎเชพเชเซเชจเซเช เชฎเซเชฒเซเชฏ, เชเซเชฎเชพเช เชเชพเชเชฎเชฐเซ เชเชฃเชคเชฐเซ เชเชฐเซ เชเซ เชเชเชเช เชเชฐเชถเซ (PWM เชจเชพ เชเชฟเชธเซเชธเชพเชฎเชพเช, เชคเซ เชเชเชเชชเซเช เชธเชฟเชเซเชจเชฒเชจเซ เชเชฒเชเชพเชตเซ เชเซ);
- เชชเซเชฐเซเชฒเซเชก เชฎเซเชฒเซเชฏ - เชชเซเชฐเซเชฒเซเชกเซเชก เชฎเซเชฒเซเชฏ. เชฎเซเชฒเซเชฏเชจเซ เชธเชฐเชเชพเชฎเชฃเซ เชเชฐเซ เชเซเชฏเชพเชฐเซ เชเชพเชเชฎเชฐ เชเชฟเช เชเชฐเซ เชฐเชนเซเชฏเซเช เชนเซเชฏ เชคเซเชฏเชพเชฐเซ เชฌเชฆเชฒเซ เชถเชเชพเชคเซเช เชจเชฅเซ, เช เชจเซเชฏเชฅเชพ PWM เชเชเซเชฐ เชคเซเชเซ เชเชถเซ. เชคเซเชฅเซ, เชจเชตเชพ เชชเซเชฐเชธเชพเชฐเชฟเชค เชฎเซเชฒเซเชฏเซ เชฌเชซเชฐเชฎเชพเช เชฎเซเชเชตเชพเชฎเชพเช เชเชตเซ เชเซ เช เชจเซ เชเซเชฏเชพเชฐเซ เชเชพเชเชฎเชฐ เชคเซเชจเชพ เชเชพเชเชจเซเชเชกเชพเชเชจเชจเชพ เช เชเชคเซ เชชเชนเซเชเชเซ เชเซ เช เชจเซ เชฐเซเชธเซเช เชฅเชพเชฏ เชเซ เชคเซเชฏเชพเชฐเซ เชคเซเชจเซ เชเซเชเชเซ เชฒเซเชตเชพเชฎเชพเช เชเชตเซ เชเซ;
- เชงเชพเชฐ-เชธเชเชฐเซเชเชฟเชค ะธ เชฎเชงเซเชฏ-เชธเชเชฐเซเชเชฟเชค เชฎเซเชกเซเชธ - เชธเชฐเชนเชฆ เชธเชพเชฅเซ เช เชจเซ เชเซเชจเซเชฆเซเชฐเชฎเชพเช เชเซเช เชตเชฃเซ, เชเชเชฎเซเชฒเชจเซ เชเซเชฎ เช เชซเชพเชธเซเช เชชเซเชกเชฌเซเชฒเซเชฏเซเชเชฎ ะธ เชคเชฌเชเซเชเซ-เชธเชพเชเซ PWM.
- OCiREF, เชเชเชเชชเซเช เชธเชฐเชเชพเชฎเชฃเซ เชธเชเชฆเชฐเซเชญ เชธเชฟเชเซเชจเชฒ - เชธเชเชฆเชฐเซเชญ เชเชเชเชชเซเช เชธเชฟเชเซเชจเชฒ, เชนเชเซเชเชคเชฎเชพเช, PWM เชฎเซเชกเชฎเชพเช เช เชจเซเชฐเซเชช เชชเชฟเชจ เชชเชฐ เชถเซเช เชฆเซเชเชพเชฏ เชเซ.
เชชเชฟเชจเชเชเช เชชเชฐเชฅเซ เชชเชนเซเชฒเซเชฅเซ เช เชธเซเชชเชทเซเช เชเซ เชคเซเชฎ, เชฌเซ เชเชพเชเชฎเชฐเชฎเชพเช PWM เชเซเชทเชฎเชคเชพเช เชเซ - เชชเซเชฐเชฅเชฎ เช เชจเซ เชฌเซเชเซเช. เชฌเชเชจเซ 16-เชฌเซเช เชเซ, เชชเซเชฐเชฅเชฎเชฎเชพเช เชเชฃเซ เชฌเชงเซ เชตเชงเชพเชฐเชพเชจเซ เชธเซเชตเชฟเชงเชพเช เชเซ (เชเชพเชธ เชเชฐเซเชจเซ, เชคเซ เชเชชเชฐ เช เชจเซ เชจเซเชเซ เชฌเชเชจเซเชจเซ เชเชฃเชคเชฐเซ เชเชฐเซ เชถเชเซ เชเซ). เช เชฎเชพเชฐเซ เชฌเชเชจเซเชจเซ เชธเชฎเชพเชจ เชฐเซเชคเซ เชเชพเชฎ เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ, เชคเซเชฅเซ เชฎเซเช เชฆเซเชเซเชคเซ เชฐเซเชคเซ เชเชฐเซเชฌ เชฌเซเชเชพเชฅเซ เชชเซเชฐเชพเชฐเชเชญ เชเชฐเชตเชพเชจเซเช เชจเชเซเชเซ เชเชฐเซเชฏเซเช, เชเซเชฅเซ เชคเซเชฏเชพเช เชจ เชนเซเชฏ เชคเซเชตเซ เชตเชธเซเชคเซเชจเซ เชเชเชธเซเชฎเชฟเช เชเชชเชฏเซเช เชจ เชฅเชพเชฏ. เชเซเชเชฒเซเช เชธเชฎเชธเซเชฏเชพ เช เชเซ เชเซ เชธเชเชฆเชฐเซเชญ เชฎเซเชจเซเชฏเซเช เชฒเชฎเชพเช เชคเชฎเชพเชฎ เชเชพเชเชฎเชฐเชจเซ PWM เชเชพเชฐเซเชฏเชเซเชทเชฎเชคเชพเชจเซเช เชตเชฐเซเชฃเชจ เชชเซเชฐเชฅเชฎ เชเชพเชเชฎเชฐ (17.5.7 PWM เชฎเซเชก) เชตเชฟเชถเซเชจเชพ เชชเซเชฐเชเชฐเชฃเชฎเชพเช เชเซ, เชคเซเชฅเซ เชคเชฎเชพเชฐเซ เชเชเชพ เชฆเชธเซเชคเชพเชตเซเชเชฎเชพเช เชนเชเชฎเซเชถเชพ เชเชเชณ-เชชเชพเชเชณ เชเชตเซเช เชชเชกเชถเซ.
STM8 เชชเชฐ PWM เชจเซ Atmega เชชเชฐ PWM เชเชฐเชคเชพเช เชฎเชนเชคเซเชตเชชเซเชฐเซเชฃ เชซเชพเชฏเชฆเซ เชเซ:
เชธเซเชฎเชพ เชธเชเชฐเซเชเชฟเชค PWM
เชเชเชพเชเชจเซเช เชเชจเซเชซเชฟเชเชฐเซเชถเชจ เชจเซเชเซเชฅเซ เชเชชเชฐ เชธเซเชงเซ
เชเซ TIM_CR1 เชฐเชเชฟเชธเซเชเชฐเชฎเชพเช DIR เชฌเซเช เชธเชพเชซ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชคเซ เชฌเซเชเชฎ-เช
เชช เชเชพเชเชจเซเชเชฟเชเช เชธเชเซเชฐเชฟเชฏ เชเซ
เชเชฆเชพเชนเชฐเชฃ:
เชเชฆเชพเชนเชฐเชฃ เชชเซเชฐเชฅเชฎ PWM เชฎเซเชกเชจเซ เชเชชเชฏเซเช เชเชฐเซ เชเซ. PWM เชธเชเชฆเชฐเซเชญ เชธเชเชเซเชค OCiREF TIM1_CNT < TIM1_CCRi เชธเซเชงเซ เชเชเชเซเช เชฐเชพเชเชตเชพเชฎเชพเช เชเชตเซ เชเซ. เชจเชนเชฟเชเชคเชฐ เชคเซ เชจเซเชเซเช เชธเซเชคเชฐ เชฒเซ เชเซ. เชเซ TIM1_CCRi เชฐเชเชฟเชธเซเชเชฐเชฎเชพเช เชธเชฐเชเชพเชฎเชฃเซ เชฎเซเชฒเซเชฏ เชเชเซเชฒเซเชก เชฎเซเชฒเซเชฏ (TIM1_ARR เชฐเชเชฟเชธเซเชเชฐ) เชเชฐเชคเชพเช เชตเชงเซ เชนเซเชฏ, เชคเซ OCiREF เชธเชฟเชเซเชจเชฒ 1 เชชเชฐ เชฐเชพเชเชตเชพเชฎเชพเช เชเชตเซ เชเซ. เชเซ เชธเชฐเชเชพเชฎเชฃเซ เชฎเซเชฒเซเชฏ 0 เชนเซเชฏ, เชคเซ OCiREF เชถเซเชจเซเชฏ เชชเชฐ เชฐเชพเชเชตเชพเชฎเชพเช เชเชตเซ เชเซ....
เชฆเชฐเชฎเชฟเชฏเชพเชจ STM8 เชเชพเชเชฎเชฐ เช
เชชเชกเซเช เชเชตเซเชจเซเช เชชเชนเซเชฒเชพ เชคเชชเชพเชธ เชเชฐเซ เชเซ เชฎเซเชฒเซเชฏเชจเซ เชคเซเชฒเชจเชพ เชเชฐเซ, เช
เชจเซ เชฎเชพเชคเซเชฐ เชคเซเชฏเชพเชฐเซ เช เชธเชเชฆเชฐเซเชญ เชธเชเชเซเชค เชเชคเซเชชเชจเซเชจ เชเชฐเซ เชเซ. เชเชเชฎเซเชเชพเชจเซเช เชเชพเชเชฎเชฐ เชชเซเชฐเชฅเชฎ เชธเซเชเซเชฐเซ เชเชฐเซ เชเซ เช
เชจเซ เชชเชเซ เชธเชฐเชเชพเชฎเชฃเซ เชเชฐเซ เชเซ, เชชเชฐเชฟเชฃเชพเชฎเซ compare value == 0
เชเชเชเชชเซเช เช เชธเซเชฏ เชเซ, เชเซเชจเซ เชธเชพเชฅเซ เชเซเชเช เชฐเซเชคเซ เชตเซเชฏเชตเชนเชพเชฐ เชฅเชตเซ เชเซเชเช (เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, เชชเซเชฐเซเชเซเชฐเชพเชฎเซเชเชฟเชเชฒเซ เชคเชฐเซเชเชจเซ เชเชฒเชเชพเชตเซเชจเซ).
เชคเซ เชเชชเชฃเซ เชถเซเช เชเชฐเชตเชพ เชฎเชพเชเชเซเช เชเซเช: 8-เชฌเซเช PWM (AR == 255
), เชจเซเชเซเชฅเซ เชเชชเชฐ เชธเซเชงเซ เชเชฃเชคเชฐเซ, เชธเชฐเชนเชฆ เชธเชพเชฅเซ เชธเชเชฐเซเชเชฃ. เชฒเชพเชเช เชฌเชฒเซเชฌ เชเซเชฅเซเชกเซเชธ เชฆเซเชตเชพเชฐเชพ เชเชฟเชช เชธเชพเชฅเซ เชเซเชกเชพเชฏเซเชฒเชพ เชนเซเชตเชพเชฅเซ, PWM เช เชคเซเชฏเชพเช เชธเซเชงเซ เชเชเชเชชเซเช 0 (LED เชเชพเชฒเซ) เชเชฐเชตเซเช เชเซเชเช. เชฎเซเชฒเซเชฏเชจเซ เชคเซเชฒเชจเชพ เชเชฐเซ เช
เชจเซ 1 เชชเชเซ.
เช เชฎเซ เชชเชนเซเชฒเชพเชฅเซ เช เชเซเชเชฒเชพเช เชตเชฟเชถเซ เชตเชพเชเชเซเชฏเซเช เชเซ PWM เชฎเซเชก, เชคเซเชฅเซ เช เชฎเซ เช เชถเชฌเซเชฆเชธเชฎเซเชน (18.6.8 - TIMx_CCMR1) เชฎเชพเชเซ เชธเชเชฆเชฐเซเชญ เชฎเชพเชฐเซเชเชฆเชฐเซเชถเชฟเชเชพเชฎเชพเช เชถเซเชง เชเชฐเซเชจเซ เชฌเซเชเชพ เชเชพเชเชฎเชฐเชจเซเช เชเชฐเซเชฐเซ เชฐเชเชฟเชธเซเชเชฐ เชถเซเชงเซเช เชเซเช:
110: เชชเซเชฐเชฅเชฎ PWM เชฎเซเชก - เชเซเชฏเชพเชฐเซ เชจเซเชเซเชฅเซ เชเชชเชฐ เชธเซเชงเซ เชเชฃเชคเชฐเซ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เชคเซเชฏเชพเชฐเซ เชชเซเชฐเชฅเชฎ เชเซเชจเชฒ เชธเชเซเชฐเชฟเชฏ เชนเซเชฏ เชเซ เชเซเชฏเชพเชฐเซ TIMx_CNT < TIMx_CCR1. เชจเชนเชฟเชเชคเชฐ, เชชเซเชฐเชฅเชฎ เชเซเชจเชฒ เชจเชฟเชทเซเชเซเชฐเชฟเชฏ เชเซ. [เชตเชงเซเชฎเชพเช เชฆเชธเซเชคเชพเชตเซเชเชฎเชพเช เชเชพเชเชฎเชฐ 1 เชฎเชพเชเชฅเซ เชเช เชญเซเชฒเชญเชฐเซเชฒเซ เชเซเชชเซ-เชชเซเชธเซเช เชเซ] 111: เชฌเซเชเซ PWM เชฎเซเชก - เชเซเชฏเชพเชฐเซ เชจเซเชเซเชฅเซ เชเชชเชฐ เชธเซเชงเซ เชเชฃเชคเชฐเซ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เชคเซเชฏเชพเชฐเซ เชชเซเชฐเชฅเชฎ เชเซเชจเชฒ เชจเชฟเชทเซเชเซเชฐเชฟเชฏ เชนเซเชฏ เชเซ เชเซเชฏเชพเชฐเซ TIMx_CNT < TIMx_CCR1. เชจเชนเชฟเชเชคเชฐ, เชชเซเชฐเชฅเชฎ เชเซเชจเชฒ เชธเชเซเชฐเชฟเชฏ เชเซ.
LEDs MK เชธเชพเชฅเซ เชเซเชฅเซเชกเซเชธ เชฆเซเชตเชพเชฐเชพ เชเซเชกเชพเชฏเซเชฒเชพ เชนเซเชตเชพเชฅเซ, เชฌเซเชเซ เชฎเซเชก เช เชฎเชจเซ เช เชจเซเชเซเชณ เชเชตเซ เชเซ (เชชเชนเซเชฒเซ เชชเชฃ, เชชเชฐเชเชคเซ เช เชฎเซ เชนเชเซ เชธเซเชงเซ เชคเซ เชเชพเชฃเชคเชพ เชจเชฅเซ).
เชฌเซเช 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 เชฐเชเชฟเชธเซเชเชฐเชฎเชพเช เชเชพเชเชฎเชฐ เชถเชฐเซ เชเชฐเซเช เชเซเช:
#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 เชจเชพ เชฎเชนเชคเซเชคเชฎ เชฎเซเชฒเซเชฏ เชชเชฐ, เชธเชฟเชเซเชจเชฒ เชเช เชเชพเชเชฎเชฐ เชเชเซเชฐ เชฎเชพเชเซ เชเชเชงเซ เชเซ). เชเชฒเชเชกเซ เชฎเชพเชเซ เช เชเซเช เชตเชพเชเชงเซ เชจเชฅเซ, เช เชจเซ เชธเชเซเชค เชฐเซเชกเชฐ เชชเชนเซเชฒเซเชฅเซ เช เช เชจเซเชฎเชพเชจ เชเชฐเซ เชถเชเซ เชเซ เชเซ เชคเซเชจเซ เชเซเชตเซ เชฐเซเชคเซ เช เซเช เชเชฐเชตเซเช.
เชฌเซเชเชพ เชเชพเชเชฎเชฐ เชชเชฐ PWM เชเชพเชฎ เชเชฐเซ เชเซ, เชเชพเชฒเซ เชชเชนเซเชฒเชพ เชคเชฐเชซ เชเชเชณ เชตเชงเซเช.
เชชเซเชฐเชฅเชฎ เชเชพเชเชฎเชฐ เชธเชฎเชพเชจ เชฐเชเชฟเชธเซเชเชฐเชฎเชพเช เชฌเชฐเชพเชฌเชฐ เชธเชฎเชพเชจ เชฌเชฟเชเซเชธ เชงเชฐเชพเชตเซ เชเซ (เชคเซ เชฎเชพเชคเซเชฐ เชเชเชฒเซเช เช เชเซ เชเซ เชคเซ เชฌเชฟเชเซเชธ เชเซ เชฌเซเชเชพ เชเชพเชเชฎเชฐเชฎเชพเช "เชเชฐเชเซเชทเชฟเชค" เชฐเชนเซ เชเชฏเชพ เชนเชคเชพ เชคเซ เชคเชฎเชพเชฎ เชชเซเชฐเชเชพเชฐเชจเซ เช เชฆเซเชฏเชคเชจ เชตเชธเซเชคเซเช เชฎเชพเชเซ เชชเซเชฐเชฅเชฎเชฎเชพเช เชธเชเซเชฐเชฟเชฏเชชเชฃเซ เชเชชเชฏเซเชเชฎเชพเช เชฒเซเชตเชพเชฏ เชเซ). เชคเซเชฅเซ, เชกเซเชเชพเชถเซเชเชฎเชพเช เชธเชฎเชพเชจ เชฐเชเชฟเชธเซเชเชฐเซเชธเชจเชพเช เชธเชฐเชจเชพเชฎเชพเช เชถเซเชงเชตเชพ เช เชจเซ เชเซเชกเชจเซ เชจเชเชฒ เชเชฐเชตเชพ เชฎเชพเชเซ เชคเซ เชชเซเชฐเชคเซเช เชเซ. เชธเชพเชฐเซเช, เชซเซเชฐเซเชเซเชตเชจเซเชธเซ เชตเชฟเชญเชพเชเชเชจเซเช เชฎเซเชฒเซเชฏ เชฌเชฆเชฒเซ, เชเชพเชฐเชฃ เชเซ... เชชเซเชฐเชฅเชฎ เชเชพเชเชฎเชฐ เชฌเซ เชชเชพเชตเชฐ เชจเชนเซเช, เชชเชฐเชเชคเซ เชฌเซ เชฐเชเชฟเชธเซเชเชฐเชฎเชพเช เชเซเชเซเชเชธ 16-เชฌเซเช เชฎเซเชฒเซเชฏ เชชเซเชฐเชพเชชเซเชค เชเชฐเชตเชพ เชฎเชพเชเชเซ เชเซ Prescaler เชเชเซเช ะธ เชจเซเชเชพ. เช เชฎเซ เชฌเชงเซเช เชเชฐเซเช เชเซเช เช เชจเซ... เชชเซเชฐเชฅเชฎ เชเชพเชเชฎเชฐ เชเชพเชฎ เชเชฐเชคเซเช เชจเชฅเซ. เชถเซเช เชฌเชพเชฌเชค เชเซ?
เชเชพเชเชฎเชฐ 1 เชจเชพ เชเชเชเซเชฐเซเชฒ เชฐเชเชฟเชธเซเชเชฐเซเชธ เชตเชฟเชถเซเชจเชพ เชธเชฎเชเซเชฐ เชตเชฟเชญเชพเชเชจเซ เชเซเชเชจเซ เช เชธเชฎเชธเซเชฏเชพเชจเซเช เชจเชฟเชฐเชพเชเชฐเชฃ เชฒเชพเชตเซ เชถเชเชพเชฏ เชเซ, เชเซเชฏเชพเช เชเชชเชฃเซ เชฌเซเชเชพ เชเชพเชเชฎเชฐ เชชเชพเชธเซ เชจ เชนเซเชฏ เชคเซเชตเชพ เชเชเชจเซ เชถเซเชงเซเช เชเซเช. เชคเซเชฏเชพเช เชนเชถเซ 17.7.30 เชฌเซเชฐเซเช เชฐเชเชฟเชธเซเชเชฐ (TIM1_BKR), เชเซเชฏเชพเช เช เชฌเซเช เชเซ:
เชฎเซเชเซเชฏ เชเชเชเชชเซเช เชธเชเซเชทเชฎ เชเชฐเซ
#define TIM1_BKR *(volatile uint8_t *)0x00526D
TIM1_BKR = (1<<7);
เชคเซ เชนเชตเซ เชเชพเชคเชฐเซ เชฎเชพเชเซ เชเซ, เชเซเชก
STM8 เชฎเชฒเซเชเชฟเชชเซเชฒเซเชเซเชธ
STM8 เชชเชฐ เชฎเชฒเซเชเชฟเชชเซเชฒเซเชเซเชธเชฟเชเช
เชคเซเชฐเซเชเซ เชฎเชฟเชจเซ-เชชเซเชฐเซเชเซเชเซเช เชเช RGB LEDs เชจเซ PWM เชฎเซเชกเชฎเชพเช เชฌเซเชเชพ เชเชพเชเชฎเชฐ เชธเชพเชฅเซ เชเซเชกเชตเชพเชจเซ เชเซ เช
เชจเซ เชคเซเชฎเชจเซ เชตเชฟเชตเชฟเชง เชฐเชเชเซ เชฌเชคเชพเชตเชตเชพเชจเซ เชเซ. เชคเซ เชเชฒเชเชกเซ เชฎเชฒเซเชเชฟเชชเซเชฒเซเชเซเชธเซเชเชเชจเซ เชตเชฟเชญเชพเชตเชจเชพ เชชเชฐ เชเชงเชพเชฐเชฟเชค เชเซ, เชเซ เช เชเซ เชเซ เชเซ เชคเชฎเซ เชเชฒเชเชกเซ เชเซเชฌ เช เชเชกเชชเชฅเซ เชเชพเชฒเซ เช
เชจเซ เชฌเชเชง เชเชฐเซ เชเซ, เชคเซ เชคเซ เช
เชฎเชจเซ เชฒเชพเชเซ เชเซ เชเซ เชคเซ เชธเชคเชค เชเชพเชฒเซ เชเซ (เชฆเซเชฐเชทเซเชเชฟเชจเซ เชธเชพเชคเชคเซเชฏ, เชฆเซเชฐเชถเซเชฏ เชฆเซเชฐเชทเซเชเชฟเชจเซ เชเชกเชคเชพ). เชฎเซเช เชเชเชตเชพเชฐ เชเชฐเซเชฏเซเช
เชเชพเชฐเซเชฏ เช เชฒเซเชเซเชฐเชฟเชงเชฎ เชเชจเชพ เชเซเชตเซ เชฆเซเชเชพเชฏ เชเซ:
- เชชเซเชฐเชฅเชฎ เชเชฐเชเซเชฌเซ เชเชฒเชเชกเซเชจเชพ เชเชจเซเชกเชจเซ เชเชจเซเชเซเช เชเชฐเซเชฏเซเช;
- เชคเซเชจเซ เชชเซเชฐเชเชเชพเชตเซ, เชเซเชฅเซเชกเซเชธเชจเซ เชเชฐเซเชฐเซ เชธเชเชเซเชคเซ เชฎเซเชเชฒเซเชจเซ;
- PWM เชเชเซเชฐเชจเชพ เช เชเชค เชธเซเชงเซ เชฐเชพเชน เชเซเชตเซ;
- เชฌเซเชเชพ เชเชฐเชเซเชฌเซ เชเชฒเชเชกเซเชจเชพ เชเชจเซเชกเชจเซ เชเชจเซเชเซเช เชเชฐเซเชฏเซเช;
- เชคเซเชจเซ เชชเซเชฐเชเชเชพเชตเซเชฏเซ...
เชธเชพเชฐเซเช, เชตเชเซเชฐเซ. เช เชฒเชฌเชคเซเชค, เชธเซเชเชฆเชฐ เชเชพเชฎเชเซเชฐเซ เชฎเชพเชเซ เชคเซ เชเชฐเซเชฐเซ เชเซ เชเซ เชเชจเซเชก เชเซเชกเชพเชฏเซเชฒ เชนเซเชฏ เช เชจเซ LED เชคเซ เช เชธเชฎเชฏเซ "เชธเชณเชเชพเชตเซเชฒ" เชนเซเชฏ. เชธเชพเชฐเซเช, เช เชฅเชตเชพ เชฒเชเชญเช. เชเซเช เชชเชฃ เชธเชเชเซเชเซเชฎเชพเช, เช เชฎเชพเชฐเซ เชเช เชเซเชก เชฒเชเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ เชเซ เชฌเซเชเชพ เชเชพเชเชฎเชฐเชจเซ เชคเซเชฐเชฃ เชเซเชจเชฒเซเชฎเชพเช เชฎเซเชฒเซเชฏเซเชจเซเช เชเชเชเชชเซเช เชเชฐเชถเซ, เชเซเชฏเชพเชฐเซ UEV เชชเชนเซเชเชเซ เชเชพเชฏ เชคเซเชฏเชพเชฐเซ เชคเซเชฎเชจเซ เชฌเชฆเชฒเชถเซ, เช เชจเซ เชคเซ เช เชธเชฎเชฏเซ เชนเชพเชฒเชฎเชพเช เชธเชเซเชฐเชฟเชฏ RGB LED เชจเซ เชฌเชฆเชฒเชถเซ.
LED เชธเซเชตเชฟเชเชฟเชเช เชเชเซเชฎเซเชเชฟเช เชนเซเชตเชพเชฅเซ, เช เชฎเชพเชฐเซ "เชตเซเชกเชฟเชฏเซ เชฎเซเชฎเชฐเซ" เชฌเชจเชพเชตเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ เชเซเชฎเชพเชเชฅเซ เชเชจเซเชเชฐเชชเซเช เชนเซเชจเซเชกเชฒเชฐ เชกเซเชเชพ เชชเซเชฐเชพเชชเซเชค เชเชฐเชถเซ. เช เชเช เชธเชฐเชณ เชเชฐเซ เชเซ:
uint8_t colors[8][3];
เชเซเชเซเชเชธ เชเชฒเชเชกเซเชจเซ เชฐเชเช เชฌเชฆเชฒเชตเชพ เชฎเชพเชเซ, เช เชเชฐเซเชฎเชพเช เชเชฐเซเชฐเซ เชฎเซเชฒเซเชฏเซ เชฒเชเชตเชพ เชฎเชพเชเซ เชคเซ เชชเซเชฐเชคเซเช เชนเชถเซ. เช เชจเซ เชเชฒ เชธเชเซเชฐเชฟเชฏ เชเชฒเชเชกเซเชจเซ เชธเชเชเซเชฏเชพ เชฎเชพเชเซ เชเชตเชพเชฌเชฆเชพเชฐ เชฐเชนเซเชถเซ
uint8_t cnt;
เชกเซเชฎเชเซเชธ
เชฏเซเชเซเชฏ เชฎเชฒเซเชเชฟเชชเซเชฒเซเชเซเชธเชฟเชเช เชฎเชพเชเซ, เช
เชฎเชจเซ, เชตเชฟเชเชฟเชคเซเชฐ เชฐเซเชคเซ, CD74HC238 เชกเชฟเชฎเชฒเซเชเชฟเชชเซเชฒเซเชเซเชธเชฐเชจเซ เชเชฐเซเชฐ เชเซ. เชกเชฟเชฎเชฒเซเชเชฟเชชเซเชฒเซเชเซเชธเชฐ - เชเช เชเชฟเชช เชเซ เชเชชเชฐเซเชเชฐเชจเซ เชนเชพเชฐเซเชกเชตเซเชฐเชฎเชพเช เชฒเชพเชเซ เชเชฐเซ เชเซ <<
. เชคเซเชฐเชฃ เชเชจเชชเซเช เชชเชฟเชจ (เชฌเชฟเชเซเชธ 0, 1 เช
เชจเซ 2) เชฆเซเชตเชพเชฐเชพ เช
เชฎเซ เชคเซเชจเซ เชคเซเชฐเชฃ-เชฌเซเช เชจเชเชฌเชฐ X เชซเซเชก เชเชฐเซเช เชเซเช, เช
เชจเซ เชคเซเชจเชพ เชเชตเชพเชฌเชฎเชพเช เชคเซ เชเชเชเชชเซเช เชจเชเชฌเชฐเชจเซ เชธเชเซเชฐเชฟเชฏ เชเชฐเซ เชเซ (1<<X
). เชเชฟเชชเชจเชพ เชฌเชพเชเซเชจเชพ เชเชจเชชเซเชเซเชธเชจเซ เชเชชเชฏเซเช เชธเชฎเชเซเชฐ เชกเชฟเชเชพเชเชจเชจเซ เชฎเชพเชชเชตเชพ เชฎเชพเชเซ เชฅเชพเชฏ เชเซ. เช
เชฎเชจเซ เช เชเชฟเชชเชจเซ เชเชฐเซเชฐ เชเซ เชฎเชพเชคเซเชฐ เชฎเชพเชเชเซเชฐเซเชเชจเซเชเซเชฐเซเชฒเชฐเชจเซ เชเชฌเชเซ เชเชฐเซเชฒเซ เชชเชฟเชจเชจเซ เชธเชเชเซเชฏเชพ เชเชเชพเชกเชตเชพ เชฎเชพเชเซ, เชชเชฃ เชธเชฒเชพเชฎเชคเซ เชฎเชพเชเซ เชชเชฃ - เชเซเชฅเซ เชเชเชธเซเชฎเชฟเช เชฐเซเชคเซ เชถเชเซเชฏ เชเชฐเชคเชพเช เชตเชงเซ เชเชฒเชเชกเซ เชเชพเชฒเซ เชจ เชฅเชพเชฏ เช
เชจเซ MK เชฌเชฐเซเชจ เชจ เชฅเชพเชฏ. เชเชฟเชชเชจเซ เชเชฟเชเชฎเชค เชเช เชชเซเชธเซ เชเซ เช
เชจเซ เชคเซเชจเซ เชนเชเชฎเซเชถเชพ เชคเชฎเชพเชฐเซ เชนเซเชฎ เชฎเซเชกเชฟเชธเชฟเชจ เชเซเชฌเชฟเชจเซเชเชฎเชพเช เชฐเชพเชเชตเซ เชเซเชเช.
เช
เชฎเชพเชฐเซเช CD74HC238 เชเชเซเชเชฟเชค LED เชจเชพ เชเชจเซเชกเชจเซ เชตเซเชฒเซเชเซเช เชธเชชเซเชฒเชพเชฏ เชเชฐเชตเชพ เชฎเชพเชเซ เชเชตเชพเชฌเชฆเชพเชฐ เชฐเชนเซเชถเซ. เชธเชเชชเซเชฐเซเชฃ เชธเซเชตเชฟเชงเชพเชฏเซเชเซเชค เชฎเชฒเซเชเชฟเชชเซเชฒเซเชเซเชธเชฎเชพเช, เชคเซ P-MOSFET เชฆเซเชตเชพเชฐเชพ เชเซเชฒเชฎเชฎเชพเช เชตเซเชฒเซเชเซเช เชธเชชเซเชฒเชพเชฏ เชเชฐเชถเซ, เชชเชฐเชเชคเซ เช เชกเซเชฎเซเชฎเชพเช เชคเซ เชธเซเชงเซเช เช เชถเชเซเชฏ เชเซ, เชเชพเชฐเชฃ เชเซ เชคเซ เช
เชจเซเชธเชพเชฐ 20 mA เชเซเชเชเซ เชเซ เชธเชเชชเซเชฐเซเชฃ เชฎเชนเชคเซเชคเชฎ เชฐเซเชเชฟเชเชเซเชธ เชกเซเชเชพเชถเซเชเชฎเชพเช. เชฅเซ
H = เชเชเซเช เชตเซเชฒเซเชเซเช เชธเซเชคเชฐ, L = เชจเซเชเชพ เชตเซเชฒเซเชเซเช เชธเซเชคเชฐ, X - เชเชพเชณเชเซ เชจเชฅเซ
เช เชฎเซ E2 เช เชจเซ E1 เชจเซ เชเซเชฐเชพเชเชจเซเชก เชธเชพเชฅเซ, E3, A0, A1 เช เชจเซ A3 เชจเซ PD5, PC3, PC4 เช เชจเซ PC5 เชจเซ STM8 เชธเชพเชฅเซ เชเซเชกเซเช เชเซเช. เชเชชเชฐเชจเชพ เชเซเชทเซเชเชเชฎเชพเช เชจเซเชเชพ เช เชจเซ เชเชเซเช เชฌเชเชจเซ เชธเซเชคเชฐเซ เชนเซเชตเชพเชฅเซ, เช เชฎเซ เช เชชเชฟเชจเชจเซ เชชเซเชถ-เชชเซเชฒ เชชเชฟเชจ เชคเชฐเซเชเซ เชเซเช เชตเซเช เชเซเช.
PWM
เชฌเซเชเชพ เชเชพเชเชฎเชฐ เชชเชฐ PWM เช เช เชเชพเชเชจเซ เชตเชพเชฐเซเชคเชพเชจเซ เชเซเชฎ เชฌเซ เชคเชซเชพเชตเชคเซ เชธเชพเชฅเซ เชเซเช เชตเซเชฒ เชเซ:
เชชเซเชฐเชฅเชฎ, เชเชชเชฃเซ เชตเชฟเชเซเชทเซเชช เชเชพเชฒเซ เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ เชเชตเซเชจเซเช เช เชชเชกเซเช เชเชฐเซ (UEV) เชเซ เชเช เชซเชเชเซเชถเชจเชจเซ เชเซเชฒ เชเชฐเชถเซ เชเซ เชธเชเซเชฐเชฟเชฏ LED เชจเซ เชเซเชเชฒ เชเชฐเซ เชเซ. เช เชฌเซเช เชฌเชฆเชฒเซเชจเซ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ เช เชชเชกเซเช เชตเชฟเชเซเชทเซเชช เชธเชเซเชทเชฎ เชเชฐเซ เชเชนเซเชตเชพเชจเชพ เชจเชพเชฎ เชธเชพเชฅเซ เชฐเชเชฟเชธเซเชเชฐเชฎเชพเช
เชตเชฟเชเซเชทเซเชช เชธเชเซเชทเชฎ เชฐเชเซเชธเซเชเชฐ
#define TIM2_IER *(volatile uint8_t *)0x005303
//enable interrupt
TIM2_IER = 1;
เชฌเซเชเซ เชคเชซเชพเชตเชค เชฎเชฒเซเชเชฟเชชเซเชฒเซเชเซเชธเซเชเชเชจเซ เชเชเชจเชพ เชธเชพเชฅเซ เชธเชเชฌเชเชงเชฟเชค เชเซ, เชเซเชฎ เชเซ เชญเซเชคเชฟเชฏเชพ - เชกเชพเชฏเซเชกเชจเซ เชชเชฐเซเชชเชเซเชตเซ เชเซเชฒเซ. เช เชฎเชพเชฐเชพ เชเชฟเชธเซเชธเชพเชฎเชพเช, เชคเซ เช เชนเชเซเชเชคเชจเซ เชเชพเชฐเชฃเซ เชฆเซเชเชพเช เชถเชเซ เชเซ เชเซ เชเชพเชเชฎเชฐ, เชฏเซเชเชตเซ เชชเชฐ เชตเชฟเชเซเชทเซเชช เชฒเชพเชตเซเชฏเชพ เชชเชเซ, เชเชฟเช เชเชฐเชตเชพเชจเซเช เชเชพเชฒเซ เชฐเชพเชเซ เชเซ, เช เชจเซ เชเชพเชเชฎเชฐ เชชเชฟเชจ เชชเชฐ เชเชเชเช เชฒเชเชตเชพเชจเซเช เชถเชฐเซ เชเชฐเซ เชคเซ เชชเชนเซเชฒเชพเช เชตเชฟเชเซเชทเซเชชเชฟเชค เชนเซเชจเซเชกเชฒเชฐ เชชเชพเชธเซ เชเชฒเชเชกเซ เชธเซเชตเชฟเช เชเชฐเชตเชพเชจเซ เชธเชฎเชฏ เชจเชฅเซ. เชเชจเซ เชธเชพเชฎเชจเซ เชเชฐเชตเชพ เชฎเชพเชเซ, เชคเชฎเชพเชฐเซ เชคเชฐเซเชเชจเซ เชเชฒเชเชพเชตเชตเซ เชชเชกเชถเซ (0 = เชฎเชนเชคเซเชคเชฎ เชคเซเช, โโ255 = เชเชเชเชชเชฃ เชชเซเชฐเชเชพเชถเชฟเชค เชจเชฅเซ) เช เชจเซ เช เชคเซเชฏเชเชค เชซเชฐเช เชเชเซเชฐ เชฎเซเชฒเซเชฏเซเชจเซ เชเชพเชณเชตเชพ เชชเชกเชถเซ. เชคเซ. เชเชพเชคเชฐเซ เชเชฐเซ เชเซ UEV เชชเชเซ LEDs เชเช PWM เชเชเซเชฐ เชฎเชพเชเซ เชธเชเชชเซเชฐเซเชฃเชชเชฃเซ เชฌเชนเชพเชฐ เชเชพเชฏ เชเซ.
เชฌเชฆเชฒเชพเชคเซ เชงเซเชฐเซเชตเซเชฏเชคเชพ:
//set polarity
TIM2_CCER1 |= (CC1P | CC2P);
TIM2_CCER2 |= CC3P;
r, g เช เชจเซ b เชจเซ 255 เชชเชฐ เชธเซเช เชเชฐเชตเชพเชจเซเช เชเชพเชณเซ เช เชจเซ เชคเซเชจเซ เชเชชเชฏเซเช เชเชฐเชคเซ เชตเชเชคเซ เชคเซเชฎเชจเซ เชเชฒเชเชพเชตเชพเชจเซเช เชฏเชพเชฆ เชฐเชพเชเซ.
เชตเชฟเชเซเชทเซเชช เชชเชพเชกเซ เชเซ
เชตเชฟเชเซเชทเซเชชเชจเซ เชธเชพเชฐ เช เชเซ เชเซ เชเซเชเซเชเชธ เชธเชเชเซเชเซเชฎเชพเช เชเชฟเชช เชฎเซเชเซเชฏ เชชเซเชฐเซเชเซเชฐเชพเชฎเชจเซ เชเชเซเชเชฟเชเซเชฏเซเช เชเชฐเชตเชพเชจเซเช เชฌเชเชง เชเชฐเซ เชเซ เช เชจเซ เชเซเชเชฒเชพเช เชฌเชพเชนเซเชฏ เชเชพเชฐเซเชฏเชจเซ เชเซเชฒ เชเชฐเซ เชเซ. เชเชพเชเชฎเชฐ เชธเชนเชฟเชค เชฌเชพเชนเซเชฏ เช เชฅเชตเชพ เชเชเชคเชฐเชฟเช เชชเซเชฐเชญเชพเชตเซเชจเซ เชเชพเชฐเชฃเซ เชตเชฟเชเซเชทเซเชชเซ เชฅเชพเชฏ เชเซ.
เชเซเชฏเชพเชฐเซ เช
เชฎเซ เชธเซเชชเซเชฐเชฅเชฎ เชเชธเชเซ เชตเชฟเชเซเชฏเซเช
เชฒ เชกเซเชตเชฒเชชเชฎเชพเช เชชเซเชฐเซเชเซเชเซเช เชฌเชจเชพเชตเซเชฏเซ เชนเชคเซ, เชเชชเชฐเชพเชเชค main.c
เช
เชฎเชจเซ เชเช เชฐเชนเชธเซเชฏเชฎเชฏ เชซเชพเชเชฒเชตเชพเชณเซ เชตเชฟเชจเซเชกเซ เชฎเชณเซ เชเซ stm8_interrupt_vector.c
, เชเชชเชฎเซเชณเซ เชชเซเชฐเซเชเซเชเซเชเชฎเชพเช เชธเชฎเชพเชตเชตเชพเชฎเชพเช เชเชตเซเชฒ เชเซ. เช เชซเชพเชเชฒเชฎเชพเช, เชฆเชฐเซเช เชตเชฟเชเซเชทเซเชชเชจเซ เชเชพเชฐเซเชฏ เชธเซเชเชชเซเชฒ เชเซ NonHandledInterrupt
. เชเชชเชฃเซ เชเชชเชฃเชพ เชเชพเชฐเซเชฏเชจเซ เชเชเซเชเชฟเชค เชตเชฟเชเซเชทเซเชช เชธเชพเชฅเซ เชเซเชกเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ.
เชกเซเชเชพเชถเซเชเชฎเชพเช เชตเชฟเชเซเชทเซเชช เชตเซเชเซเชเชฐเชจเซเช เชเซเชทเซเชเช เชเซ, เชเซเชฏเชพเช เช เชฎเชจเซ เชเชฐเซเชฐ เชนเซเชฏ เชคเซ เชถเซเชงเซเช เชเซเช:
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
- เชตเชฟเชเซเชทเซเชชเซ เชฌเชเชง เชเชฐเซ เชเซ. เชเซเชฏเชพเชฐเซ "เชตเชฟเชกเชฟเชฏเซ เชฎเซเชฎเชฐเซ" เชชเชฐ เชจเชตเชพ เชฎเซเชฒเซเชฏเซ เชฒเชเชตเชพเชฎเชพเช เชเชตเซ เชฐเชนเซเชฏเชพ เชนเซเชฏ เชคเซเชฏเชพเชฐเซ เชคเซเช เชฌเชเชง เชนเซเชตเชพ เชเซเชเช, เชเซเชฅเซ เชเซเชเซ เชเซเชทเชฃเซ เชเชฆเซเชญเชตเชคเชพ เชตเชฟเชเซเชทเซเชช เชเชฐเซเชจเซ เชฌเชเชพเชกเซ เชจเชนเซเช.
เชฌเชงเชพ เชเซเชก -
เชเซ เชเชเชพเชฎเชพเช เชเชเซเช เชเซเชเชจเซ เช เชฒเซเช เชเชชเชฏเซเชเซ เชฒเชพเชเซ, เชคเซ เชฎเซเช เชคเซ เชจเชฟเชฐเชฐเซเชฅเช เชจเชฅเซ เชฒเชเซเชฏเซเช. เชฎเชจเซ เชเชฟเชชเซเชชเชฃเซเช เช เชจเซ เชเชฟเชชเซเชชเชฃเซเช เชชเซเชฐเชพเชชเซเชค เชเชฐเชตเชพเชฎเชพเช เชเชจเชเชฆ เชฅเชถเซ, เชนเซเช เชฆเชฐเซเช เชตเชธเซเชคเซเชจเซ เชเชตเชพเชฌ เชเชชเชตเชพเชจเซ เชชเซเชฐเชฏเชคเซเชจ เชเชฐเซเชถ.
เชธเซเชฐเซเชธ: www.habr.com