谢谢你的回复!
串口的功能是读取检测点发过来的数据,每个监测点有两块CPU(冗余),每个监测点发过来的数据基本上是一样的。数据包含是个字节,第一个字节有CPU的地址,其他的都相同。6个串口读六个点的数据。串口发过来的数据可以说无关联。CPU都是同时发,发送间隔大概在180ms左右。数据表,有是一个字段。每快CPU接收的数据,建一个表来储存。
串口的功能是读取检测点发过来的数据,每个监测点有两块CPU(冗余),每个监测点发过来的数据基本上是一样的。数据包含是个字节,第一个字节有CPU的地址,其他的都相同。6个串口读六个点的数据。串口发过来的数据可以说无关联。CPU都是同时发,发送间隔大概在180ms左右。数据表,有是一个字段。每快CPU接收的数据,建一个表来储存。
建表时,在字段中加入了系统时间。我现在是创建一个List<byte[]>,用来接收6个串口接收过来的数据。
ConcurrentBag<T> 类 :线程安全的无序集合。
{
ConcurrentBag<T> 类 :线程安全的无序集合。
大神可否具体一点呢?
public void JZ_RecePort1_DataReceived_JZ(object sender, SerialDataReceivedEventArgs e, byte[] bits)
{
Invoke(new MethodInvoker(delegate(){ 。数据库写入语句}
{
Com_Receive[0]= utility.ByteArrayToBinaryString(bits);
}
public void JZ_RecePort2_DataReceived_JZ(object sender, SerialDataReceivedEventArgs e, byte[] bits)
{
I nvoke(new MethodInvoker(delegate(){ 。数据库写入语句}
{
Com_Receive[1] = utility.ByteArrayToBinaryString(bits);
}
public void JZ_RecePort1_DataReceived_JZ(object sender, SerialDataReceivedEventArgs e, byte[] bits)
{
Invoke(new MethodInvoker(delegate(){ 。数据库写入语句}
{
Com_Receive[0]= utility.ByteArrayToBinaryString(bits);
}
public void JZ_RecePort2_DataReceived_JZ(object sender, SerialDataReceivedEventArgs e, byte[] bits)
{
I nvoke(new MethodInvoker(delegate(){ 。数据库写入语句}
{
Com_Receive[1] = utility.ByteArrayToBinaryString(bits);
}如果bits这个数组就是你最终需要存到数据库中的那么就可以这样