Una die habui insanus ideam deducere
Project Nanonyam (Nanonyam) nominavi atque etiam cum logo pro eo contuli (per 5 minutas traxi).
Illis qui verbis Arduini cogitant, possumus dicere Nanonyam virtualem Arduino scutum esse pro Fenestra moderante.
Aliis verbis, Nanonyam est machina virtualis quae firmware utitur pro microcontroller (ATMEGA2560) sicut bytecode. In medio virtualis apparatus est nucleus AVR simulator, sed pro machinis periphericis, quae in inscriptionibus SRAM positae sunt ab 0x0060 ad 0x01FF, peculiaris intercedit ad functiones virtuales (inclusis Fenestra API functionibus). Hic magni momenti est ut ilicet intellegatur: signum Nanonyam nullum habere debet accessum ad certae memoriae spatium, ut non accidens vocaret, exempli gratia, munus limae delendi vel disci formandi. Reliquae memoriae SRAM vagae ab 0x0200 ad 0xFFFF (hoc plus quam in reali microcontroller) usori cuiuslibet rei praesto sunt. Statim adverto peculiarem esse tutelam contra missionem firmware realis microcontrollis (vel firmware ab alia architectura): antequam functiones "periculosas" activum, vocare debes specialem munus subdolum virtualem. Sunt quaedam aliae lineamenta securitatis pariter.
Ad Nanonyam programmata creanda, bibliothecis specialibus uti debes, qui omnia opera virtualis functiones currently praesto sunt. Download Nanonyam virtualis apparatus et bibliothecas pro eo
Nanonyam liberum est pro domo et usu commerciali. Progressio Nanonyam super "sicut" basis est. Source code provisum non est.
Propositum est hodie in probatione temporis. Munera virtualis 200 circiter impleta quae te permittunt ut simplicia programmata pro Fenestra crees.
Patet, quod in tali machina virtuali implicatum aliquid creans non laborabit, cum memoria in codice tantum 256 kB sit. Data in singulis fasciculis recondi possunt, quiddam ad partem graphicam extrinsecus perficiendam est. Omnes functiones simpliciores et ad 8-bit architecturae aptatae sunt.
Quid facias in Nanonyam? Veni cum paucis quaestionibus.
Progressio progressio caudices
Olim opus erat ut menu designaretur complexum pro 128x64 dot graphicae ostentationis. Vere nolebam constanter firmware in microcontroller realem onerare quomodo elementa inspicere. Itaque opinione Nanonyam nata est. Figura infra ostendit imaginem ex reali OLED ostensione unius omissa in eodem menu. Nunc per illam sine vera arte operari possum.
Nanonyam (in idea finali) bonum instrumentum est ad operandi rationes programmata microcontrollerorum, sicut munera sunt operandi cum graphicis (ostentationes et indices simulare potes), cum imagini (potes facere acta, data test legere), cum claviaturae (legere potes usque ad 10 globulis simul), cum COM portubus (hic item separatum est).
Creando Velox Programs
Exempli gratia, debes celeriter processum 100500 tabulariorum textuum. Unusquisque debet aperiri, leviter mutari secundum algorithmum simplex, servatum et clausum. Si Python es dominus, gratulor tibi, omnia habes. Sed si obduratus es arduino (et multae ex his sunt), tunc Nanonyam adiuvabit te in solvendo hoc problemate. Hic finis meus secundus in Nanonyam est: multum addere utilia lineamenta ut processus textus, screenshots sumendo vel keystros in systemate simulando (quae omnia obiter iam sunt), ac multa alia munera solvenda. exercitatione munia.
Testis hardware per COM portum
Nanonyam agere potest ut terminatio quae secundum tuum algorithmum operatur. Menu parvum elicere potes ut machinam contineas et notitias e portu receptas ostendas. Potes servare et legere notitias e lima pro analysi. Instrumentum habilem ad simplices debugging et calibrationis ferramentorum, necnon ad creandum simplicem virtualem instrumenti potestatem tabulas. Pro studiosis et iuvenibus phisicis, hoc consilium utilissimum esse potest.
Programming disciplina
Tamen, ut cum toto Arduino incepto, praecipua Nanonyam utilitas in simplicitate functionum, instrumenti et bootloade iacet. Hoc igitur inceptum interest ut novitiorum programmata et eos qui arduino gradu contenti sint. Ego tamen obiter non singillatim arduino studui, quia WinAVR vel AVR Studio semper usus sum, sed cum coadunatore incepi. Ideo infra exemplum programmatis erit parum mali, sed satis laborans.
Salve Habr!
Tempus est ut cum Nanonyam notas quasdam nancisceris et programma simplici scribere. In Arduino scribemus, sed non ut usitatius, sed eo modo quo nunc possum (iam dixi me nondum perquam bene figuratum esse). Primum, novam formam fac et Mega2560 tabulam lego.
Servare formam ad lima et effingo proximum
#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"
Multo rectius esset ut singularem modulum "Nanonyam pro Arduino" faceret, qui immediate ab Arduino institui potest. Simulac effingo, faciam, sed nunc iustam ostendens essentiam operandi cum machina virtuali. Sequenti codice scribimus:
//Сразу после запуска рисуем текст в окне
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);//Задержка и разгрузка процессора
}
Adumbra lineamenta cum hoc programma
Bullam "Reprehendo" urgemus et errores aliquos esse non oportet.
Nunc opus est fasciculum binarium accipere (firmware). Lego menu "Sketch >> fasciculi binarii exportationis (CTRL+ALT+S)".
Hoc duo HEX tabellas effingo ad folder adumbratam. Tabellam tantum sumimus sine praepositione "with_bootloader.mega".
Plures modi sunt fasciculi HEX ad Nanonyam machinam virtualem denotandam, omnes descripti sunt
Similiter programmata in aliis ambitibus creare potes, ut Studio AVR vel WinAVR.
Inde finimus notos nostros Nanonyam. Praecipua idea debet esse manifesta.
Gratias tibi omnes pro cura tua et bene programmandi!
Source: www.habr.com