On Thursday, 20 September 2018 at 10:51:52 UTC, braboar wrote:
I am going to play with serial port read/write, so I fetched serial-port. After that, I wrote simple program:

    auto port_name = "/dev/ttyUSB1";
    auto reader = new SerialPort(port_name);
    reader.dataBits(DataBits.data8);
    reader.stopBits(StopBits.one);
    reader.parity(Parity.none);
    reader.speed(BaudRate.BR_230400);
    string[] income;
    reader.read(income);

and the result is
serial.device.TimeoutException

Can anybody give me a guide of using serial port?

And one more question: how to outline code blocks? ''' or --- can't help me.

here is my code really works:

com is `reader` object in your code.

```
    void writeBytes(ubyte[] arr)
    {
        com.write(arr);
    }

    void serialThread()
    {
        ubyte[500] buff;

        running = true;
        while (running)
        {
            string str;
            size_t readed;

            try
            {
                readed = com.read(buff);
                // if (readed > 0) {
//writeln("com port readed " ~ std.conv.to!string(readed));
                str = cast(string)(buff[0 .. readed]).idup;
// Don't use writeln for console or string serail application.
                write(str);
                // }
            }
// must catch for continous reading, otherwize, com port will block.
            catch (TimeoutException e)
            {
            }
       }
    }
```

thanks!
  • SerialPort braboar via Digitalmars-d-learn
    • Re: SerialPort Vladimir Panteleev via Digitalmars-d-learn
    • Re: SerialPort dangbinghoo via Digitalmars-d-learn
    • Re: SerialPort UlanReed via Digitalmars-d-learn

Reply via email to