UART DMA?

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
lock attach
Attachments are accessible only for community members.
Anonymous
Not applicable

Hi community, it's me again. I have had a very good time working on my project. I am developing an EMG Measuring device. My purpuse is to send  ADC signals through serial port

I am using these modules

ADC SAR --> FILTER --> VDAC --> ADC DELSIG --> UART.

The signal filtered that comes back from the VDAC goes back to the ADC DELSIG. I haven't found a way to transmit directly from the filter to the UART through polling or DMA. I tried through DMA with the following register UART_TXDATA_PTR, but I get some random output in the serial port. Do you have any ideas? I would appreciate it.

0 Likes
1 Solution
Vasanth
Moderator
Moderator
Moderator
250 sign-ins 500 solutions authored First question asked

Hello ,

Filter_HOLDA_PTR that you have used in the DMA configuration, points to the lower byte of the result register. Please use  Filter_HOLDAH_PTR instead. This points to most significant bits of the filtered result.

In the filter Data Ready signal can be interrupt. This can be used to pass the data to UART if you want to directly pass the interrupt result to UART.

Best Regards,
VRS

View solution in original post

0 Likes
4 Replies
Vasanth
Moderator
Moderator
Moderator
250 sign-ins 500 solutions authored First question asked

Hello,

The project you have attached does not seem to have the filter,VDAC or DMA components. Is this the right project?

Best Regards,
VRS

0 Likes
lock attach
Attachments are accessible only for community members.
Anonymous
Not applicable

Yes man, sorry, you are right, I will upload the project

0 Likes

Hey,

It is better to have a interrupt driven filter output. In the interrupt handler you can read the filter output value and send it through UART.

0 Likes
Vasanth
Moderator
Moderator
Moderator
250 sign-ins 500 solutions authored First question asked

Hello ,

Filter_HOLDA_PTR that you have used in the DMA configuration, points to the lower byte of the result register. Please use  Filter_HOLDAH_PTR instead. This points to most significant bits of the filtered result.

In the filter Data Ready signal can be interrupt. This can be used to pass the data to UART if you want to directly pass the interrupt result to UART.

Best Regards,
VRS

0 Likes