当串行电缆断开时,ad\u uart\u read()失败

⚠️
你好。。谢谢你来参加论坛。令人兴奋的消息!我们现在正在移动到我们的新论坛平台,将提供更好的功能,并包含在主对话网站的过程。所有帖子和账号都已迁移。我们现在只接受新论坛上的流量-请在//www.wsdof.com/support. 我们将在未来几天内修复bug/优化搜索和标记。
2个职位/0个新职位
最后一篇文章
艾因伍德87
离线
最后一次见到:2年7个月前
已加入:2017-08-21 21:10
当串行电缆断开时,ad\u uart\u read()失败

我遇到了这样一种情况:试图从UART读取数据会中断我的应用程序。我为UART通信配置了两个管脚,并在这些管脚上连接了一个USB-to-TTL适配器。在这种情况下,一切正常,但如果我在没有USB到TTL适配器连接的情况下打开主板电源,调用ad\u uart\u read()时应用程序似乎会停止。我还发现,当我简单地连接RX和TX引脚时,它不会停止。

对于我的应用程序,通过UART进行通信是一个可选功能,我需要应用程序运行,而不管是否连接了RX/TX。

我的配置如下:

//为UART配置两个引脚:
静态常量gpio\u config gpio\u cfg[]={
硬件GPIO引脚配置(硬件GPIO端口1,硬件GPIO引脚2,输出,UART发送,错误),
硬件GPIO引脚配置(硬件GPIO端口1,硬件GPIO引脚4,输出,UART接收,假),
硬件配置端
}
...
静态void periph\u init(void){
硬件gpio配置(gpio cfg);
}

//在单独的任务设置中,从UART读取一个循环:
uart\u device uart=ad\u uart\u open(串行1);
对于(;;){
单位:8μt buf[buf_LEN];
int len=读(uart,buf,buf len,OS\u EVENT\u FOREVER);
}

设备:
PM\U对话框
离线
最后一次见到:10小时26分钟前
工作人员
已加入:2018-02-08 11:03
嗨ainwood87,

嗨ainwood87,

正如你在新的帖子中提到的,我相信你遇到的问题是由使用延长睡眠造成的。请在你的新帖子中查看我们的建议。