怎样在matlab中读取串口
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎样在matlab中读取串口相关的知识,希望对你有一定的参考价值。
s=serial('com1');//设置串口set(s,'BaudRate',9600,'StopBits',1,'Parity','none','DataBits',8,'InputBufferSize',255);
//串口的一些设置,注意,'none'有引号,有些值如InputBufferSize只能在串口关闭时才能设置,
//所以不建议先打开串口
fopen(s)//打开串口
fwrite(s,100);//打100(十进制)写入串口也可以是一维数组,可以用示波器测com的第3个引脚
a=fread(s);
//读出串口数据,由于matlab是顺序执行的,所以这里读不到100,
//程序会卡在这里直到读到数据为止,好像是存完buffer吧,这里忘了。
//自己从com的第2个引脚给数据试试看就清楚了
fclose(s);//关闭串口 参考技术A matlab对底层硬件支持较差,我也做这个,虽然我无法帮你解决问题,我给你个建议,如果你有c基础或者c++,你可以使用vc++写个接口的再给数据传递该matlab引擎计算,或者直接建立一个mfc工程,用混合编程,解决问题,效果非常好,还有你可以在百度搜一下matlab2008又可以下载的破解版,对硬件支持有所改观。你试下!祝你好运!
怎样用matlab做histogram
给你一个例子,例如:
x=-5:0.1:5
y=randn(1000,1)
hist(y,x)
参考技术A可查看hist函数
doc hist
>> data = [0,2,9,2,5,8,7,3,1,9,4,3,5,8,10,0,1,2,9,5,10];
>> hist(data)
参考技术B MATLAB命令:I=imread('bmp格式的图像');
a=rgb2gray(b);
imhist(a);
VB,imhist也行
要有C语言用for(i=0;i<256;i++)
m_count[i]=0;
for(i=0;i<m_Height;i++)
for(j=0;j<m_Width;j++)
lpSrc=(unsigned char*)m_lpDIBBits+((m_Width*8+31)/32*4)*i+j;
m_count[*lpSrc]++;
以上是关于怎样在matlab中读取串口的主要内容,如果未能解决你的问题,请参考以下文章