xPC目标- rs - 232接口w / usb串口转换器吗?

19日视图(30天)
我正在试图连接到我的xPC目标通过rs - 232接口(波特率:19200)。我有一个串行端口在目标电脑上的主板,但是没有一个在主机电脑。我目前没有运气连接到目标使用一个usb串口转换器(多产的pl - 2303)。这是我目前的设置:
主机PC - > USB-PL2303 - > w串行电缆/电线翻转来匹配零调制解调器电缆- > TargetPC的串行端口
pl - 2303配置是这样的:BitsPerSecond: 19200 DataBits: 8平价:没有StopBits: 1 FlowControl:硬件端口:Com1
我把xpcexplr COM1 & 19200引导磁盘,现在我得到一个错误当我试着平或连接:COM端口访问失败。
有人有经验/运气这种方案或使用这个USB转换器是一个注定要失败吗?如果是工作之前,我将回去re-re-check布线。
2的评论
雷蒙德赵
雷蒙德赵 2016年5月24日
我已经成功配置PL2303HX serial-over-USB电缆仿真软件MATLAB / Win10。万博1manbetx我建议使用一个简单的终端程序(白蚁)冒烟测试串口通信。司机Win10会很棘手,因为操作系统的目的是更新驱动程序(导致失败)。

登录置评。

接受的答案

沃尔特·罗伯森
沃尔特·罗伯森 2011年6月30日
我们 这种事情工作的报道了吗 一些 人……而不是为别人。
instrfind()报告串口的存在?你重启MATLAB PL2303抓起COM1自从你知道吗?MATLAB USB通用串行驱动程序无法处理即插即用事件,和(原因我还没有真正见过向我解释满意度)是不可能让MATLAB重新扫描的串行端口列表一旦完成第一instfind ()。
19200应该没有任何问题,特别是当你使用硬件流控制采取了合理的预防措施。
如果你让它过去的连接测试,然后下一个典型的问题是没有终止字节正确设置,或者在设置包模式,使用缓冲区大小或BytesExpected价值大于实际的数据:代码将坐在那里等着看一个终结者角色或等待交付完整的缓冲区,直到读超时。让很多人,特别是不匹配是否终结者角色CR或低频或两者兼而有之。
2的评论
沃尔特·罗伯森
沃尔特·罗伯森 2016年5月24日
顺便说一下,我不知道 它的发生,但Mathworks人暗示的讨论现在支持热插拔的USB没有重启。万博1manbetx

登录置评。

答案(1)

威廉
威廉 2014年2月3日
编辑:沃尔特·罗伯森 2014年2月3日
什么好主意吗?我有问题保持与硬件设备连接。USB RS232。下面的代码。意外终止后(错误),我不能重新连接。instrfind没有找到。我断开连接。没有找到COM4为。做一个硬件复位。没有找到COM4为。 Sometimes a reboot is required. Sometimes not. I'm wondering if, when an error occurs, the COM4 port doesn't close properly. Any ideas?
%开放COM4为
com_check = instrfind;
如果isempty (com_check)
handles.com1 =系列(“COM4为”);
集(handles.com1,“波特率”,2400,“终结者”,,“DataBits”8“平价”,“没有”,“StopBits”,1“超时”1);
fopen (handles.com1);
%平设备
写入文件(handles.com1 [hex2dec (“5”)hex2dec (的A5)),“uint8”);
%检查响应
BoxGoStr =从文件中读(handles.com1 2);
如果~ isempty (BoxGoStr)
如果BoxGoStr (1) = = hex2dec (“88”)& & BoxGoStr (2) = = hex2dec (“77”)
GoodComs = 1;
打破
其他的
GoodComs = 0;
结束
其他的
GoodComs = 0;
打破
结束
其他的
集(handles.ComAlarm,“字符串”,审稿发起的,“写成BackgroundColor”,‘g’);
GoodComs = 1;
结束
%停止流
写入文件(handles.com1 [hex2dec (“80”)hex2dec (“00”)hex2dec (“00”)),“uint8”);
1评论
沃尔特·罗伯森
沃尔特·罗伯森 2014年2月3日
我建议你打开一个新问题。你可以参考这个问题。

登录置评。

社区寻宝

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

开始狩猎!

翻译的