当串行电缆断开时,Ad_uart_read()失败

⚠️
大家好. .谢谢你来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台,它将提供更好的功能,包含在主对话网站中。所有岗位和账户都已迁移。我们现在只接受新论坛的流量-请在上面发布任何新帖子//www.xmece.com/support.我们将在未来几天修复bug /优化搜索和标记。
2个帖子/ 0个新
最后发表
ainwood87
离线
最后看到:2年9个月前
加入:2017-08-21 21:10
当串行电缆断开时,Ad_uart_read()失败

我遇到了这样一种情况:试图从UART读取时,我的应用程序停止了。我为UART通信配置了两个引脚,并在这些引脚上附加了一个USB到TTL适配器。在这些条件下,一切工作正常,但如果我在没有连接USB to TTL适配器的情况下启动主板,应用程序在调用ad_uart_read()时似乎会停止。我还发现,当我简单地连接RX和TX引脚时,它不会停止。

对于我的应用程序,通过UART进行通信是一个可选特性,无论RX/TX是否连接,我都需要应用程序运行。

我如何有东西配置如下:

//配置UART的两个引脚:
Static const gpio_config gpio_cfg[] = {
HW_GPIO_PINCONFIG(HW_GPIO_PORT_1, HW_GPIO_PIN_2, OUTPUT, UART_TX, false),
HW_GPIO_PINCONFIG(HW_GPIO_PORT_1, HW_GPIO_PIN_4, OUTPUT, UART_RX, false),
HW_GPIO_PINCONFIG_END


Static void peripheral _init(void) {
hw_gpio_configure (gpio_cfg);

//在一个单独的任务设置循环读取从UART:
uart_device uart = ad_uart_open(SERIAL1);
(,){
uint8_t buf [BUF_LEN];
int len = ad_uart_read(uart, buf, BUF_LEN, OS_EVENT_FOREVER);

设备:
PM_Dialog
离线
最后看到:2天20小时前
工作人员
加入:2018-02-08 11:03
嗨ainwood87,

嗨ainwood87,

正如在您的新线程中提到的,我相信您所经历的问题是由于使用延长睡眠时间造成的。请在更新的帖子中查看我们的建议。