在Arduino上用Java编程
1.序
2.TotoroVM使用方法
TotoroVM经过一段时间的调试,在Arduino UNO上运行成功,小得瑟一下,把它开源了。欢迎试用拍砖!
项目地址:http://www.oksvn.com/Project/Detail-14993.shtml
svn地址:svn://www.oksvn.com/totorovm/totorovm/trunk
使用方法
1. 在使用环境中准备好java和ant,如需编译cpp代码,则还需要相应的编译环境。
2. 从svn获取代码 svn co svn://www.oksvn.com/totorovm/totorovm/trunk TotoroVM
3. 编译jar包 ant jar.dist
4. 编译并预处理jdk基本类 ant preprocess
* 基本类包括java包的Object, Class, String和System,以及arduino包的Arduino和Serial。
* 现在只实现了里面最基本的功能,如Object.getClass()。其它方法待以后按需添加。
* 由于java编译器限制了不能用户自定义java包下的类,所以项目里的基本类都写在了_totoro_java包下面,在预处理过程中会把class文件中的_totoro_都去除,使它们可以正确取代java的类。
* 预处理的参数可以在etc/tools.properties中配置
5. 编写java代码,代码中可以调用Arduino类中的静态方法,对应了Arduino.h中的对应实现。app目录下有一些测试用的类如:arduino.Main
6. 编译生成cpp代码 ant compile
* 生成的代码包括:
class/ 动态生成代码:每一个java类对应一组.h和.cpp文件;全局方法:class.cpp和class.h;运行环境定义:type.h;对象遍历程序:traverse.cpp,主要供gc使用。
native/ 本地方法代码:包含native方法的类会对应一个_native.h和_native.cpp实现,如果不存在,会自动生成空方法的模板,供用户自己实现cpp方法。
vm/ 系统基础实现:包括heap, stack, gc等
main.cpp 程序入门,自动调用指定类的main方法。
* 编译参数可以在etc/tools.properties中配置
至此,如果没有出错,恭喜你已经获得了和你写的java程序有同样功能的c++代码,接下来你可以用你喜欢的方式把它们编译成执行程序。我使用的是mingw-gcc和avr-gcc,分别可以编译出windows和arduino的执行程序,下次更新将介绍这两个工具的使用方法。
相关推荐
基于Arduino的碰撞检测预警系统.zip基于Arduino的碰撞检测预警系统.zip基于Arduino的碰撞检测预警系统.zip基于Arduino的碰撞检测预警系统.zip基于Arduino的碰撞检测预警系统.zip基于Arduino的碰撞检测预警系统.zip...
基于Arduino的蜂鸣器报警系统.zip基于Arduino的蜂鸣器报警系统.zip基于Arduino的蜂鸣器报警系统.zip基于Arduino的蜂鸣器报警系统.zip基于Arduino的蜂鸣器报警系统.zip基于Arduino的蜂鸣器报警系统.zip基于Arduino的...
通过arduino操控蜂鸣器演奏音乐.zip通过arduino操控蜂鸣器演奏音乐.zip通过arduino操控蜂鸣器演奏音乐.zip通过arduino操控蜂鸣器演奏音乐.zip通过arduino操控蜂鸣器演奏音乐.zip通过arduino操控蜂鸣器演奏音乐.zip...
Arduino 例程详细教学29.矩阵键盘Arduino 例程详细教学29.矩阵键盘Arduino 例程详细教学29.矩阵键盘Arduino 例程详细教学29.矩阵键盘Arduino 例程详细教学29.矩阵键盘Arduino 例程详细教学29.矩阵键盘Arduino 例程...
土壤湿度传感器程序Arduino 例程详细教学37.土壤湿度传感器程序Arduino 例程详细教学37.土壤湿度传感器程序Arduino 例程详细教学37.土壤湿度传感器程序Arduino 例程详细教学37.土壤湿度传感器程序Arduino 例程详细...
ArduinoMega2560使用手册...pdf
基于Arduino的嵌入式系统入门与实践课件—Arduino板的接口及应用.pdf基于Arduino的嵌入式系统入门与实践课件—Arduino板的接口及应用.pdf基于Arduino的嵌入式系统入门与实践课件—Arduino板的接口及应用.pdf基于...
Arduino 例程详细教学2.LED闪烁Arduino 例程详细教学2.LED闪烁Arduino 例程详细教学2.LED闪烁Arduino 例程详细教学2.LED闪烁Arduino 例程详细教学...闪烁Arduino 学2.LED闪烁Arduino 例程详细教学2.LED闪烁vvvvvvvvv
Arduino 例程详细教学22.PS2摇杆Arduino 例程详细教学22.PS2摇杆Arduino 例程详细教学22.PS2摇杆Arduino 例程详细教学22.PS2摇杆Arduino 例程详细教学22.PS2摇杆Arduino 例程详细教学22.PS2摇杆Arduino 例程详细教学...
Arduino 例程详细教学32.DS1302时钟Arduino 例程详细教学32.DS1302时钟Arduino 例程详细教学32.DS1302时钟Arduino 例程详细教学32.DS1302时钟Arduino 例程详细教学32.DS1302时钟Arduino 例程详细教学32.DS1302时钟...
(完整版)基于Arduino智能寻迹小车开题报告.pdf(完整版)基于Arduino智能寻迹小车开题报告.pdf(完整版)基于Arduino智能寻迹小车开题报告.pdf(完整版)基于Arduino智能寻迹小车开题报告.pdf(完整版)基于Arduino智能寻迹...
arduino入门基础PPT教学课件.pptx
Arduino 例程详细教学35.VS1003MP3解码芯片Arduino 例程详细教学35.VS1003MP3解码芯片Arduino 例程详细教学35.VS1003MP3解码芯片Arduino 例程详细教学35.VS1003MP3解码芯片Arduino 例程详细教学35.VS1003MP3解码芯片...
基于Arduino的嵌入式系统入门与实践课件—Arduino常用通讯模块及应用.pdf基于Arduino的嵌入式系统入门与实践课件—Arduino常用通讯模块及应用.pdf基于Arduino的嵌入式系统入门与实践课件—Arduino常用通讯模块及应用...
Arduino-Arduino-Queue.h.zip,用于ARDUIO嵌入式项目的通用C 循环队列,Arduino是一家开源软硬件公司和制造商社区。Arduino始于21世纪初,深受电子制造商的欢迎,Arduino通过开源系统提供了很多灵活性。