mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2026-01-01 01:41:18 +01:00
cpu/samd21: pwm: allow to use channels > 3
Channels 4…7 are on the CCB register.
This commit is contained in:
parent
4eb9b9b9df
commit
01c573c612
@ -167,8 +167,16 @@ void pwm_set(pwm_t dev, uint8_t channel, uint16_t value)
|
||||
(pwm_config[dev].chan[channel].pin == GPIO_UNDEF)) {
|
||||
return;
|
||||
}
|
||||
_tcc(dev)->CC[_chan(dev, channel)].reg = value;
|
||||
while (_tcc(dev)->SYNCBUSY.reg & (TCC_SYNCBUSY_CC0 << _chan(dev, channel))) {}
|
||||
|
||||
uint8_t chan = _chan(dev, channel);
|
||||
if (chan < 4) {
|
||||
_tcc(dev)->CC[chan].reg = value;
|
||||
while (_tcc(dev)->SYNCBUSY.reg & (TCC_SYNCBUSY_CC0 << chan)) {}
|
||||
} else {
|
||||
chan -= 4;
|
||||
_tcc(dev)->CCB[chan].reg = value;
|
||||
while (_tcc(dev)->SYNCBUSY.reg & (TCC_SYNCBUSY_CCB0 << chan)) {}
|
||||
}
|
||||
}
|
||||
|
||||
void pwm_poweron(pwm_t dev)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user