mirror of
https://github.com/apache/nuttx.git
synced 2026-10-23 23:08:44 +00:00
Disable interrupts while accessing the APB2RTSR register
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4212 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
parent
a9a0e45ee1
commit
60f0ba5fcb
1 changed files with 8 additions and 0 deletions
|
|
@ -823,6 +823,7 @@ static void adc_startconv(struct stm32_dev_s *priv, bool enable)
|
|||
|
||||
static void adc_rccreset(struct stm32_dev_s *priv, bool reset)
|
||||
{
|
||||
irqstate_t flags;
|
||||
uint32_t regval;
|
||||
uint32_t adcbit;
|
||||
|
||||
|
|
@ -860,6 +861,12 @@ static void adc_rccreset(struct stm32_dev_s *priv, bool reset)
|
|||
adcbit = RCC_APB2RSTR_ADCRST;
|
||||
#endif
|
||||
|
||||
/* Disable interrupts. This is necessary because the APB2RTSR register
|
||||
* is used by several different drivers.
|
||||
*/
|
||||
|
||||
flags = irqsave();
|
||||
|
||||
/* Set or clear the selected bit in the APB2 reset register */
|
||||
|
||||
regval = getreg32(STM32_RCC_APB2RSTR);
|
||||
|
|
@ -876,6 +883,7 @@ static void adc_rccreset(struct stm32_dev_s *priv, bool reset)
|
|||
regval &= ~adcbit;
|
||||
}
|
||||
putreg32(regval, STM32_RCC_APB2RSTR);
|
||||
irqrestore(flags);
|
||||
}
|
||||
|
||||
/*******************************************************************************
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue