Otu ụbọchị enwere m echiche nzuzu iweta
Akpọrọ m ọrụ ahụ Nanonyam (Nanonyam) wee wepụta ya akara ngosi (m sere maka nkeji ise).
Maka ndị na-eche banyere Arduino, anyị nwere ike ịsị na Nanonyam bụ ọta Arduino mebere maka ịchịkwa Windows.
N'ikwu ya n'ụzọ ọzọ, Nanonyam bụ igwe mebere nke na-eji firmware maka microcontroller AVR (ATMEGA2560 ka akwadoro) dị ka bytecode. N'ime igwe mebere a bụ simulator isi AVR, mana kama mpụta, nke dị na adreesị SRAM sitere na 0x0060 ruo 0x01FF, enwere interface pụrụ iche maka ọrụ mebere (gụnyere ọrụ API API). Na ebe a ọ dị ezigbo mkpa ịghọta ozugbo: koodu maka Nanonyam ekwesịghị inwe ohere ọ bụla na ebe nchekwa akọwapụtara, ka ọ ghara ịkpọ na mberede, dịka ọmụmaatụ, ọrụ nke ihichapụ faịlụ ma ọ bụ nhazi diski. Ebe nchekwa SRAM ndị ọzọ sitere na 0x0200 ruo 0xFFFF (nke a bụ karịa na ezigbo microcontroller) dị onye ọrụ maka ebumnuche ọ bụla. Achọpụtara m ozugbo na enwere nchebe pụrụ iche megide mwepụta mberede nke firmware nke ezigbo microcontroller (ma ọ bụ firmware sitere na ihe owuwu ọzọ): tupu ịmalite ọrụ “dị ize ndụ”, ịkwesịrị ịkpọ ọrụ mebere aghụghọ pụrụ iche. Enwerekwa atụmatụ nchekwa ndị ọzọ.
Iji mepụta mmemme maka Nanonyam, ịkwesịrị iji ọba akwụkwọ pụrụ iche na-emejuputa ọrụ mebere ugbu a. Budata igwe Nanonyam mebere igwe na ọba akwụkwọ maka ya
Nanonyam bụ n'efu maka iji ụlọ na azụmahịa. A na-enye mmemme Nanonyam na ntọala "dị ka ọ dị". enyeghị koodu isi mmalite.
Ihe omume a dị ugbu a na usoro nnwale. Ejiri ihe dị ka ọrụ mebere 200 na-enye gị ohere ịmepụta mmemme dị mfe maka Windows.
N'ụzọ doro anya, ịmepụta ihe mgbagwoju anya na igwe mebere dị otú ahụ agaghị arụ ọrụ, ebe ebe nchekwa maka koodu ahụ bụ naanị 256 kB. Enwere ike ịchekwa data na faịlụ dị iche iche, a na-emejuputa ihe nchekwa maka akụkụ eserese na mpụga. A na-eme ka ọrụ niile dị mfe ma gbanwee maka nhazi 8-bit.
Kedu ihe ị ga-eme na Nanonyam? Enwere m nsogbu ole na ole.
Mmepe nke ngọngọ mmemme
N'otu oge, achọrọ m imepụta menu mgbagwoju anya maka ngosipụta eserese 128x64. Achọghị m ịkwanye ngwa ngwa mgbe niile n'ime ezigbo microcontroller iji hụ ka pikselụ si dị. Ya mere a mụrụ echiche nke Nanonyam. Ihe onyonyo dị n'okpuru na-egosi onyonyo sitere na ezigbo ngosi OLED nke otu n'ime ihe dị na otu menu. Ugbu a enwere m ike ịrụ ọrụ na ya n'enweghị ezigbo ngwaọrụ.
Nanonyam (n'echiche ikpeazụ ya) bụ ngwá ọrụ dị mma maka ịrụ ọrụ ngọngọ mmemme maka microcontrollers, ebe enwere ọrụ maka ịrụ ọrụ na eserese (ị nwere ike ịmegharị ihe ngosi na ihe ngosi), na faịlụ (ị nwere ike ịme ndekọ, gụọ data ule), na keyboard (ị nwere ike ịgụ ihe ruru bọtịnụ 10 n'otu oge), yana ọdụ ụgbọ mmiri COM (ebe a bụ ihe dị iche).
Ịmepụta mmemme ngwa ngwa
Dịka ọmụmaatụ, ịkwesịrị ịhazi faịlụ ederede 100500 ngwa ngwa. Nke ọ bụla kwesịrị ka emepee ya, gbanwee ntakịrị dịka ụfọdụ algọridim dị mfe, chekwaa na mechie. Ọ bụrụ na ị bụ nna ukwu Python, ana m ekele gị, ị nwere ihe niile. Mana ọ bụrụ na ị bụ arduino siri ike (ma enwere ọtụtụ n'ime ha), mgbe ahụ Nanonyam ga-enyere gị aka idozi nsogbu a. Nke a bụ ihe mgbaru ọsọ m nke abụọ na Nanonyam: ịgbakwunye ọtụtụ ọrụ bara uru dị ka nhazi ederede, ịse nseta ihuenyo ma ọ bụ ịmegharị igodo igodo na usoro (ihe niile, n'ụzọ, adịlarị), yana ọtụtụ ọrụ ndị ọzọ maka idozi ọrụ oge niile. .
Nnwale ngwaike site na ọdụ ụgbọ mmiri COM
Nanonyam nwere ike rụọ ọrụ dị ka ọnụ ahịa na-arụ ọrụ dịka algọridim gị siri dị. Ị nwere ike ise obere menu iji jikwaa ngwaọrụ ma gosipụta data enwetara n'ọdụ ụgbọ mmiri. Ị nwere ike ịchekwa ma gụọ data sitere na faịlụ maka nyocha. Ngwá ọrụ dị mma maka nbibi dị mfe na nhazi nke ngwaike, yana maka ịmepụta ogwe njikwa ngwaọrụ mebere dị mfe. Maka ụmụ akwụkwọ na ndị ọkà mmụta sayensị na-eto eto, ọrụ a nwere ike ịba uru.
Ọzụzụ mmemme
Agbanyeghị, dị ka ọ dị na ọrụ Arduino dum, uru bụ isi nke Nanonyam bụ ime ka ọrụ dị mfe, interface na bootloader. Ya mere, ọrụ a kwesịrị ịmasị ndị mmemme novice na ndị nwere afọ ojuju na ọkwa arduino. Site n'ụzọ, mụ onwe m ka amụbeghị arduino n'ụzọ zuru ezu, n'ihi na m na-eji WinAVR ma ọ bụ AVR Studio eme ihe mgbe niile, ma malite na onye na-ezukọta. Ya mere, mmemme ihe atụ dị n'okpuru ga-abụ ntakịrị ihe na-ezighị ezi, ma na-arụ ọrụ nke ọma.
Ndewo Habr!
Ọ bụ oge ịmara ụfọdụ atụmatụ Nanonyam ma dee mmemme dị mfe. Anyị ga-ede na Arduino, ma ọ bụghị n'ụzọ a na-emekarị, ma n'ụzọ m nwere ike ugbu a (Ekwuru m na achọpụtabeghị m gburugburu ebe a nke ọma). Mbụ, mepụta ihe osise ọhụrụ wee họrọ bọọdụ Mega2560.
Chekwaa sketị ahụ na faịlụ wee detuo ọzọ
#include <stdio.h>
#include "NanonyamnN_System_lib.c"
#include "NanonyamnN_Keyboard_lib.c"
#include "NanonyamnN_File_lib.c"
#include "NanonyamnN_Math_lib.c"
#include "NanonyamnN_Text_lib.c"
#include "NanonyamnN_Graphics_lib.c"
#include "NanonyamnN_RS232_lib.c"
Ọ ga-adịkwa mma karịa ịme modul pụrụ iche "Nanonyam maka Arduino", nke enwere ike itinye ya ozugbo na Arduino. Ozugbo m chọpụtara ya, m ga-eme ya, mana ugbu a, a na m egosi ihe dị mkpa nke ịrụ ọrụ na igwe mebere. Anyị na-ede koodu a:
//Сразу после запуска рисуем текст в окне
void setup() {
sys_Nanonyam();//Подтверждаем код виртуальной машины
g_SetScreenSize(400,200);//Задаём размер дисплея 400х200 точек
sys_WindowSetText("Example");//Заголовок окна
g_ConfigExternalFont(0,60,1,0,0,0,"Arial");//Задаём шрифт Windows в ячейке шрифтов 0
g_SetExternalFont(0);//Выбираем ячейку шрифтов 0 для рисования текста
g_SetBackRGB(0,0,255);//Цвет фона синий
g_SetTextRGB(255,255,0);//Цвет текста жёлтый
g_ClearAll();//Очищаем экран (заливка цветом фона)
g_DrawTextCenterX(0,400,70,"Hello, Habr!");//Рисуем надпись
g_Update();//Выводим графический буфер на экран
}
//Просто ждём закрытия программы
void loop() {
sys_Delay(100);//Задержка и разгрузка процессора
}
Were mmemme mee ihe
Anyị na-pịa bọtịnụ "Chekwa" na e kwesịghị inwe njehie ọ bụla.
Ugbu a ịkwesịrị ịnweta faịlụ ọnụọgụ abụọ (firmware). Họrọ menu"Sketch>>Bupụ faịlụ ọnụọgụ abụọ (CTRL+ALT+S)".
Nke a ga-edetu faịlụ HEX abụọ na folda eserese. Anyị na-ewere naanị faịlụ na-enweghị prefix "with_bootloader.mega".
Enwere ọtụtụ ụzọ iji kọwapụta faịlụ HEX na igwe mebere Nanonyam, a kọwara ha niile
N'otu aka ahụ, ị nwere ike ịmepụta mmemme na gburugburu ndị ọzọ, dị ka AVR Studio ma ọ bụ WinAVR.
Nke a bụ ebe anyị na Nanonyam mechaara anyị. Isi echiche kwesịrị doo anya.
Daalụ maka nlebara anya gị na mmemme dị mma!
isi: www.habr.com