Ինչպես ստեղծել ծրագրեր Windows-ի համար Arduino-ում

Ինչպես ստեղծել ծրագրեր Windows-ի համար Arduino-ում

Մի օր ես խելահեղ միտք ունեցա բերելու 500 լազերային ցուցիչ մեկ տեղում. Ես շատ ժամանակ ծախսեցի և արեցի դա: Դա տպավորիչ ու անօգուտ ստացվեց, բայց ինձ դուր եկավ: Վեց ամիս առաջ ես մեկ այլ խելահեղ գաղափար ունեի. Այս անգամ ամենևին էլ ոչ տպավորիչ, բայց շատ ավելի օգտակար։ Ես նույնպես շատ ժամանակ եմ ծախսել դրա վրա: Եվ այս հոդվածում ես ներկայացնում եմ իմ երկրորդ խելահեղ գաղափարի բետա տարբերակը։

Ես նախագիծն անվանեցի Nanonyam (Nanonyam) և նույնիսկ լոգո պատրաստեցի դրա համար (5 րոպե նկարեցի):

Ինչպես ստեղծել ծրագրեր Windows-ի համար Arduino-ում

Նրանց համար, ովքեր մտածում են Arduino-ի մասին, կարող ենք ասել, որ Nanonyam-ը վիրտուալ Arduino վահան է Windows-ի կառավարման համար:

Այլ կերպ ասած, Nanonyam-ը վիրտուալ մեքենա է, որն օգտագործում է որոնվածը AVR միկրոկոնտրոլերի համար (առաջարկվում է ATMEGA2560) որպես բայթկոդ։ Այս վիրտուալ մեքենայի ներսում կա AVR միջուկային սիմուլյատոր, բայց ծայրամասային սարքերի փոխարեն, որոնք տեղակայված են 0x0060-ից մինչև 0x01FF SRAM հասցեներում, կա հատուկ ինտերֆեյս վիրտուալ գործառույթների համար (ներառյալ Windows API գործառույթները): Եվ այստեղ շատ կարևոր է անմիջապես հասկանալ. Nanonyam-ի կոդը չպետք է մուտք ունենա նշված հիշողության տիրույթ, որպեսզի պատահաբար չկանչվի, օրինակ, ֆայլերը ջնջելու կամ սկավառակի ձևաչափման գործառույթը: SRAM հիշողության մնացած տիրույթը 0x0200-ից մինչև 0xFFFF (սա ավելին է, քան իրական միկրոկոնտրոլերում) հասանելի է օգտագործողին ցանկացած նպատակով: Անմիջապես նշում եմ, որ կա հատուկ պաշտպանություն իրական միկրոկառավարիչի (կամ այլ ճարտարապետության որոնվածի ծրագրակազմի) պատահական գործարկումից. նախքան «վտանգավոր» գործառույթները ակտիվացնելը, դուք պետք է զանգահարեք հատուկ բարդ վիրտուալ գործառույթ: Կան նաև այլ անվտանգության առանձնահատկություններ:

Nanonyam-ի համար ծրագրեր ստեղծելու համար հարկավոր է օգտագործել հատուկ գրադարաններ, որոնք իրականացնում են ներկայումս հասանելի բոլոր վիրտուալ գործառույթները: Ներբեռնեք Nanonyam վիրտուալ մեքենան և գրադարանները դրա համար Դուք կարող եք, ապա: Բայց վիրտուալ ֆունկցիայի նկարագրության էջ. Եվ այո, իմ կայքը շատ պարզունակ է և հարմարեցված չէ բջջային սարքերի համար:

Nanonyam-ն անվճար է տնային և կոմերցիոն օգտագործման համար: Nanonyam ծրագիրը տրամադրվում է «ինչպես կա» սկզբունքով: Աղբյուրի կոդը չի տրամադրվում:

Ծրագիրը ներկայումս փորձարկման փուլում է։ Իրականացրել է մոտ 200 վիրտուալ գործառույթ, որոնք թույլ են տալիս ստեղծել պարզ ծրագրեր Windows-ի համար։
Ակնհայտ է, որ նման վիրտուալ մեքենայի մեջ ինչ-որ բարդ բան ստեղծելը չի ​​աշխատի, քանի որ կոդի հիշողությունը ընդամենը 256 կԲ է: Տվյալները կարող են պահվել առանձին ֆայլերում, գրաֆիկական մասի բուֆերն իրականացվում է արտաքինից: Բոլոր գործառույթները պարզեցված են և հարմարեցված 8-բիթանոց ճարտարապետության համար:

