Since my posts were detected as spam, I explained the problem with a screenshot.
Solved! Go to Solution.
Hi,
if you really want to modify driver code, which is not recommended indeed, below changes should be enough to fill buffer 10times
LocTransferList[7].Value = (uint32)(10U); // 10 minor loops
LocTransferList[8].Value = ((uint32)(~(10*(uint32)(LocTransferList[6].Value)) + 1U)); // final dest address adjustment -(10*24)
BR, Petr
Hi,
so BCTU triggers 6 conversions, DMA is used to read it from data register/FIFO, and you want to repeat that 10times to fill 60 values buffer? Am I right.
It could be great you share a config you have and code used, to check that.
I assume, if BCTU driver is configuring DMA transfer somehow then you should not modify it. For example in RTD 3.0.0, such repetitive transfer is not configurable, I think, unless driver is modified.
BR, Petr
Hi @PetrS,
Yes, you're right. BCTU configurations:
And bctu's DMA configurations: (BCTU uses the Bctu_FifoSetupDma function)
As I said, just changed major loop count to 10. Also, I update the destination address and hw request enable configuration at every major loop interrupt.
Hi,
if you really want to modify driver code, which is not recommended indeed, below changes should be enough to fill buffer 10times
LocTransferList[7].Value = (uint32)(10U); // 10 minor loops
LocTransferList[8].Value = ((uint32)(~(10*(uint32)(LocTransferList[6].Value)) + 1U)); // final dest address adjustment -(10*24)
BR, Petr