Skip to content

Issue when using BSP LCD driver for my board and ADC with DMA. #185

Open
@yummbee

Description

@yummbee

On the STM32F429I-Discovery1 board using CubeIDE, I'm encountering an issue where the ADC DMA interrupt is only triggered once when running in triple interleaved ADC mode. The expected behavior is for the DMA interrupt to be called repeatedly in circular mode to continuously acquire ADC data.

This issue seems to potentially be related to LCD initialization using the BSP. It's observed that when the LCD is initialized, the ADC DMA interrupt stops triggering after the initial call. Without LCD initialization, the interrupt is repeatedly called as expected.

Debugging Steps Already Taken:

Checked DMA Mode Configuration: Verified DMA is configured in Circular Mode in CubeIDE.
Checked ADC Continuous Conversion Mode: Confirmed ADC is set to Continuous Conversion Mode in CubeIDE.
Checked Interrupt Enable Configuration: Verified DMA Transfer Complete Interrupt (TCIE) is enabled in CubeIDE DMA settings and the corresponding DMA interrupt is enabled in NVIC.

I also see that if i first enable the ADC and DMA, the BSP_LCD_Init(); function does not execute. It tends to hang at different points but if i debug step through it i get no issues.

I am using FreeRTOS and its corresponding interrupts. The freertos task can continue executing its just the DMA that ceases.

Metadata

Metadata

Assignees

Labels

adcAnalog-to-Digital ConverterbugSomething isn't workingneeds clarificationNeeds clarification or inputs from the userprojectsProjects-related (demos, applications, examples) issue or pull-request.

Type

Projects

Status

Analyzed

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions