- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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