串行端口不可用在GUI,但它实际上可以在我的电脑

19日视图(30天)
你好,
我想要简单的GUI与单片机串行通信通过UART(图片)。当新闻button1 GUI, LED1将点亮。新闻button2 LED2将点亮。我使用USB RS232转换器。在我的计算机管理,港口类别,它显示了USB-to-RS232转换器端口(COM14)。所以我用COM14 GUI。不幸的是,它显示了一个错误当我运行它们。”? ? ?错误使用= = >系列。fopen在72Port: COM14 is not available. Available ports: COM5, COM12." Why COM14 is not available? But it shows in my computer management. when I use instrfind command, the following information I get:
> > instrfind
仪器对象数组
指数:类型:状态:名称:
1系列开放Serial-COM14
2系列关闭Serial-COM14
3个系列关闭Serial-COM14
4系列关闭Serial-COM14
这是什么意思?为什么COM14打开然后关闭吗?谢谢你!

答案(3)

沃尔特·罗伯森
沃尔特·罗伯森 2011年6月15日
你打开这个设备吗 你开始MATLAB ?USB设备必须完全连接在你开始MATLAB,否则您将无法使用它们。
如果问题继续,试一试
文件关闭(instrfind)
然后试图找到港口。
2的评论
沃尔特·罗伯森
沃尔特·罗伯森 2011年6月15日
就在fopen (s)之前,尝试添加
instrfind
你应该期待看到一个发生COM1 (s)对应于其使用和其他是奇数。

登录置评。


杨紫琼
杨紫琼 2011年6月16日
(编辑:20110616 08:57 CDT -格式化世界发展报告》)
收集所有的意见后,我成功改变我的编码和程序可以运行。代码如图所示:
函数pushbutton3_Callback (hObject eventdata处理)
删除(instrfind);
暂停(0.1);
s =系列(“COM1”);
集(年代,“波特率”,9600,“DataBits”8“平价”,“没有”,“StopBits”, 1“FlowControl”,“没有”,“终结者”,“CR / LF”);
fopen (s);
流(年代,‘g’);
文件关闭(年代);
删除(s);
清晰的年代;
谢谢你!但它非常慢,大约3分钟做出反应。任何想法,让它更快吗?我已经改变波特率,但它仍然是相同的。谢谢你!
5个评论

登录置评。


Ankit德赛
Ankit德赛 2011年6月15日
有一些东西,你可能想要确认:
  1. 确保端口没有用于任何其他应用程序(如超级终端、MATLAB等)的另一个实例。如果任何此类应用程序所使用的端口,它不会出现在MATLAB。
  2. 如果一个对象被创建在MATLAB正确但不删除和清除,它不会出现在随后尝试使用它。
instrfind的输出,串行对象创建COM14正确但不清理(它仍然是可用的内存,这就是为什么instrfind是找到它)。这意味着如上每点2,它将不可用,当你试图使用相同的端口创建另一个对象。
您可能希望检查代码以找到所有你创建一个序列对象的地方,确保你不是试图创建多个对象相同的端口。你应该使用相同的对象为所有你的串行通信端口。

类别

找到更多的在仪器连接和沟通帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!