
SerialPort CurrentPort = null
CurrentPort = new SerialPort()
CurrentPort.ReadBufferSize = 128
CurrentPort.PortName = comName //端口号
CurrentPort.BaudRate = bandRate//比特率
CurrentPort.Parity =parity//奇偶校验
CurrentPort.StopBits = stop//停止位
CurrentPort.DataBits = databit//数据位
CurrentPort.ReadTimeout = 1000//读超时,即在1000内未读到数据就引起超时异常
//绑定数据接收事件,因为发送是被动的,所以你无法主动去获取别人发送的代码,只能通过这个事件来处理
CurrentPort.DataReceived += Sp_DataReceived
CurrentPort.Open()
定义一个变量 byte[] receiveStr
//绑定的事件处理函数
private static void Sp_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
{
SerialPort sp = sender as SerialPort
if (sp == null)
return
byte[] readBuffer = new byte[sp.ReadBufferSize]
sp.Read(readBuffer, 0, readBuffer.Length)
//赋值
receiveStr=readBuffer//当然你可以通过转换将byte[]转换为字符串。
}
//你要求的按钮事件可以这么写
private void button1_Click(object sender, EventArgs e)
{
if(receiveStr!=null)
{
变量 xxx=receiveStr
}
}
首先打开摄像头,右键点击打开摄像头控件的会话端口,创建输入控件,即图上的Session In输入控件,当连接后多个摄像头的时候用户可以进行选择摄像头的一个,再经过一个图像获取配置控件,进入while循环,开始连续采样,循环外的IMAQ是为图像申请一个缓冲区来先存播放的图像。功能:打开一个摄像头,查询这个摄像头的权限,加载摄像头的配置文件,并且为这个摄像头创建唯一的引用,当完成引用的时候可以用Close Camera 控件关闭这个引用。
功能:配置并开始图像的获取。图像获取在一个循环缓冲区持续的进行获取,使用Grap这个控件从缓冲区中复制图像,如果你在Open Camera控件前调用这个控件,那么那就会默认使用cam0这个引用。可以使用这个Unconfigure这个控件去清除配置
功能:创建一个暂时的缓冲区去加载图像
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)