private void FuncEcho()
    {
        Debug.Log("func echo start");
        bool res = MyRs232cUtil.Open(IF_comname.text, out mySP);

        mySP.ReadTimeout = 1;
        if (res == false)
        {
            statusText = "open fail";
            return;
        }
        statusText = IF_comname.text + " : open";
        mySP.Write(">");

        while (doStop == false)
        {
            if (mySP != null && mySP.IsOpen)
            {
                if (rcvAndEcho(ref mySP))
                {
                    statusText = "has received: " + accRcvd;
                    if (rcvdCRLF)
                    {
                        rcvdCRLF = false;
                        accRcvd  = "";
                    }
                }
            }
            Thread.Sleep(20);             // without this app may freeze
        }
        Debug.Log("func echo stop");
        MyRs232cUtil.Close(ref mySP);
        statusText = IF_comname.text + " : closed";
        doStop     = false;
    }
    void Test_rs232c()
    {
        SerialPort sp;

        bool res = MyRs232cUtil.Open("COM3", out sp);

        if (res == false)
        {
            return;             // fail
        }

        string msg = "hello";

        sp.Write(msg);

        MyRs232cUtil.Close(ref sp);
    }