你好,
我正在做一个项目,使用pxp_reporter作为基础。我正在通过UART与ESP WiFi模块通信。
我已经配置了UART,并且可以与设备通信。不过,以后我做得成功了ad_uart_read,我总是得到相同的数据为任何额外的读操作之后。当我直接通过pro开发板上的USB->UART桥与ESP设备通信时,我没有这个问题。
我检查了SDK,我没有看到一种方法来清除缓冲区,所以我假设读命令应该做它?任何建议都将非常感谢。
我的代码如下:
char rbuf [10];static char *cmd = "AT\r\n";uart_serial_device = ad_uart_open (SERIAL1);ad_uart_bus_acquire (uart_serial_device);ad_uart_write (cmd, uart_serial_device strlen (cmd));/ / int问;Ad_uart_read (uart_serial_device, rbuf, 10, 2000);ad_uart_bus_release (uart_serial_device);ad_uart_close (uart_serial_device);
谢谢你!
设备:
嗨livingstonem,
没有,没有任何API来清除缓冲区。获得相同数据的最可能的原因是缓冲区被相同的数据覆盖。如果想要清除,可以使用memset()并在它满的时候用0初始化它。
谢谢,PM_Dialog
谢谢你的回复,它帮助我解决了我的问题。出于某种奇怪的原因,我希望读取能够自动清除缓冲区。
嗨livingstonem,
很高兴你解决了你的问题,谢谢你接受我的回答。
谢谢,PM_Dialog