Ի՞նչ կարող ես անել Nanonyam-ում: Ես մի քանի խնդիրներ առաջ քաշեցի.

Ծրագրային բլոկների մշակում

Մի անգամ ինձ անհրաժեշտ էր նախագծել բարդ մենյու 128x64 կետանոց գրաֆիկական էկրանի համար: Ես իսկապես չէի ուզում անընդհատ բեռնել որոնվածը իրական միկրոկոնտրոլերի մեջ, որպեսզի տեսնեմ, թե ինչպես են պիքսելները: Եվ այսպես, ծնվեց Nanonyam-ի գաղափարը։ Ստորև բերված նկարը ցույց է տալիս նույն մենյուի տարրերից մեկի իրական OLED ցուցադրման պատկերը: Այժմ ես կարող եմ աշխատել դրա միջոցով առանց իրական սարքի:

Ինչպես ստեղծել ծրագրեր Windows-ի համար Arduino-ում

Nanonyam-ը (իր վերջնական գաղափարով) լավ գործիք է միկրոկառավարիչների համար ծրագրային բլոկներ մշակելու համար, քանի որ կան գրաֆիկայի հետ աշխատելու գործառույթներ (կարող եք մոդելավորել էկրաններ և ցուցիչներ), ֆայլերով (կարող եք տեղեկամատյաններ կազմել, կարդալ թեստի տվյալները), ստեղնաշար (կարող եք միաժամանակ կարդալ մինչև 10 կոճակ), COM պորտերով (այստեղ կա առանձին կետ):

Արագ ծրագրերի ստեղծում

Օրինակ, դուք պետք է արագ մշակեք 100500 տեքստային ֆայլեր: Յուրաքանչյուրը պետք է բացվի, մի փոքր փոփոխվի՝ համաձայն ինչ-որ պարզ ալգորիթմի, պահպանվի և փակվի: Եթե ​​դու Python-ի վարպետ ես, ուրեմն շնորհավորում եմ քեզ, դու ամեն ինչ ունես։ Բայց եթե դուք կարծրացած arduino եք (և դրանք շատ են), ապա Nanonyam-ը կօգնի ձեզ լուծել այս խնդիրը: Սա իմ երկրորդ նպատակն է Nanonyam-ում. ավելացնել բազմաթիվ օգտակար գործառույթներ, ինչպիսիք են տեքստի մշակումը, սքրինշոթեր նկարելը կամ ստեղնաշարի սիմուլյացիան համակարգում (որոնք բոլորն, ի դեպ, արդեն կան), ինչպես նաև շատ այլ գործառույթներ՝ սովորական առաջադրանքները լուծելու համար։ .

Սարքավորումների փորձարկում COM պորտի միջոցով

Nanonyam-ը կարող է հանդես գալ որպես տերմինալ, որն աշխատում է ձեր ալգորիթմի համաձայն: Սարքը կառավարելու և նավահանգստից ստացված տվյալները ցուցադրելու համար կարող եք փոքր մենյու նկարել: Դուք կարող եք պահպանել և կարդալ ֆայլերից տվյալները վերլուծության համար: Հարմար գործիք սարքաշարի պարզ վրիպազերծման և չափաբերման, ինչպես նաև պարզ վիրտուալ գործիքների կառավարման վահանակներ ստեղծելու համար: Ուսանողների և երիտասարդ գիտնականների համար այս նախագիծը կարող է շատ օգտակար լինել:

Ծրագրավորման ուսուցում

Այնուամենայնիվ, ինչպես ամբողջ Arduino նախագծի դեպքում, Nanonyam-ի հիմնական օգտակարությունը գործառույթների, ինտերֆեյսի և bootloader-ի պարզեցման մեջ է: Ուստի այս նախագիծը պետք է հետաքրքրի սկսնակ ծրագրավորողներին և նրանց, ովքեր գոհ են arduino-ի մակարդակից։ Ի դեպ, ես ինքս դեռ մանրամասն չեմ ուսումնասիրել arduino-ն, քանի որ միշտ օգտագործել եմ WinAVR կամ AVR Studio, բայց սկսել եմ assembler-ից։ Հետևաբար, ստորև բերված օրինակ ծրագիրը մի փոքր սխալ կլինի, բայց բավականին աշխատող:

Բարև Հաբր:

