UART读取不清除缓冲区

⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
4个帖子/ 0新
最后一篇
Livingstonem
离线
最后一次露面:1年1个月前
加入:2018-06-25 16:14
UART读取不清除缓冲区

你好,

我正在使用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);

谢谢你。

设备:
PM_DIALOG.
离线
最后一次露面:2天9小时前
职员
加入:2018-02-08 11:03
嗨livingstonem,

嗨livingstonem,

否任何API才能清除缓冲区。您获得相同数据的最可能原因是因为缓冲区覆盖了相同的数据。如果您想清除,则使用MEMSET()并在已满时将其与零初始化。

谢谢,PM_DIALOG.

Livingstonem
离线
最后一次露面:1年1个月前
加入:2018-06-25 16:14
感谢您的答复,

谢谢你的回复,它帮助我弄清楚了我的问题。我是出于一些奇怪的原因,期待读取自动清除缓冲区。

PM_DIALOG.
离线
最后一次露面:2天9小时前
职员
加入:2018-02-08 11:03
嗨livingstonem,

嗨livingstonem,

很高兴你识上你的问题,谢谢你接受我的答案。

谢谢,PM_DIALOG.