cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
retni
Observer
Observer
2,385 Views
Registered: ‎11-26-2010

XUartLite_Send problem, i can noly send 15 bytes char once..

I use the uartlite ip on zynq 7010.

I can send data to my pc, but the problem is only 15bytes can be send once no matter what 'NumBytes' parameter I set. 

 

My code is like this:

	char *testWord = "1234567890qwertyuiopasdfghjklzxcvbnm";
	XUartLite_Send(&UartLiteDebug, testWord, strlen(testWord));
	while (XUartLite_IsSending(&UartLiteDebug)) {
	};
	XUartLite_SendByte(UART_DEBUG_BASEADDR, 0Xd);

UartLiteDebug is the UartLite instance I defined.

 

I can only receive 

'1234567890qwert'

 And I check the strlen(testWord) in debug mode , it is 36. 

 

Please help me .

thanks!

 

0 Kudos
4 Replies
hpoetzl
Voyager
Voyager
2,330 Views
Registered: ‎06-24-2013

Hey @retni,

 

The Feature Summary for the AXI Uart Lite (PG142) lists ...

Generates a rising-edge sensitive interrupt when the receive FIFO becomes non-empty or when the transmit FIFO becomes empty. This interrupt can be masked by using an interrupt enable/disable signal. The device contains a baud rate generator and independent 16-character deep transmit and receive FIFOs.

 

So I wouldn't expect the XUartLite_Send() to be able to handle more characters at once.

Also, you do not check the return value of XUartLite_Send(), which is the number of successfully sent bytes.

 

I'd suggest to check the return value and break down long strings into smaller chunks.

 

Hope this helps,

Herbert

-------------- Yes, I do this for fun!
retni
Observer
Observer
2,314 Views
Registered: ‎11-26-2010

thanks 

 

 

 

0 Kudos
vasukisoni
Newbie
Newbie
2,138 Views
Registered: ‎12-18-2017

Hello,

 

I have a basic doubt on the Uart application. I want to know that physically on the board, how are you making connection to the PC or a terminal to see uart messages. Can you please specify that for you board, which port and how are you connected to the PC via Uart ?

 

My board is UltraZed IO Carrier Card having Zynq MPSoC Ultrascale IP.

 

Please reply. 

 

Thanks,

Vasuki Soni

0 Kudos
1,106 Views
Registered: ‎05-09-2019

hi

i have the same problem . i send 25 Bytes in my code with XUartLite_Send function but i Receive only 6 correct Bytes and 1 incorrect Byte.

for example i send

u8 Data[25] = {0xC0,0xCC,0xCC,0xCC,0xCC,0xCC,0xCC,0xCC,0xCC,0xCC,0xCC,0xCC,0xCC,0xCC,0xCC,0xCC,0xCC,0xCC,0xCC,0xCC,0xCC,0xCC,0xCC,0xCC,0xC1} ;

but i recieve

c0 cc cc cc cc cc 00

please help me to solve this problem ...

thanks

0 Kudos