小编Spe*_*rto的帖子

Pyserial与虚拟端口不兼容

动机

我想开始学习如何使用python库pyserial.它似乎是一个非常好的图书馆,适用于很多人.我想将它用于即将开展的项目,我必须自动进行串行通信.

环境

我正在运行Ubuntu 15.04.我正在使用Python 2.7.

设置虚拟端口

我目前没有可以通过串口与之通信的设备.我正在使用socat应用程序创建两个相互连接的虚拟端口,波特率为9600.

$ socat -d -d pty,raw,echo=0,b9600 pty,raw,echo=0,b9600
2016/01/16 12:57:51 socat[18255] N PTY is /dev/pts/2
2016/01/16 12:57:51 socat[18255] N PTY is /dev/pts/4
2016/01/16 12:57:51 socat[18255] N starting data transfer loop with FDs [5,5] and [7,7]
$ echo "hello" > /dev/pts/2
$ cat /dev/pts/4
hello
Run Code Online (Sandbox Code Playgroud)

大!好像港口有效!

一个简单的pyserial脚本

我使用pip安装pyserial

$ sudo pip install pyserial
Run Code Online (Sandbox Code Playgroud)

然后我写了一个小的serialtest.py

#!/usr/bin/env python
import serial

ser = serial.Serial('/dev/pts/2', 9600)
Run Code Online (Sandbox Code Playgroud)

这是serialtest.py的全部内容

运行脚本并遇到错误

$ python serialtest.py 
Traceback (most recent call …
Run Code Online (Sandbox Code Playgroud)

python serial-port virtual-serial-port pyserial socat

9
推荐指数
1
解决办法
6267
查看次数

在java中创建对象数组的问题

我正在创建一个对象数组.'Board'构造函数需要创建一个'Space'对象数组.目前,我正是这样做的.

public class Board {
    //...

    public void Board(int len){
        //...
        Space[] array = new Space[len];
        for(int i=0; i<array.length; i++){
            int[] stuffs = new int[4];
            //...
            array[i]= new Space(i, stuffs, 0, 0);
        }
Run Code Online (Sandbox Code Playgroud)

我删除了一堆不相关的代码并将其替换为// ...,因为它没有出错并且与我遇到的问题无关.如果您希望看到该代码,您可以要求它,但我严重怀疑它与问题有关.

现在,我收到以下错误:

Board.java:42: cannot find symbol
symbol  : constructor Space(int,int[],int,int)
location: class Space
            array[i]= new Space(i, stuffs, 0, 0);
                      ^
Run Code Online (Sandbox Code Playgroud)

我不知道如何解决这个问题.做什么?

java

2
推荐指数
1
解决办法
117
查看次数