I tetahi ra ka porangi ahau ki te kawe
I karangahia e ahau te kaupapa Nanonyam (Nanonyam) a ka tae mai ano he tohu mo taua mea (i tuhi ahau mo te 5 meneti).
Mo te hunga e whakaaro ana mo Arduino, ka taea e tatou te kii ko Nanonyam he whakangungu Arduino mariko mo te whakahaere i te Matapihi.
I etahi atu kupu, ko Nanonyam he miihini mariko e whakamahi ana i te firmware mo te AVR microcontroller (e taunaki ana a ATMEGA2560) hei bytecode. Kei roto i tenei miihini mariko he simulator matua AVR, engari hei utu mo nga peripheral, kei nga wahitau SRAM mai i 0x0060 ki 0x01FF, he atanga motuhake ki nga mahi mariko (tae atu ki nga mahi Windows API). Na konei he mea tino nui ki te mohio tonu: ko te waehere mo Nanonyam kia kaua e uru atu ki te awhe mahara kua tohua, kia kore ai e karanga pohehe, hei tauira, te mahi o te whakakore i nga konae, te whakahōputu ranei i te kōpae. Ko te toenga o te awhe mahara SRAM mai i te 0x0200 ki te 0xFFFF (he nui ake tenei i roto i te miihini miihini tuuturu) e waatea ana ki te kaiwhakamahi mo tetahi kaupapa. Ka kite ahau i tenei wa he whakamarumaru motuhake mo te whakarewanga ohorere o te firmware o te microcontroller tūturu (he firmware ranei mai i tetahi atu hoahoanga): i mua i te whakahohe i nga mahi "morearea", me waea koe ki tetahi mahi mariko motuhake. He etahi atu āhuatanga haumaru hoki.
Hei waihanga kaupapa mo Nanonyam, me whakamahi koe i nga whare pukapuka motuhake e whakatinana ana i nga mahi mariko katoa e waatea ana inaianei. Tangohia te miihini mariko Nanonyam me nga whare pukapuka mo taua mea
He kore utu a Nanonyam mo te kainga me te whakamahi arumoni. Ka whakaratohia te kaupapa Nanonyam i runga i te kaupapa "penei". Kaore i te whakaratohia te waehere puna.
I tenei wa kei te waahi whakamatautau te kaupapa. Tata ki te 200 nga mahi mariko ka taea e koe te hanga kaupapa ngawari mo Windows.
Ma te mohio, ko te hanga i tetahi mea uaua i roto i taua miihini mariko kaore e mahi, na te mea ko te mahara mo te waehere ko te 256 kB anake. Ka taea te penapena i nga raraunga i roto i nga konae motuhake, ka whakatinanahia te parapara mo te waahanga whakairoiro ki waho. Ko nga mahi katoa he mea ngawari me te urutau mo te hoahoanga moka-8.
Ka aha koe i Nanonyam? I puta mai etahi raruraru.
Te whakawhanaketanga o nga poraka hotaka
I tetahi wa i hiahia ahau ki te hoahoa i tetahi tahua matatini mo te whakaaturanga whakairoiro ira 128x64. Kare au i tino hiahia ki te uta tonu i te firmware ki roto i te microcontroller tūturu kia kite i te ahua o nga pika. Na ka whanau te whakaaro o Nanoyam. Ko te ahua i raro nei e whakaatu ana i tetahi ahua mai i te whakaaturanga OLED tuturu o tetahi o nga mea kei te tahua kotahi. Inaianei ka taea e au te mahi me te kore he taputapu pono.
Ko te Nanonyam (i roto i tona whakaaro whakamutunga) he taputapu pai mo te mahi i nga poraka papatono mo nga microcontrollers, na te mea kei reira nga mahi mo te mahi me nga whakairoiro (ka taea e koe te whakataurite i nga whakaaturanga me nga tohu), me nga konae (ka taea e koe te hanga rakau, panui i nga raraunga whakamatautau), me he papapātuhi (ka taea e koe te panui ki te 10 nga paatene i te wa kotahi), me nga tauranga COM (he mea motuhake tenei).
Waihanga Papatono Tere
Hei tauira, me tere te tukatuka i nga konae tuhinga 100500. Me whakatuwheratia ia mea, he paku whakarereketia kia rite ki etahi algorithm ngawari, tiakina ka kati. Mena he rangatira Python koe, ka mihi ahau ki a koe, kei a koe nga mea katoa. Engari ki te mea he arduino pakeke koe (a he maha o raatau), ka awhina a Nanonyam i a koe ki te whakaoti i tenei raru. Ko taku whainga tuarua tenei i Nanonyam: ki te taapiri i nga mahi maha penei i te tukatuka tuhinga, te tango i nga whakaahua whakaahua, te whakataurite ranei i nga patene i roto i te punaha (ko enei katoa, na te ara, kei kona ano), me te maha atu o nga mahi mo te whakaoti i nga mahi o ia ra. .
Te whakamatautau taputapu ma te tauranga COM
Ka taea e Nanonyam te mahi hei tauranga e mahi ana i runga i to algorithm. Ka taea e koe te tuhi i tetahi tahua iti hei whakahaere i te taputapu me te whakaatu i nga raraunga i riro mai i te tauranga. Ka taea e koe te penapena me te panui raraunga mai i nga konae hei tātari. He taputapu pai mo te patuiro ngawari me te whakatikatika i nga taputapu, tae atu ki te hanga i nga papa whakahaere taputapu mariko ngawari. Mo nga tauira me nga kaiputaiao taiohi, ka tino whai hua tenei kaupapa.
Te whakangungu kaupapa
Heoi, pera me te kaupapa Arduino katoa, ko te tino whaihua o Nanonyam kei roto i te ngawari o nga mahi, atanga me te bootloader. No reira, me aro mai tenei kaupapa ki nga kaiwhakatakoto kaupapa hou me te hunga e makona ana ki te taumata o te arduino. Ma te ara, ko ahau ano kaore ano kia akohia te arduino i roto i nga korero, na te mea i whakamahia e ahau te WinAVR, te AVR Studio ranei, engari i tiimata me te assembler. Na reira, he iti te he o te kaupapa tauira i raro nei, engari he tino mahi.
Kia ora Habr!
Kua tae ki te wa ki te waia ki etahi ahuatanga Nanonyam me te tuhi i tetahi kaupapa ngawari. Ka tuhia e matou ki Arduino, engari kaore i te ahua o mua, engari i te huarahi ka taea e au inaianei (kua kii ahau kaore ano ahau kia tino mohio ki tenei taiao). Tuatahi, hanga he huahua hou ka kowhiri i te papa Mega2560.
Tiakina te huahua ki te konae ka kape i muri mai
#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"
He tika ake te hanga i tetahi waahanga motuhake "Nanonyam mo Arduino", ka taea te whakauru tika mai i Arduino. Ka kitea e au, ka mahia e au, engari inaianei kei te whakaatu noa ahau i te ngako o te mahi me te miihini mariko. Ka tuhia e matou te waehere e whai ake nei:
//Сразу после запуска рисуем текст в окне
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);//Задержка и разгрузка процессора
}
Tuhia me tenei papatono
Ka pehia e matou te paatene "Tirohia" kia kaua e hapa.
Inaianei me whiwhi koe i tetahi konae-rua (firmware). Tīpakohia te tahua "Waituhi >> Kaweake i te konae-rua (CTRL+ALT+S)".
Ka kapea e rua nga konae HEX ki te kōpaki huahua. Ka tangohia e matou anake te konae kaore he tohu "with_bootloader.mega".
He maha nga huarahi hei tohu i tetahi konae HEX ki te miihini mariko Nanonyam, kua whakaahuahia katoa
Waihoki, ka taea e koe te hanga kaupapa ki etahi atu taiao, penei i te AVR Studio, WinAVR ranei.
Koinei te waahi ka mutu to maatau mohio ki a Nanonyam. Me marama te whakaaro matua.
Nga mihi nui ki a koutou katoa mo to whakaaro me te pai o nga kaupapa!
Source: will.com