首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在微操作系统中用java读取串口数据

在微操作系统中用java读取串口数据
EN

Stack Overflow用户
提问于 2019-03-20 00:58:26
回答 1查看 223关注 0票数 0

我正在阅读小操作系统教程第4课"Mote-PC串行通信和SerialForwarder“,我被困在上面,上面写着”一旦安装了TestSerial,就需要运行通过串口与其通信的相应的TinyOS应用程序。这是在构建TinyOS应用程序时生成的。“

代码语言:javascript
复制
$ java TestSerial

然而,当我键入它时,我将面临以下错误

代码语言:javascript
复制
Error: Could not find or load main class TestSerial

我试过几种方法来解决这个问题,但没有一件能帮上忙。

我尝试过的解决方案:

  1. 将CLASSPATH设置为我当前所在的目录,该目录是

导出CLASSPATH=.:/home/wsn/tinyos-main/apps/tests/TestSerial

2)将CLASSPATH设置为tinyos.jar所在的目录

导出CLASSPATH=.:/home/wsn/tinyos-main/support/sdk/java/tinyos.jar

3)使用java -cp . TestSerial运行命令

但是我总是犯同样的错误

还有其他更好的方法来解决它吗?

我正在使用Fedora操作系统的虚拟机

我试图在mib520平台上运行这个程序,我使用了iris motes。

我的java版本

openjdk版本"1.8.0_31“

OpenJDK运行时环境(Build1.8.0_31-B13)

OpenJDK服务器VM (Build25.31-b07,混合模式)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-20 13:30:38

您必须在运行make命令时跳过该步骤。

导航到app/test/TestSerial文件夹并键入make [platform] (例如makefile、makeirise.t.c),将运行的makefile将是TestSerial文件夹中的makefile,定义如下:

代码语言:javascript
复制
COMPONENT=TestSerialAppC
TOSMAKE_PRE_EXE_DEPS += TestSerial.class
TOSMAKE_CLEAN_EXTRA = *.class TestSerialMsg.java

TestSerial.class: $(wildcard *.java) TestSerialMsg.java
    javac -target 1.4 -source 1.4 *.java

TestSerialMsg.java:
    nescc-mig java $(CFLAGS) -java-classname=TestSerialMsg TestSerial.h test_serial_msg -o $@


TINYOS_ROOT_DIR?=../../..
include $(TINYOS_ROOT_DIR)/Makefile.include

所以makefile编译TestSerial.java。之后,您可以继续安装应用程序,然后运行TestSerial应用程序。

因此,一步一步地踩在虹膜上,例如,你可以

  1. 导航到apps/tests/TestSerial文件夹
  2. 通过键入make iris创建应用程序
  3. 连接您的mote,然后键入motelist。此命令将列出所有连接的motes。您的莫特的名字应该列在“设备”部分。注意这一点,以便在接下来的两个步骤中使用。
  4. 通过键入命令make iris install.1 bsl, [DEVICE NAME]来安装应用程序。这将制作和上传您的程序到您的设备。
  5. 通过运行TestSerial应用程序运行java TestSerial -comm serial@[DEVICE NAME]:iris

如果您使用另一个平台,如telosb,那么只需将上述命令中出现的所有虹膜替换为telosb。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55252098

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档