RP2350 PIOs - Help Getting Data from the DMA #17686
-
It's me again, having more troubles with the DMA system! I appreciate everyone's help. In my sample code below I've got a PIO that takes in two pulls of data to blink the on-board LED - you can send it an "on" delay and an "off" delay. The PIO definitely works if the CPU manually put()s the data into the FIFO, as demonstrated in the test below. But the DMA channel remains silent. I'm certain it's a formatting or setup issue, but I haven't been able to get a clean transfer. I've tried setting the write address to the state machine object (which should work, according to the documentation) or to the physical address of the FIFO (0x50200010 unless I'm wrong), and nothing seems to kick off the transfer. Am I missing something on the DMA side? The PIO setup? Thanks in advance!
|
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 6 replies
-
Been doing some experimenting. |
Beta Was this translation helpful? Give feedback.
Especially when toying with DMA code, one should always do a hard reset before trying the next iteration.
Or do a proper DMA subsystem reset early in your code.