主题:求教串口通讯,急问!
我想通过matlab串口,程序如下:
s=serial('COM1');
s.InputBufferSize=1024;
s.OutputBufferSize=1024;
s.DataBits=8;
fopen(s);
s.baudrate=38400;
y1=[dec2hex(0,2) dec2hex(170,2) dec2hex(31,2) dec2hex(0,2) dec2hex(1,2)]
y2=[dec2hex(0,2) dec2hex(170,2) dec2hex(1,2) dec2hex(3,2) dec2hex(232,2)]
y3=[dec2hex(0,2) dec2hex(170,2) dec2hex(2,2) dec2hex(0,2) dec2hex(88,2)]
y4=[dec2hex(0,2) dec2hex(170,2) dec2hex(31,2) dec2hex(0,2) dec2hex(16,2)]
y5=[dec2hex(0,2) dec2hex(170,2) dec2hex(1,2) dec2hex(3,2) dec2hex(232,2)]
fprintf(s,'%s\n',y1);
fprintf(s,'%s\n',y2);
fprintf(s,'%s\n',y3);
fprintf(s,'%s\n',y4);
fprintf(s,'%s\n',y5);
fclose(s);
可是数据写不出去,怎么回事啊?什么地方错了啊?急问!谁知道啊?谢谢啦!
我刚刚试了一下,要是用600的波特率可以,但是电机的转速不正确!为什么啊?
s=serial('COM1');
s.InputBufferSize=1024;
s.OutputBufferSize=1024;
s.DataBits=8;
fopen(s);
s.baudrate=38400;
y1=[dec2hex(0,2) dec2hex(170,2) dec2hex(31,2) dec2hex(0,2) dec2hex(1,2)]
y2=[dec2hex(0,2) dec2hex(170,2) dec2hex(1,2) dec2hex(3,2) dec2hex(232,2)]
y3=[dec2hex(0,2) dec2hex(170,2) dec2hex(2,2) dec2hex(0,2) dec2hex(88,2)]
y4=[dec2hex(0,2) dec2hex(170,2) dec2hex(31,2) dec2hex(0,2) dec2hex(16,2)]
y5=[dec2hex(0,2) dec2hex(170,2) dec2hex(1,2) dec2hex(3,2) dec2hex(232,2)]
fprintf(s,'%s\n',y1);
fprintf(s,'%s\n',y2);
fprintf(s,'%s\n',y3);
fprintf(s,'%s\n',y4);
fprintf(s,'%s\n',y5);
fclose(s);
可是数据写不出去,怎么回事啊?什么地方错了啊?急问!谁知道啊?谢谢啦!
我刚刚试了一下,要是用600的波特率可以,但是电机的转速不正确!为什么啊?