1

当监控发送到设备的数据时,我得到这个:http: //i.stack.imgur.com/u0kIT.png

但我期待一个字符:F0ð

 public void WritingDataToPort() {
        SerialPort port = new SerialPort("COM26");
        try {
            System.out.println(port.openPort());
            port.setParams(9600, 8, 1, 0);
            port.writeString((char)240+""));
            port.closePort();
        } catch (SerialPortException ex) {
            System.out.println(ex);
        }
 }

我完全不知道如何发送这个“ð”字符。尝试了所有的ASCII码。

4

2 回答 2

2

您不能只通过串口发送字符(或 UTF8)。你必须转换它。首先获取 UTF-8 中字符的长度,然后获取字节并发送字节。

获取 UTF-8 的大小:获取 UTF-8 编码的 std::string 的实际长度?

然后一一发送。另一方面,您需要一些东西将它们组装回来。

您还可以考虑使用更好的替代方法将字节直接写入端口,例如http://code.google.com/p/java-simple-serial-connector/

于 2014-05-05T22:41:12.637 回答
0

你可以试试unicode。UTF-8 代码。

http://www.fileformat.info/info/unicode/char/f0/index.htm

C/C++/Java source code  "\u00F0"
于 2014-05-05T22:30:34.377 回答