20719 wiced_hal_puart_synchronous_write() problem

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

cross mob
JeHu_3414236
Level 5
Level 5
10 likes received First like received

When I call wiced_hal_puart_synchronous_write() with a large buffer like 300 bytes, it does not seem to write all the data.  I have flow control enabled so it is not a flow problem.  If I call wiced_hal_puart_write() one byte at a time in a loop with no delays, it does send all the data.  Is there some limit to the size I can pass to wiced_hal_puart_synchronous_write()?  There is no return value so I have no idea if it is successfully transmitted.

0 Likes
3 Replies
SheetalJ
Moderator
Moderator
Moderator
First comment on KBA 750 replies posted 500 likes received

Hi jhu_3414236

As mentioned in CYW20719 datasheet section 6.3 Peripheral UART interface, PUART has 256 byte transmit and receive FIFO.So you cannot send 300 bytes here.

None of the wiced_hal_puart write functions have return values and there is no way for me to read UART registers so I assume all the functions will block until all data is put into the FIFO but I guess this is not the case.  wiced_hal_puart_write() seems to work so does this function block until the data is put into the FIFO?

0 Likes

Hi,

are there any update on this topic. I 'm experiencing the same as "JeHu_3414236​". I need to toggle a gpio when all the bytes have been sent through the UART port and it seems I cannot rely on the wiced_hal_puart write function.

BR,

Giorgio Cancelli

0 Likes