cancel
Showing results for 
Search instead for 
Did you mean: 

PSoC 5, 3 & 1 MCU

New Contributor II
        Does anyone know the proper destination when feeding a uart tx from dma? I tried HI16(CYDEV_PERIPH_BASE) for the hi and LO16((uint32)UART_TXDATA_REG) for the low. I think the low might be wrong as it doesn't work.   
0 Likes
Reply
10 Replies
Esteemed Contributor II

You will have to specify a pointer to the Rx register as target and not the register itself.

   

 

   

Bob

0 Likes
Reply
Esteemed Contributor

These might be of assistance -

   

 

   

    

   

          

   

http://www.cypress.com/?rID=37793     AN52705     Getting Started with DMA

   

http://www.cypress.com/?rID=82680     AN84810     PSoC® 3 and PSoC 5LP Advanced DMA Topics

   

http://www.cypress.com/?rID=44335     AN61102 PSoC® 3 and PSoC 5LP - ADC Data Buffering Using DMA

   

http://video.cypress.com/video-library/search/dma/     Videos on DMA

   

https://www.youtube.com/results?search_query=dma+psoc Videos on DMA (some overlap)

   

 

   

Regards, Dana.

0 Likes
Reply
New Contributor II

   

LO16((uint32)DMX1_UART_TXDATA_PTR) is working for dma to uart tx. Thanks for the first reply. They should simply state this in the uart component data sheet rather than telling you to use the register as the dma target. I did read the dma app notes before starting, they were helpful showing how to set up the TDs but not for something specific like dma to uart. They should probably add more peripherals like uart to the dma wizard. Cypress documentation can be annoying at times but compared to others it's pretty good.

0 Likes
Reply
Anonymous
Not applicable
        Hello Kypparila, The destination address for lower 16-bits should be LO16((uint32)&UART_TXDATA_REG). Please find attached the example project. You may also use "UART_BUART_sTX_TxShifter_u0__F0_REG" as the destination address for lower 16-bits. Thanks, Goverdhan   
0 Likes
Reply
Esteemed Contributor II

@Goverdhan

   

&UART_TXDATA_REG

   

and

   

UART_TXDATA_PTR

   

 

   

are perfectly the same, have a look into the declaration - macros

   

 

   

Bob

0 Likes
Reply
Anonymous
Not applicable

Hello friends, I need to communicate with a NEXTION smart screen, Using the PSOC 5LP UART. I have to show three variables on the screen and receive data as well. I want you to tell me which are the sentences that I should use since I am new using PSOC....Sorry for my english I am from Argentina....Thanks for your time

0 Likes
Reply
Esteemed Contributor II

Welcome in the forum, although it is not a good idea to hijack a 3 year old thread with a completely new question.

   

It would have been better to create a new thread.

   

To your question: PSoC5 LP has got several UART interfaces using 3.3 to 5V I/O level, so interfacing will not be a problem.

   

Converting numbers to string could be done best using sprintf() library function. Cursor positioning depends on the commands your display understands, VT100 is a widely used command set.

   

To get sprintf() running you need to

   
        
  • #include <stdio.h>
  •     
  • Set "use newlib nano"
  •     
  • Set "Use newlib nano float formatting" in Build Settings -> Linker
  •     
  • And increase heap size to 0x0200 in system view.
  •    
   

 

   

Happy coding

   

Bob

0 Likes
Reply
Anonymous
Not applicable


Sorry for the kidnapping, I did not know how to create the new theme hahaha.
The screen has serial communication, is a touch screen, this screen is configured with a soft from the pc. Buttons, progress bars, or needles can be placed to indicate variations. Observe a communication type using UART_PutChar () and UART_GetChar () but only one bit was sent. And as I said I need to send three different values ​​to the screen and receive the status of a button that you configure ... thank you very much for replying
 

0 Likes
Reply
Esteemed Contributor II

Sending more than 1 byte requires to use UART_PutString() API after filling your buffer using sprintf() as described before.

   

 

   

Bob

0 Likes
Reply
Anonymous
Not applicable


thank you......I was reading the data sheet, I'm going to use your advice
 

0 Likes
Reply