mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2024-12-29 04:50:03 +01:00
cpu/sam0/periph: remove bitfield usage in ADC driver
Signed-off-by: Dylan Laduranty <dylan.laduranty@mesotic.com>
This commit is contained in:
parent
dd6051cf67
commit
3c64901b5e
@ -190,10 +190,12 @@ static int _adc_configure(Adc *dev, adc_res_t res)
|
||||
/* Set ADC resolution */
|
||||
#ifdef ADC_CTRLC_RESSEL
|
||||
/* Reset resolution bits in CTRLC */
|
||||
dev->CTRLC.bit.RESSEL = res & 0x3;
|
||||
uint32_t ctrlc = dev->CTRLC.reg;
|
||||
dev->CTRLC.reg = ((ctrlc & ~ADC_CTRLC_RESSEL_Msk) | ADC_CTRLC_RESSEL(res));
|
||||
#else
|
||||
/* Reset resolution bits in CTRLB */
|
||||
dev->CTRLB.bit.RESSEL = res & 0x3;
|
||||
uint32_t ctrlb = dev->CTRLB.reg;
|
||||
dev->CTRLB.reg = ((ctrlb & ~ADC_CTRLB_RESSEL_Msk) | ADC_CTRLB_RESSEL(res));
|
||||
#endif
|
||||
|
||||
/* Set Voltage Reference */
|
||||
@ -317,7 +319,12 @@ static int32_t _sample(adc_t line)
|
||||
| adc_channels[line].inputctrl
|
||||
| (diffmode ? 0 : ADC_NEG_INPUT);
|
||||
#ifdef ADC_CTRLB_DIFFMODE
|
||||
dev->CTRLB.bit.DIFFMODE = diffmode;
|
||||
if (diffmode) {
|
||||
dev->CTRLB.reg |= ADC_CTRLB_DIFFMODE;
|
||||
}
|
||||
else {
|
||||
dev->CTRLB.reg &= ~ADC_CTRLB_DIFFMODE;
|
||||
}
|
||||
#endif
|
||||
_wait_syncbusy(dev);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user