向串口写入数据,发送错误字符



当监控数据发送到设备时,我得到这个:https://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码

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

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

然后逐个发送。另一方面,你需要一些东西把它们组装起来。

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

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

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

C/C++/Java source code  "u00F0"

相关内容

  • 没有找到相关文章

最新更新