当前位置:编程学习 > C#/ASP.NET >>

串口接收问题....应该是接收到10位的,它总是分2次接收

我向模块发送一次命令,应该是返回10位的byte,不知道为什么第一次发送返回总是4位或者3位,然后我看sp.ReadExisting()中就是剩余的6位或者7位,一次循环耳畔发送大概12次,就第一次返回是这样,之后收到的都是10位,不知为何....


void sp_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
        byte[] byteArray = new byte[sp.BytesToRead];
        sp.Read(byteArray, 0, byteArray.Length);

        if (byteArray.Length > 0)
        {
                byte[] aaa = System.Text.Encoding.Default.GetBytes(sp.ReadExisting());
        }
}
--------------------编程问答-------------------- 串口控件有个属性是设置事件触发前缓冲区的字节数,设置为10即可。

--------------------编程问答-------------------- ReceivedBytesThreshold --------------------编程问答-------------------- 感觉也是触发时间的问题,
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,