cancel
Showing results for 
Search instead for 
Did you mean: 

GPDMA Linked List Circular Buffering: Correct Transfer Event Mode?

cubett
Visitor

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?

0 REPLIES 0