标签: jssc

使用jssc获取SerialPort的设备描述符

如何使用jssc获取SerialPort的设备描述符( java-simple-serial-connector)

getPortName()方法给出了端口名称(e.g. COM2),但描述符会更有帮助.

如果需要修补此开源API以获取设备描述符如何才能完成?

java serial-port jssc

7
推荐指数
1
解决办法
2548
查看次数

慢Arduino串行传输

我正在测试我的Arduino UNO的串行传输速度.根据我的要求,我必须从主机PC向Arduino传输3KB/s.我编写了一个非常简单的程序,它回复了结果,Serial.available()然后在Arduino IDE的串行监视器中进行了测试.我已经开始发送字符,直到达到63字节的最大值.我对此感到非常惊讶,因为我在某处看到Arduino有一个128byte的串行缓冲区.

无论如何,我已经编写了一个非常简单的协议,它以48字节的数据包传输数据(实际上是49个字节,因为标题字符).主机发送一个d字符,然后发送48个字节的数据.为了测试传输的有效性,我发送一个从0到47的简单字节序列,在Arduino端进行验证.如果验证失败,UNO开始闪烁PIN13上的板载LED.一旦发送了字节,主机就会等待一个简单k字符的确认.一旦完成处理实际数据包,Arduino就会发送它.

主机程序测量传输的数据包的数量,并在1秒后显示它.波特率为9600时,PC成功传输~16包/秒(~800字节/秒),这是相当不错的.我试图通过将双方的波特率提高到57600来改善这一点; 但是,发送的数据包数量只会增加一点.我不知道问题是什么.也许我已经达到USB串口转换器的某种限制?


这是我的代码.

PC(Java,我使用jSSC进行串口通信)

  package hu.inagy.tapduino.server;

  import jssc.SerialPort;
  import jssc.SerialPortException;

  /**
   * Test Arduino communication.
   */
  public class App
  {

    private static void testComm(SerialPort port) throws SerialPortException {
      long runningSeconds = 0;
      long time = System.currentTimeMillis();
      long numberOfPackets = 0;
      boolean packetSent = false;
      while (runningSeconds < 10) {
        long currentTime = System.currentTimeMillis();
        if (currentTime - time > 1000) {
          runningSeconds++;
          time = currentTime;
          System.out.println(numberOfPackets + " …
Run Code Online (Sandbox Code Playgroud)

java serial-port arduino jssc

5
推荐指数
1
解决办法
7895
查看次数

Linux中带有jSSC的串行端口

我正在尝试使用jSSC在Java中使用串行端口。我的代码:

import jssc.SerialPortList;
....
String[] ports = SerialPortList.getPortNames();
Run Code Online (Sandbox Code Playgroud)

但它总是返回空数组。

brut@brut-Z97-D3H:~$ dmesg | grep tty
[    0.000000] console [tty0] enabled
[    0.957537] 00:05: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A
Run Code Online (Sandbox Code Playgroud)

谁能帮我?

java linux jssc

4
推荐指数
1
解决办法
1229
查看次数

标签 统计

java ×3

jssc ×3

serial-port ×2

arduino ×1

linux ×1