Hvernig á að búa til forrit fyrir Windows í Arduino

Hvernig á að búa til forrit fyrir Windows í Arduino

Einn daginn fékk ég þá vitlausu hugmynd að koma með 500 leysibendingar á einum stað. Ég eyddi miklum tíma og gerði það. Það reyndist stórkostlegt og gagnslaust, en mér líkaði það. Fyrir sex mánuðum fékk ég aðra vitlausa hugmynd. Að þessu sinni, alls ekki stórkostlegt, en mun gagnlegra. Ég eyddi líka miklum tíma í það. Og í þessari grein kynni ég beta útgáfu af annarri brjáluðu hugmyndinni minni.

Ég kallaði verkefnið Nanonyam (Nanonyam) og kom meira að segja með lógó fyrir það (ég teiknaði í 5 mínútur).

Hvernig á að búa til forrit fyrir Windows í Arduino

Fyrir þá sem hugsa út frá Arduino, getum við sagt að Nanonyam er sýndar Arduino skjöldur til að stjórna Windows.

Með öðrum orðum, Nanonyam er sýndarvél sem notar fastbúnaðinn fyrir AVR örstýringuna (mælt er með ATMEGA2560) sem bækikóða. Inni í þessari sýndarvél er AVR kjarnahermir, en í stað jaðartækja, sem eru staðsett á SRAM vistföngum frá 0x0060 til 0x01FF, er sérstakt viðmót við sýndaraðgerðir (þar á meðal Windows API aðgerðir). Og hér er mjög mikilvægt að skilja strax: Kóðinn fyrir Nanonyam ætti ekki að hafa neinn aðgang að tilgreindu minnissviði, svo að það kalli ekki óvart, til dæmis, aðgerðina að eyða skrám eða forsníða disk. Afgangurinn af SRAM minni á bilinu 0x0200 til 0xFFFF (þetta er meira en í alvöru örstýringu) er í boði fyrir notandann í hvaða tilgangi sem er. Ég tek strax eftir því að það er sérstök vörn gegn því að ræsa vélbúnaðar raunverulegs örstýringar fyrir slysni (eða vélbúnaðar úr öðrum arkitektúr): áður en þú kveikir á „hættulegum“ aðgerðum þarftu að hringja í sérstaka erfiða sýndaraðgerð. Það eru líka nokkrir aðrir öryggiseiginleikar.

Til að búa til forrit fyrir Nanonyam þarftu að nota sérstök bókasöfn sem útfæra allar sýndaraðgerðir sem eru tiltækar. Sæktu Nanonyam sýndarvélina og bókasöfn fyrir hana Þú getur þá. En lýsingarsíðu sýndaraðgerða. Og já, síðan mín er mjög frumstæð og ekki aðlöguð fyrir farsíma.

Nanonyam er ókeypis fyrir heimilis- og viðskiptanotkun. Nanonyam forritið er veitt á „eins og er“ grunni. Frumkóði er ekki gefinn upp.

Forritið er nú í prófunarfasa. Innleiddi um 200 sýndaraðgerðir sem gera þér kleift að búa til einföld forrit fyrir Windows.
Augljóslega mun það ekki virka að búa til eitthvað flókið í slíkri sýndarvél, þar sem minni fyrir kóðann er aðeins 256 kB. Hægt er að geyma gögn í aðskildum skrám, biðminni fyrir grafíska hlutann er útfærður að utan. Allar aðgerðir eru einfaldaðar og aðlagaðar fyrir 8-bita arkitektúr.

Hvað er hægt að gera í Nanonyam? Ég kom upp með nokkur vandamál.

Þróun forritablokka

Ég þurfti einu sinni að hanna flókna valmynd fyrir 128x64 punkta grafískan skjá. Ég vildi virkilega ekki hlaða fastbúnaðinum stöðugt inn í alvöru örstýringu til að sjá hvernig punktarnir líta út. Og þannig fæddist hugmyndin um Nanonyam. Myndin hér að neðan sýnir mynd frá alvöru OLED skjá af einum af hlutunum á sama valmyndinni. Nú get ég unnið í gegnum það án alvöru tækis.

Hvernig á að búa til forrit fyrir Windows í Arduino

Nanonyam (í lokahugmynd sinni) er gott tól til að vinna úr forritablokkum fyrir örstýringar, þar sem það eru aðgerðir til að vinna með grafík (hægt er að líkja eftir skjám og vísum), með skrám (hægt að búa til loga, lesa prófunargögn), með lyklaborð (þú getur lesið allt að 10 hnappa á sama tíma), með COM tengi (hér er sérstakt atriði).

Að búa til hraðforrit

Til dæmis þarftu að vinna hratt úr 100500 textaskrám. Það þarf að opna hvern og einn, breyta örlítið í samræmi við einfalt reiknirit, vista og loka. Ef þú ert Python meistari, þá óska ​​ég þér til hamingju, þú hefur allt. En ef þú ert harður arduino (og þeir eru margir), þá mun Nanonyam hjálpa þér við að leysa þetta vandamál. Þetta er annað markmið mitt í Nanonyam: að bæta við mörgum gagnlegum aðgerðum eins og textavinnslu, að taka skjámyndir eða líkja eftir ásláttum í kerfinu (sem allar eru nú þegar til staðar), auk margra annarra aðgerða til að leysa venjubundin verkefni .

