From a2b33f23233a009759e3fad20b031b7cb9f92278 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Thu, 13 Aug 2015 13:03:42 +0000 Subject: Fixed a problem caused by STM32F7xx errata. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@8213 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- ...STM32F7xx-GPT-ADC-SPI-PWM-ICU (OpenOCD, Just Run).launch | 2 +- testhal/STM32/STM32F7xx/GPT-ADC-SPI-PWM-ICU/main.c | 13 ++++++++----- 2 files changed, 9 insertions(+), 6 deletions(-) (limited to 'testhal/STM32') diff --git a/testhal/STM32/STM32F7xx/GPT-ADC-SPI-PWM-ICU/debug/STM32F7xx-GPT-ADC-SPI-PWM-ICU (OpenOCD, Just Run).launch b/testhal/STM32/STM32F7xx/GPT-ADC-SPI-PWM-ICU/debug/STM32F7xx-GPT-ADC-SPI-PWM-ICU (OpenOCD, Just Run).launch index 15b9f9dcc..4a6e47225 100644 --- a/testhal/STM32/STM32F7xx/GPT-ADC-SPI-PWM-ICU/debug/STM32F7xx-GPT-ADC-SPI-PWM-ICU (OpenOCD, Just Run).launch +++ b/testhal/STM32/STM32F7xx/GPT-ADC-SPI-PWM-ICU/debug/STM32F7xx-GPT-ADC-SPI-PWM-ICU (OpenOCD, Just Run).launch @@ -33,7 +33,7 @@ - + diff --git a/testhal/STM32/STM32F7xx/GPT-ADC-SPI-PWM-ICU/main.c b/testhal/STM32/STM32F7xx/GPT-ADC-SPI-PWM-ICU/main.c index 50b0948a7..009c9de1a 100644 --- a/testhal/STM32/STM32F7xx/GPT-ADC-SPI-PWM-ICU/main.c +++ b/testhal/STM32/STM32F7xx/GPT-ADC-SPI-PWM-ICU/main.c @@ -48,9 +48,6 @@ static void adccallback(ADCDriver *adcp, adcsample_t *buffer, size_t n) { (void)adcp; - /* DMA buffer invalidation because data cache.*/ - dmaBufferInvalidate(buffer, buffer + n * ADC_GRP1_NUM_CHANNELS); - /* Updating counters.*/ if (samples1 == buffer) { nx += n; @@ -76,12 +73,12 @@ static void adcerrorcallback(ADCDriver *adcp, adcerror_t err) { * Channels: Sensor, VRef. */ static const ADCConversionGroup adcgrpcfg1 = { - TRUE, + true, ADC_GRP1_NUM_CHANNELS, adccallback, adcerrorcallback, 0, /* CR1 */ - ADC_CR2_SWSTART, /* CR2 */ + ADC_CR2_EXTEN_RISING | ADC_CR2_EXTSEL_SRC(12), /* CR2 */ ADC_SMPR1_SMP_SENSOR(ADC_SAMPLE_144) | ADC_SMPR1_SMP_VREF(ADC_SAMPLE_144), 0, /* SMPR2 */ ADC_SQR1_NUM_CH(ADC_GRP1_NUM_CHANNELS), /* SQR1 */ @@ -141,6 +138,12 @@ int main(void) { */ gptStart(&GPTD4, &gpt4cfg1); + /* + * Fixed an errata on the STM32F7xx, the DAC clock is required for ADC + * triggering. + */ + rccEnableDAC1(false); + /* * Activates the ADC1 driver and the temperature sensor. */ -- cgit v1.2.3