Me pehea te hanga kaupapa mo Windows i Arduino

Me pehea te hanga kaupapa mo Windows i Arduino

I tetahi ra ka porangi ahau ki te kawe 500 tohu taiaho i te waahi kotahi. He maha nga wa i pau i ahau ka mahia e au. I puta he mea whakamiharo me te koretake, engari i pai ahau. E ono marama ki muri he whakaaro porangi ano taku. I tenei wa, ehara i te mea whakamiharo, engari he pai ake. He nui hoki te wa i pau i a au. A i roto i tenei tuhinga, ka whakaatuhia e ahau he putanga beta o taku whakaaro porangi tuarua.

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).

Me pehea te hanga kaupapa mo Windows i Arduino

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 ka taea e konei. Engari wharangi whakaahuatanga mahi mariko. Ae, ko taku papaanga he mea taketake, kaore i te urutau mo nga taputapu pūkoro.

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.

Me pehea te hanga kaupapa mo Windows i Arduino

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.

Me pehea te hanga kaupapa mo Windows i Arduino

Tiakina te huahua ki te konae ka kape i muri mai whare pukapuka Nanonyam. He tika ki te whakauru i nga pane o nga whare pukapuka, engari kaore au e mohio ki te tuhi i nga kohinga o nga konae takitahi ki Arduino, na inaianei ka whakauruhia e matou nga whare pukapuka (me te wa kotahi):

#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 taea te tango i konei. Whakaahuatanga taipitopito o nga mahi rapu i runga i te pae. Te ti'aturi nei au e ranea ana nga korero i roto i tenei waehere kia mohio ai ahau. Here mahi sys_Nanonyam() he "kupuhipa" mo te miihini mariko, e tango ana i nga here mo nga mahi mariko. Ki te kore tenei mahi, ka kati te papatono i muri i te 3 hēkona o te mahi.

Ka pehia e matou te paatene "Tirohia" kia kaua e hapa.

Me pehea te hanga kaupapa mo Windows i Arduino

Inaianei me whiwhi koe i tetahi konae-rua (firmware). Tīpakohia te tahua "Waituhi >> Kaweake i te konae-rua (CTRL+ALT+S)".

Me pehea te hanga kaupapa mo Windows i Arduino

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 i tenei whārangi. Ka whakaaro ahau ki te hanga i te taha o te konae Nanonyam.exe Tuhinga ara, hei rehita i te huarahi katoa ki to tatou konae HEX. I muri ka taea e koe te rere Nanonyam.exe. Ka whiwhi tatou i te matapihi me to tatou tuhituhinga.

Me pehea te hanga kaupapa mo Windows i Arduino

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. Ko etahi atu tauira kei runga i te paetukutuku.. Mena he nui nga tangata e hiahia ana ki te whakamahi i tenei kaupapa, ka mahia e au etahi atu tauira ka haere tonu ki te "whakakii" i nga whare pukapuka mahi mariko. Ko nga whakaaro raima mo te whakawhanaketanga o te kaupapa me nga ripoata mo nga mahi kino, nga pepeke me nga pepeke ka whakaaetia. He mea tika kia arahina atu ki nga hoapaki, kua tohua ki te pae. A ka pai te korerorero i roto i nga korero.

Nga mihi nui ki a koutou katoa mo to whakaaro me te pai o nga kaupapa!

Source: will.com

Tāpiri i te kōrero