stm32: adc common v2: add circular dma mode
Tested only on the F3 so far.
This commit is contained in:
parent
bc7e454741
commit
f6517f7816
@ -205,7 +205,8 @@ bool adc_get_overrun_flag(uint32_t adc);
|
|||||||
void adc_clear_overrun_flag(uint32_t adc);
|
void adc_clear_overrun_flag(uint32_t adc);
|
||||||
uint32_t adc_read_regular(uint32_t adc);
|
uint32_t adc_read_regular(uint32_t adc);
|
||||||
void adc_start_conversion_regular(uint32_t adc);
|
void adc_start_conversion_regular(uint32_t adc);
|
||||||
|
void adc_enable_dma_circular_mode(uint32_t adc);
|
||||||
|
void adc_disable_dma_circular_mode(uint32_t adc);
|
||||||
END_DECLS
|
END_DECLS
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -389,4 +389,24 @@ void adc_start_conversion_regular(uint32_t adc)
|
|||||||
ADC_CR(adc) |= ADC_CR_ADSTART;
|
ADC_CR(adc) |= ADC_CR_ADSTART;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** @brief Enable circular mode for DMA transfers
|
||||||
|
*
|
||||||
|
* For this to work it needs to be ebabled on the DMA side as well.
|
||||||
|
*
|
||||||
|
* @param[in] adc Unsigned int32. ADC base address (@ref adc_reg_base)
|
||||||
|
*/
|
||||||
|
void adc_enable_dma_circular_mode(uint32_t adc)
|
||||||
|
{
|
||||||
|
ADC_CFGR1(adc) |= ADC_CFGR1_DMACFG;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** @brief Disable circular mode for DMA transfers
|
||||||
|
*
|
||||||
|
* @param[in] adc Unsigned int32. ADC base address (@ref adc_reg_base)
|
||||||
|
*/
|
||||||
|
void adc_disable_dma_circular_mode(uint32_t adc)
|
||||||
|
{
|
||||||
|
ADC_CFGR1(adc) &= ~ADC_CFGR1_DMACFG;
|
||||||
|
}
|
||||||
|
|
||||||
/**@}*/
|
/**@}*/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user