• Java 串口通信 Ubuntu


    说一下我的操作过程吧

    1. 在Windows上先用阿猫串口网络调试助手,进行调试;
    2. 在网上找Java代码,我选择的是RXTXcomm,网上代码很多,基本都一样。
    3. 在Windows电脑上把rxtx压缩包中的rxtxSerial.dll(与当前系统对应)放入jdk1.8.0_221jrein目录中(事实上放在项目启动时能加载到的地方都可以)
    4. 程序中使用COM1串口,9600波特率可以运行。

    然后到了Ubuntu,Ubuntu上的串口不叫COM1,而是叫tty*。直接用串口的话叫/dev/ttyS*,用usb的话叫/dev/ttyUSB*,*为0-n。我用的两台电脑上一个是0-127,一个是0-63.

    1. 由于tty属于“dialout”组别,先把当前用户加入到这个组别,sudo gpasswd --add user1 dialout;我在这里重启了一下系统
    2. dmesg | grep tty看看系统启动过程中初始化了哪些串口设备
    [    0.000000] console [tty0] enabled
    [    1.080575] 00:01: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A
    [    1.101658] 00:02: ttyS1 at I/O 0x2f8 (irq = 3, base_baud = 115200) is a 16550A
    [    2.001305] systemd[1]: Created slice system-getty.slice.
    [    2.883541] dw-apb-uart.0: ttyS4 at MMIO 0xdf14b000 (irq = 20, base_baud = 115200) is a 16550A
    

    可以看到里面有ttyS0和ttyS1
    3. 把rxtx压缩包中的librxtxSerial.so放到项目能加载到的位置

    1. 在程序中把串口名改为/dev/ttyS0或者/dev/ttyS1进行一下尝试。我这里用/dev/ttyS0测试成功了。

    PS:在这期间,以为是驱动问题,还安装了minicom想进行调试,结果发现自己按照网上的步骤配置好了,但是不会用,找不到发送命令的地方,最后不了了之。

  • 相关阅读:
    [LeetCode] Range Sum Query
    [LeetCode] Longest Increasing Subsequence
    [LeetCode] Bulls and Cows
    [LeetCode] Serialize and Deserialize Binary Tree
    [LeetCode] Find Median from Data Stream
    [LeetCode] Convert Sorted List to Binary Search Tree
    [LeetCode] Nim Game
    [LeetCode] Word Pattern
    安装配置说明与注意
    java.lang.OutOfMemoryError: PermGen space及其解决方法
  • 原文地址:https://www.cnblogs.com/qlong8807/p/11777686.html
Copyright © 2020-2023  润新知