https://www.renesas.com/us/en/document/apn/renesas-e-studio-smart-configurator-application-examples-cmt-ad-sci-dma-usb-rev120
I configured DMA example 4 shown in the link above.Question 1. How should I structure the code when I want to receive data received through RX as a matrix variable rather than 1 byte?
Question 2. I also want to send TX by procession, how should I do that?
Hi MG,
Thanks for reaching out Renesas Community.
About your questions:
1, If you want to received more than 1 byte, you can transmit the data received from DMA to a matrix variable defined by you in DMA rx irq like this:
2, You can directly use R_DMAC1_AsyncTransmit() function to send procession, the first variable of function is buffer address and the second variable is send bytes.
BR,
NP_Renesas
Thank you for your reply. This appears to be received one byte at a time. Is there a way to receive it all at once in block mode?
You can try to enlarge the transfer size here:
When you increase the transfer count. After receiving all the data for that count, it goes into the callback function. Then only the last character rx_data[rx_num]= g_rx_char_dmac; Isn't it input through this? Where should I receive the preceding data?
Sorry for my miss, you also need to change the dest address from "fixed" to "incremented", then when DAMC transmitting data, the dest address will automaticlly increase.
It works. thanks friend