PreonVM - PreonVM

PreonVM
YozilganC, Java
PlatformaARM Cortex-M
TuriJava virtual mashinasi
LitsenziyaXususiy dasturiy ta'minot
Veb-saytPreonVM

PreonVM ning amalga oshirilishi Java virtual mashinasi Virtenio tomonidan ishlab chiqilgan. Dastlab PreonVM-da ishlash uchun ishlab chiqilgan Atmel AVR ATmega256, lekin ulangan ARM Cortex-M 3 tizim. Shuning uchun VM kamida 8 kB RAM va 256 kB ROM bo'lgan mikrokontrollerda ishlashi mumkin. PreonVM qo'shimcha operatsion tizimni talab qilmaydi va to'g'ridan-to'g'ri mikrokontrolrda ishlaydi.

Ilovaning har bir sinf fayli talab qilinmaydigan sinf fayllarining barcha qismlarini yechish uchun ClassLinker orqali o'zgartiriladi. Bu kichik fayl uchun talab qilinadigan sinf fayllari hajmini taxminan 80% ga kamaytirishga imkon beradi. ClassLinker dasturning barcha fayllarini maxsus formatda birlashtirgan .vmm faylini yaratadi, uni mikrokontrollerda PreonVM o'qishi va bajarishi mumkin.

VM barcha Java ma'lumotlar turlarini, shu jumladan qo'llab-quvvatlaydi. uzun va juft, iplar, sinxronizatsiya, xotirani birlashtirish bilan chiqindilarni yig'ish, istisnolar, tizim xususiyatlari va IRQ / hodisalar tizimi. PreonVM IO kabi haydovchilar sinflari kutubxonasi bilan ta'minlangan I2C, SPI, USART, MUMKUN, PWM, IRQ, RTC, GPIO, ADC, DAC va ba'zi sensorlar va IC-lar uchun drayvlar bilan.

Kod misoli

Quyidagi kod misollari SHT21 sensoridan foydalanadi va nisbiy namlikni o'qiydi.

jamoat sinf SHT21Demo {     jamoat statik bekor asosiy(Ip[] kamon) {        // sensori I2C shinasi 1-ga ulangan        NativeI2C i2c = NativeI2C.getInstance(1);        i2c.ochiq();        // SHT21 sensorli nusxasini yarating va ishga tushiring        SHT21 sht21 = yangi SHT21(i2c);        sht21.setResolution(SHT21.RESOLUTION_RH12_T14);        sht21.qayta o'rnatish();        // har soniyada namlikni o'qing va bosib chiqaring        esa (to'g'ri) {            sht21.startRelativeHumidityConversion();            Ip.uxlash(100);            int xomRH = sht21.getRelativeHumidityRaw();            suzmoq rh = SHT21.convertRawRHToRHw(xomRH);            Tizim.chiqib.println("SHT21: rawRH =" + xomRH + "; RH =" + rh);            Ip.uxlash(900);        }    } }

Shuningdek qarang

Tashqi havolalar