2012-12-04 21 views
0

您能否提供一些在Linux中使用scilab进行串行通信的例子。当我给该命令:在Linux中与scilab进行串行通信

h=openserial(1,"9600,n,8,1"); 

我得到以下错误:

-->h=openserial(1,"9600,n,8,1"); 
!--error 999 
TCL_EvalStr, at line 1 
bad option "-mode": should be one of -blocking, -buffering, -buffersize, -encoding, -eofchar, or -translation 
while executing 
"fconfigure file114 -mode 9600,n,8,1" 
at line  27 of function openserial called by : 
h=openserial(1,"9600,n,8,1"); 
+0

https://www.google.com/webhp?q=%22bad+option+%22-mode%22:+should+be+one+的+ -blocking%2C + -buffering%2C + -buffersize%2C + -encoding%2C + -eofchar%2C +或+ -translation%22&OQ =%22bad +选项+%22模%22:+应该+是+一个+ -blocking%的+ 2C + -buffering%2C + -buffersize%2C + -encoding%2C + -eofchar%2C +或+ -translation%22&gs_l = serp.3 ... 4434.5090.1.5315.2.2.0.0.0.0.0.0..0.0.les%3B .. 0.2 ... 1c.1.ixOUV6Dx7Qg&PBX = 1&BAV = on.2,or.r_gc.r_pw.r_cp.r_qf。&FP = b87aba38e7093c75&BPCL = 39468505&离子= 1&BIW = 1438&波黑= 843 –

回答

0

与例如一个Arduino设备只需要指定为openserial第二个参数波特率一个简单的串行通信。看起来像你在字符串参数(n?)中的其他变量搞乱了。

Scilab 5.4示例,使用串行工具箱,用于com端口3和波特率9600. 5秒延迟尝试读取串行。

h = openserial(3,"9600"); 
xpause(5000000); 
data = readserial(h); 
closeserial(h); 

连同你的Arduino设备上的某些串行发送垃圾邮件的代码,你应该在Scilab的每次运行接收数据的字符串。用于Arduino的设备上串行

示例代码:

int cc=0; 

void setup(){ 
    Serial.begin(9600); 
} 

void loop(){ 
    Serial.println(cc); 
    if (cc<10){ 
    cc++; 
    } 
    else{ 
    cc=0; 
    } 
    delay(100); 
} 
相关问题