串行/ non-string流?

4视图(30天)
沃尔特·罗伯森
沃尔特·罗伯森 2015年5月3日
编辑: 沃尔特·罗伯森 2015年7月3日
的文档 串行/流 代表形式显示了四种可能的模式,在每种情况下发送的数据显示为一个字符串。然而,许多不同的格式参数可以包含任何非字符项说明符,其中的一个例子
流(年代,“ch: % d规模:% d '20 e - 3], [1],“同步”);
这表明情况要发送的数据并不是一个字符串。
尽管如此,用户报告在R2013a,他们告诉我
错误使用串行/流(第84行)
第三输入参数必须是一个字符串。
错误无题(第10行)
流(年代,‘* % d '、数据(:));
通过imread uint8数据(获得)
不幸的是我不能自己测试这个系统我没有一个串行端口。可能有人确认non-string数据可用于连续流,和他们能测试uint8是否问题?
(假设此时串口缓冲区足够容纳整个输出;不测试大数组作为默认输出缓冲区只有512字节)。

接受的答案

Nalini Vishnoi
Nalini Vishnoi 2015年5月6日
你好沃尔特,
我可以繁殖行为与串口系统上。文档(主要是语法部分)的串行/流表明数据被发送到设备需要一个字符串。但是在你提到的例子的格式参数包括不同非字符项说明符(特别是% d -签署了十进制记数法)。当我打开这个函数,我注意到串行/流函数只接受“字符串”和“双”数据类型。因此,错误在试图通过“uint8”类型的数组。如果你没有试过,你可以试试这些解决方法:
1。把uint8值作为双:
> >流(年代,‘* % d '、双(数据(:)));
2。使用sprintf构建cmd的字符串,然后通过串行/流函数作为一个参数:
> > str = sprintf (“% u \ n”、数据);
> >流(年代,str);
3使用 写入文件 函数写入二进制数据(可能uint8)设备。
> >写入文件(s、数据“uint8”);
我与MathWorks和模糊函数的文档和沟通的可能性,允许其他数据类型(如“uint8”)接受参数,相应的开发团队。
nalini
7评论
沃尔特·罗伯森
沃尔特·罗伯森 2015年7月3日
编辑:沃尔特·罗伯森 2015年7月3日
默认值是10秒,足以转移9600文本字节9600波特。你发送至少2文本字节/输入元素,并可以发送文本4字节/输入元素,所以你的传输速率是240年和480年之间元素每10秒。当然,这是令人沮丧的;你应该考虑更高的波特率。
(但是如果你发送完全没有实际的串口接口,USB 9600波特是或多或少的装饰,但仍在一个足够大的文件可能需要超过10秒。)

登录置评。

更多的答案(0)

标签

下载188bet金宝搏

社区寻宝

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

开始狩猎!