2025-02-22 10:26 AM
I want to capture images larger than 0xFFFF via DCMI using double buffering with two GPDMA1 linked list nodes. As guidance, I'm following the DCMI_ContinuousCap_EmbeddedSynchMode example. However, it seems that the DCMI_DMAXferCplt function is written as if it should be called after every node completes, but the example configures:
handle_GPDMA1_Channel12.Instance = GPDMA1_Channel12;
handle_GPDMA1_Channel12.InitLinkedList.Priority = DMA_LOW_PRIORITY_LOW_WEIGHT;
handle_GPDMA1_Channel12.InitLinkedList.LinkStepMode = DMA_LSM_FULL_EXECUTION;
handle_GPDMA1_Channel12.InitLinkedList.LinkAllocatedPort = DMA_LINK_ALLOCATED_PORT1;
handle_GPDMA1_Channel12.InitLinkedList.TransferEventMode = DMA_TCEM_LAST_LL_ITEM_TRANSFER;
handle_GPDMA1_Channel12.InitLinkedList.LinkedListMode = DMA_LINKEDLIST_CIRCULAR;
Am I misunderstanding TransferEventMode, or why is it not set to DMA_TCEM_EACH_LL_ITEM_TRANSFER?