byte[] command = new byte[8];     
            command[0] = 0x55;      
            command[1] = 0x01;   
            command[2] = 0x12;     
            command[3] = 0x00;    
            command[4] = 0x00;     
            command[5] = 0x00;   
            command[6] = 0x01;
            command[6] = 0x68;            serialPort1.Write(command,0,8);闭合状态也就保持2秒左右,接着就恢复了,不知道怎么了

解决方案 »

  1.   

    检查下单片机的输出电压,要保持继电器为闭合状态,得有一个持续电压,你可以用电表检测下电压是否持续。单看你这点程序看不出问题来的。
      

  2.   

    厂家提供的实例程序就没问题,我的不行,不是硬件的事,厂家实例无代码
      

  3.   


    让你检查输出电压并不是硬件有问题。
    你得先弄清楚为什么继电器开关会断开吧。
    看你程序的意思是发送一个指令给单片机,然后单片机来控制继电器。可是我们怎么知道令单片机控制继电器吸合应该发送什么指令呢?这都是上位机和下位机的协议。
    检查3个东西:1、你的软件有没有把指令发出去。2、接到对应的指令后,单片机进行了什么样的操作。3、以上两个都没有问题的时候,检查下硬件。
      

  4.   

    检查输出电压只是个排查过程,要让继电器保持吸合需要保持电压(如果你是电压型继电器),这个你懂的不?
    既然继电器已经闭合了2秒钟,那单片机接到指令后已经开始控制继电器了,给出了一个瞬时电压。
    好好看下说明书,单片机要怎么控制继电器,需要怎样的指令