解决方案 »
- C#编程如何编写的自动读写配置文件.ini格式
- numeric(18, 2)转謉的问题
- 新建website怎么没有自动产生web.config文件?
- 怎么读取 SqlDataSource 返回的数据?????
- 三个简单的问题100分(.net新手)在线等!
- 不知道为什么同一个页面的一个Cookie,有时打开读取出来正常,有时又是乱码,为什么?(小问题大学问)
- 高分求助:如何在水晶报表(.net自带的)中使用自定义纸张?
- @@@###高分求助:两台不同局域网中的机器怎样通信?======
- 非常弱智的问题!在线等待!
- 对于log4net日志记录数据库,哪位大虾有成功的案例。
- DataRow与IDataReader的差别?
- 有关 Microsoft.Office.Interop.Excel.Workbooks的报错
如果你和对方是应答模式,那就收和发就要有顺序了,这个自己和对方定
while(true)
{
if (serialport.BytesToRead > 0)
{
str = ReadPortDate();
}
if(str=="1"){}
if(str=="2")
{
serialport.write();
}
}private string ReadPortDate()
{
string str = "";
try
{
_length = serialport.BytesToRead;
bit = new byte[_length];
serialport.Read(bit, 0, bit.Length);
if (bit.Length > 0)
{
if (bit[0].ToString("X2") == "13" || bit[0].ToString("X2") == "14")//判断字头,然后决定用ASCII还是16进制接收。
{
//ascii 接收
str = Encoding.Default.GetString(bit, 0, bit.Length);
}
else
{
//16进制 接收
if (bit != null)
{
for (int i = 0; i < bit.Length; i++)
{
//10进制转16进制
str += bit[i].ToString("X2");
}
}
}
}
serialport.ReadExisting();
}
catch (Exception ex)
{
MessageBox.Show("报错Line:" + GetLineNum().ToString() + "\r\n" + ex.Message);
}
return str;
}