你好,
我正在使用pxp_reporter作为基础的项目。我正在通过UART与ESP WiFi模块进行沟通。
我有UART配置了,我可以与设备进行通信。但是,在我做成功之后ad_uart_read.此后,我总是获得相同的数据以获得任何额外的读取操作。当我在Pro开发板上的USB-> UART桥上直接与ESP设备直接通信时,我没有此问题。
我检查了SDK,我没有看到一种清除缓冲区的方法,所以我假设读命令应该这样做?任何建议将不胜感激。
我的代码如下:
char rbuf [10];静态char * cmd =“at \ r \ n”;UART_SERIAL_DEVICE = AD_UART_OPEN(SERIAL1);AD_UART_BUS_ACQUIRE(UART_SERIAL_DEVICE);AD_UART_WRITE(UART_SERIAL_DEVICE,CMD,STRLEN(CMD));// int cnt;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()并在已满时将其与零初始化。
谢谢,PM_DIALOG.
谢谢你的回复,它帮助我弄清楚了我的问题。我是出于一些奇怪的原因,期待读取自动清除缓冲区。
嗨livingstonem,
很高兴你识上你的问题,谢谢你接受我的答案。
谢谢,PM_DIALOG.