Prófa vélbúnað í gegnum COM tengi

Nanonyam getur virkað sem flugstöð sem virkar í samræmi við reikniritið þitt. Þú getur teiknað litla valmynd til að stjórna tækinu og sýna gögnin sem berast frá höfninni. Þú getur vistað og lesið gögn úr skrám til greiningar. Handhægt tæki fyrir einfalda kembiforrit og kvörðun vélbúnaðar, sem og til að búa til einföld sýndarstjórnborð. Fyrir nemendur og unga vísindamenn getur þetta verkefni verið mjög gagnlegt.

Forritunarþjálfun

Hins vegar, eins og með allt Arduino verkefnið, liggur helsta gagnsemi Nanonyam í einföldun aðgerða, viðmóts og ræsiforrits. Þess vegna ætti þetta verkefni að vera áhugavert fyrir byrjendur forritara og þá sem eru ánægðir með stig arduino. Við the vegur, sjálfur hef ég ekki enn lært arduino í smáatriðum, vegna þess að ég notaði alltaf WinAVR eða AVR Studio, en byrjaði með assembler. Þess vegna mun forritið hér að neðan vera svolítið rangt, en alveg virka.

Halló Habr!

Það er kominn tími til að kynnast nokkrum eiginleikum Nanonyam og skrifa einfalt forrit. Við munum skrifa í Arduino, en ekki á venjulegan hátt, heldur eins og ég get núna (ég sagði nú þegar að ég hef ekki fundið út þetta umhverfi mjög vel ennþá). Fyrst skaltu búa til nýja skissu og velja Mega2560 borðið.

Hvernig á að búa til forrit fyrir Windows í Arduino

Vistaðu skissuna í skrá og afritaðu næst Nanonyam bókasafnið. Það væri rétt að hafa hausana á bókasöfnunum með, en ég veit ekki hvernig á að skrifa samantekt á einstökum skrám í Arduino, svo í bili munum við bara hafa söfnin beint (og allt í einu):

#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"

Það væri enn réttara að búa til sérstaka einingu „Nanonyam fyrir Arduino“ sem hægt er að setja upp beint frá Arduino. Um leið og ég átta mig á því mun ég gera það, en í bili er ég bara að sýna kjarnann í því að vinna með sýndarvél. Við skrifum eftirfarandi kóð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);//Задержка и разгрузка процессора
}

Skissa með þessu forriti hægt að hlaða niður hér. Ítarleg lýsing á aðgerðum leita á síðunni. Ég vona að athugasemdirnar í þessum kóða séu nægar til að átta sig á kjarnanum. Hér virka sys_Nanonyam() gegnir hlutverki "lykilorðs" fyrir sýndarvélina, sem fjarlægir takmarkanir á sýndaraðgerðum. Án þessarar aðgerðar mun forritið lokast eftir 3 sekúndur í notkun.

Við ýtum á "Athugaðu" hnappinn og það ættu ekki að vera neinar villur.

Hvernig á að búa til forrit fyrir Windows í Arduino

Nú þarftu að fá tvöfalda skrá (fastbúnað). Veldu valmyndina "Skissa >> Flytja út tvíundarskrá (CTRL+ALT+S)".

Hvernig á að búa til forrit fyrir Windows í Arduino

Þetta mun afrita tvær HEX skrár í skissumöppuna. Við tökum aðeins skrána án forskeytsins "with_bootloader.mega".

Það eru nokkrar leiðir til að tilgreina HEX skrá fyrir Nanonyam sýndarvélina, þeim er öllum lýst á þessari síðu. Ég legg til að búa til við hliðina á skránni Nanonyam.exe файл leið, þar sem hægt er að skrá alla leiðina að HEX skránni okkar. Eftir það geturðu hlaupið Nanonyam.exe. Við fáum glugga með áletruninni okkar.

Hvernig á að búa til forrit fyrir Windows í Arduino

Á sama hátt geturðu búið til forrit í öðru umhverfi, eins og AVR Studio eða WinAVR.

Hér ljúkum við kynnum okkar af Nanonyam. Meginhugmyndin ætti að vera skýr. Fleiri dæmi eru á heimasíðunni.. Ef það eru nógu margir tilbúnir til að nota þetta verkefni, þá mun ég gera fleiri dæmi og halda áfram að "fylla" sýndaraðgerðasöfnin. Tekið er við áþreifanlegum hugmyndum um þróun verkefnisins og tilkynningar um bilanir, villur og villur. Það er ráðlegt að beina þeim til tengiliða, tilgreint á vefsíðunni. Og umræður eru vel þegnar í athugasemdum.

Þakka ykkur öllum fyrir athyglina og góða forritun!

Heimild: www.habr.com

Bæta við athugasemd