Ժամանակն է ծանոթանալ Nanonyam-ի որոշ առանձնահատկություններին և գրել պարզ ծրագիր: Մենք կգրենք Arduino-ով, բայց ոչ սովորական ձևով, այլ այնպես, ինչպես հիմա կարող եմ (ես արդեն ասացի, որ դեռ լավ չեմ հասկացել այս միջավայրը): Նախ, ստեղծեք նոր ուրվագիծ և ընտրեք Mega2560 տախտակը:

Ինչպես ստեղծել ծրագրեր Windows-ի համար Arduino-ում

Պահեք ուրվագիծը ֆայլում և պատճենեք հաջորդը Nanonyam գրադարան. Ճիշտ կլինի ներառել գրադարանների վերնագրերը, բայց ես չգիտեմ, թե ինչպես գրել առանձին ֆայլերի կոմպիլացիա Arduino-ում, ուստի առայժմ մենք ուղղակիորեն (և միանգամից) կներառենք գրադարանները.

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

Ավելի ճիշտ կլինի պատրաստել «Nanonyam for Arduino» հատուկ մոդուլը, որը կարող է տեղադրվել անմիջապես Arduino-ից: Հենց պարզեմ, կանեմ, բայց առայժմ միայն ցույց եմ տալիս վիրտուալ մեքենայի հետ աշխատելու էությունը։ Մենք գրում ենք հետևյալ կոդը.

//Сразу после запуска рисуем текст в окне
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);//Задержка и разгрузка процессора
}

Ուրվագիծ այս ծրագրով կարելի է ներբեռնել այստեղ. Գործառույթների մանրամասն նկարագրությունը որոնել կայքում. Հուսով եմ, որ այս օրենսգրքի մեկնաբանությունները բավարար են դրա էությունը հասկանալու համար: Այստեղ գործառույթը sys_Nanonyam() խաղում է վիրտուալ մեքենայի «գաղտնաբառի» դերը, որը վերացնում է վիրտուալ գործառույթների սահմանափակումները։ Առանց այս ֆունկցիայի ծրագիրը կփակվի 3 վայրկյան աշխատելուց հետո:

Մենք սեղմում ենք «Ստուգել» կոճակը և սխալներ չպետք է լինեն:

Ինչպես ստեղծել ծրագրեր Windows-ի համար Arduino-ում

Այժմ դուք պետք է ստանաք երկուական ֆայլ (որոնվածը): Ընտրեք ընտրացանկը»Ուրվագիծ>>Արտահանել երկուական ֆայլ (CTRL+ALT+S)»:

Ինչպես ստեղծել ծրագրեր Windows-ի համար Arduino-ում

Սա երկու HEX ֆայլ պատճենելու է էսքիզների թղթապանակում: Մենք վերցնում ենք միայն ֆայլը՝ առանց «with_bootloader.mega» նախածանցի։

Nanonyam վիրտուալ մեքենային HEX ֆայլը նշելու մի քանի եղանակ կա, բոլորը նկարագրված են այս էջում. Առաջարկում եմ ֆայլի կողքին ստեղծել Nanonyam.exe ֆայլը ուղին, որտեղ պետք է գրանցել մեր HEX ֆայլի ամբողջական ուղին: Որից հետո կարող եք վազել Nanonyam.exe. Մենք պատուհան ենք ստանում մեր մակագրությամբ:

Ինչպես ստեղծել ծրագրեր Windows-ի համար Arduino-ում

Նմանապես, դուք կարող եք ծրագրեր ստեղծել այլ միջավայրերում, ինչպիսիք են AVR Studio կամ WinAVR:

Այստեղ մենք ավարտում ենք մեր ծանոթությունը Nanonyam-ի հետ։ Հիմնական գաղափարը պետք է պարզ լինի. Ավելի շատ օրինակներ կան կայքում:. Եթե ​​կան բավականաչափ մարդիկ, ովքեր ցանկանում են օգտվել այս նախագծից, ապա ես ավելի շատ օրինակներ կանեմ և կշարունակեմ «լրացնել» վիրտուալ գործառույթների գրադարանները: Ընդունվում են նախագծի մշակման կոնկրետ գաղափարներ և անսարքությունների, վրիպակների և վրիպակների մասին հաշվետվություններ: Ցանկալի է նրանց ուղղորդել դեպի կոնտակտներ, նշված է կայքում. Իսկ քննարկումը ողջունելի է մեկնաբանություններում։

Շնորհակալություն բոլորիդ ուշադրության և լավ ծրագրավորման համար:

Source: www.habr.com

Добавить комментарий