ืืื ืืื ืืื ืื ืจืขืืื ืืืืจืฃ ืืืืื
ืืชืงืฉืจืชื ืืคืจืืืงื Nanonyam (Nanonyam) ืืืคืืื ืืืฆืืชื ืื ืืืื (ืฆืืืจืชื ืืืฉื 5 ืืงืืช).
ืืื ืฉืืืฉื ืืืื ืืื ืฉื ืืจืืืืื ื, ืืคืฉืจ ืืืืจ ืฉื ื ืื ืืื ืืื ืืื ืืจืืืืื ื ืืืจืืืืื ืืฉืืืื ืืืืื ืืช.
ืืืืืื ืืืจืืช, Nanonyam ืืื ืืืื ื ืืืจืืืืืืช ืฉืืฉืชืืฉืช ืืงืืฉืื ืขืืืจ ืืืืงืจื-ืืงืจ ืฉื ืืจืกืืืจ (ืืืืืฅ ATMEGA2560) ืืชืืจ ื-bytecode. ืืชืื ืืืืื ื ืืืืืจืืืืืืช ืืื ืืฉ ืกืืืืืืืจ ืืืื ืฉื AVR, ืืื ืืืงืื ืฆืืื ืืืงืคื, ืืืืืงื ืืืชืืืืช SRAM ื-0x0060 ืขื 0x01FF, ืืฉ ืืืฉืง ืืืืื ืืคืื ืงืฆืืืช ืืืจืืืืืืืช (ืืืื ืคืื ืงืฆืืืช Windows API). ืืืื ืืฉืื ืืืื ืืืืื ืืื: ืืงืื ืฉื Nanonyam ืื ืฆืจืืื ืืืืืช ืื ืืืฉื ืืืืื ืืืืืจืื ืฉืฆืืื, ืืื ืื ืืืชืงืฉืจ ืืืขืืช, ืืืฉื, ืืคืื ืงืฆืื ืฉื ืืืืงืช ืงืืฆืื ืื ืคืืจืืื ืืืกืง. ืฉืืจ ืืืื ืืืืจืื ื-SRAM ืืื 0x0200 ื-0xFFFF (ืื ืืืชืจ ืืืฉืจ ืืืืงืจื-ืืงืจ ืืืืชื) ืืืื ืืืฉืชืืฉ ืืื ืืืจื. ืื ื ืืฆืืื ืืื ืฉืืฉ ืืื ื ืืืืืืช ืืคื ื ืืฉืงื ืืงืจืืช ืฉื ืืงืืฉืื ืฉื ืืืงืจื-ืืงืจ ืืืืชื (ืื ืงืืฉืื ืืืจืืืืงืืืจื ืืืจืช): ืืคื ื ืืคืขืืช ืคืื ืงืฆืืืช "ืืกืืื ืืช", ืืชื ืฆืจืื ืืงืจืื ืืคืื ืงืฆืื ืืืจืืืืืืช ืืกืืืืช ืืืืืืช. ืืฉ ืื ืืื ืชืืื ืืช ืืืืื ืืืจืืช.
ืืื ืืืฆืืจ ืชืืื ืืืช ืขืืืจ Nanonyam, ืขืืื ืืืฉืชืืฉ ืืกืคืจืืืช ืืืืืืืช ืืืืืฉืืืช ืืช ืื ืืคืื ืงืฆืืืช ืืืืจืืืืืืืช ืืืืื ืืช ืืขืช. ืืืจื ืขืืืจื ืืช ืืืืฉื ืืืืืจืืืืื ืืืกืคืจืืืช ืฉื Nanonyam
Nanonyam ืืืื ื ืืฉืืืืฉ ืืืชื ืืืกืืจื. ืชืื ืืช ื ื ืื ืื ื ืืชื ืช ืขื ืืกืืก "ืืืืช ืฉืืื". ืงืื ืืืงืืจ ืื ืืกืืคืง.
ืืชืืื ืืช ื ืืฆืืช ืืขืช ืืฉืื ืืืืงืืช. ืืืืืข ื-200 ืคืื ืงืฆืืืช ืืืจืืืืืืืช ืืืืคืฉืจืืช ืืืฆืืจ ืชืืื ืืช ืคืฉืืืืช ืขืืืจ Windows.
ืืจืืจ ืฉืืฆืืจืช ืืฉืื ืืกืืื ืืืืื ื ืืืจืืืืืืช ืืื ืื ืชืขืืื, ืืืืืื ืฉืืืืืจืื ืขืืืจ ืืงืื ืืื ืจืง 256 ืงืืืืืืื. ื ืืชื ืืืืกื ื ืชืื ืื ืืงืืฆืื ื ืคืจืืื, ืืืืืจ ืขืืืจ ืืืืง ืืืจืคื ืืืืฉื ืืืฆืื ืืช. ืื ืืคืื ืงืฆืืืช ืืคืืฉืืืช ืืืืชืืืืช ืืืจืืืืงืืืจืช 8 ืกืืืืืช.
ืื ืืคืฉืจ ืืขืฉืืช ืื ื ืื ืืื? ืืืขืชื ืืืื ืืขืืืช.
ืคืืชืื ืืืืงืื ืฉื ืชืืื ืืืช
ืคืขื ืืืืชื ืฆืจืื ืืขืฆื ืชืคืจืื ืืืจืื ืืชืฆืืื ืืจืคืืช ืฉื 128x64 ื ืงืืืืช. ืืืฉ ืื ืจืฆืืชื ืืืขืื ืื ืืืื ืืช ืืงืืฉืื ืืชืื ืืืงืจื-ืืงืจ ืืืืชื ืืื ืืจืืืช ืืื ืืคืืงืกืืื ื ืจืืื. ืืื ื ืืื ืืจืขืืื ืฉื ื ื ืื ืื. ืืืืืจ ืฉืืืื ืืฆืื ืชืืื ื ืืชืฆืืืช OLED ืืืืชืืช ืฉื ืืื ืืืคืจืืืื ืืืืชื ืชืคืจืื. ืขืืฉืื ืื ื ืืืื ืืขืืื ืขื ืื ืืื ืืืฉืืจ ืืืืชื.
Nanonyam (ืืจืขืืื ืืกืืคื ืฉืื) ืืื ืืื ืืื ืืขืืืื ืืืืงืื ืฉื ืชืืื ืืืช ืขืืืจ ืืืงืจื-ืืงืจืื, ืฉืื ืืฉ ืคืื ืงืฆืืืช ืืขืืืื ืขื ืืจืคืืงื (ื ืืชื ืืืืืช ืชืฆืืืืช ืืืืืื ืื), ืขื ืงืืฆืื (ืืคืฉืจ ืืืฆืืจ ืืืื ืื, ืืงืจืื ื ืชืื ื ืืืืงื), ืขื ืืงืืืช (ื ืืชื ืืงืจืื ืขื 10 ืืืฆื ืื ืื ืืื ืืช), ืขื ืืฆืืืืช COM (ืื ื ืคืจืื ื ืคืจื).
ืืฆืืจืช ืชืืื ืืืช ืืืืจืืช
ืืืืืื, ืขืืื ืืขืื ืืืืืจืืช 100500 ืงืืฆื ืืงืกื. ืื ืืื ืืื ืฆืจืื ืืืืคืชื, ืืฉื ืืช ืืขื ืืคื ืืืื ืืืืืจืืชื ืคืฉืื, ืืฉืืืจ ืืืกืืืจ. ืื ืืชื ืืืกืืจ ืคืืืชืื, ืื ืื ื ืืืจื ืืืชื, ืืฉ ืื ืืื. ืืื ืื ืืชื ืืจืืืืื ื ืืืงืฉื (ืืืฉ ืืจืื ืืื), ืื Nanonyam ืืขืืืจ ืื ืืคืชืืจ ืืช ืืืขืื ืืื. ืื ืืืืจื ืืฉื ืืื ืฉืื ืื ื ืื ืื: ืืืืกืืฃ ืคืื ืงืฆืืืช ืฉืืืืฉืืืช ืจืืืช ืืื ืขืืืื ืืงืกื, ืฆืืืื ืืกื ืื ืืืืืืช ืืงืฉืืช ืืืขืจืืช (ืฉืืืื, ืืื, ืืืจ ืงืืืืืช), ืืื ืคืื ืงืฆืืืช ืจืืืช ืืืจืืช ืืคืชืจืื ืืฉืืืืช ืฉืืจืชืืืช .
ืืืืงืช ืืืืจื ืืจื ืืฆืืืช COM
Nanonyam ืืืื ืืฉืืฉ ืืืกืืฃ ืฉืขืืื ืืคื ืืืืืืจืืชื ืฉืื. ื ืืชื ืืฆืืืจ ืชืคืจืื ืงืื ืืื ืืฉืืื ืืืืฉืืจ ืืืืฆืื ืืช ืื ืชืื ืื ืฉืืชืงืืื ืืืืฆืืื. ืืชื ืืืื ืืฉืืืจ ืืืงืจืื ื ืชืื ืื ืืงืืฆืื ืื ืืชืื. ืืื ืฉืืืืฉื ืขืืืจ ืืืชืืจ ืืืืื ืืืืื ืคืฉืืืื ืฉื ืืืืืจื, ืืื ืื ืืืฆืืจืช ืืืืืช ืืงืจื ืืืจืืืืืืื ืคืฉืืืื ืฉื ืืืฉืืจืื. ืขืืืจ ืกืืืื ืืื ืืืืขื ืื ืฆืขืืจืื, ืคืจืืืงื ืื ืืืื ืืืืืช ืฉืืืืฉื ืืืื.
ืืืฉืจืช ืชืื ืืช
ืขื ืืืช, ืืื ืืื ืคืจืืืงื Arduino, ืืชืืขืืช ืืขืืงืจืืช ืฉื Nanonyam ืืืื ื ืืคืืฉืื ืืคืื ืงืฆืืืช, ืืืืฉืง ืืืืขื ืืืชืืื. ืืื, ืืคืจืืืงื ืืื ืฆืจืื ืืขื ืืื ืืชืื ืชืื ืืชืืืืื ืืืืื ืฉืืจืืฆืื ืืจืืช ืืืจืืืืื ื. ืืื, ืื ื ืืขืฆืื ืขืืืื ืื ืืืืชื ืืจืืืืื ื ืืคืืจืื, ืื ืชืืื ืืฉืชืืฉืชื ื-WinAVR ืื ื-AVR Studio, ืืื ืืชืืืชื ืขื assembler. ืืื, ืืชืืื ืืช ืืืืืื ืฉืืืื ืชืืื ืงืฆืช ืฉืืืื, ืืื ืื ืขืืืืช.
ืฉืืื ืืืจ!
ืื ืืืื ืืืืืจ ืืื ืชืืื ืืช ืฉื Nanonyam ืืืืชืื ืชืืื ืืช ืคืฉืืื. ื ืืชืื ืืืจืืืืื ื, ืืื ืื ืืืจื ืืจืืืื, ืืื ืืื ืฉืื ื ืืืื ืขืืฉืื (ืืืจ ืืืจืชื ืฉืขืืืื ืื ืืื ืชื ืืื ืืช ืืกืืืื ืืื). ืจืืฉืืช, ืฆืืจ ืกืงืืฆื ืืืฉื ืืืืจ ืืืื Mega2560.
ืฉืืืจ ืืช ืืกืงืืฆื ืืงืืืฅ ืืืขืชืง ืืช ืืื
#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);//ะะฐะดะตัะถะบะฐ ะธ ัะฐะทะณััะทะบะฐ ะฟัะพัะตััะพัะฐ
}
ืฉืจืืื ืขื ืชืืื ืืช ืื
ืื ื ืืืืฆืื ืขื ืืคืชืืจ "ืืืืง" ืืื ืืืืจืืช ืืืืืช ืฉืืืืืช.
ืขืืฉืื ืืชื ืฆืจืื ืืงืื ืงืืืฅ ืืื ืืจื (ืงืืฉืื). ืืืจ ืืช ืืชืคืจืื"Sketch>>ืืฆืื ืงืืืฅ ืืื ืืจื (CTRL+ALT+S)".
ืคืขืืื ืื ืชืขืชืืง ืฉื ื ืงืืฆื HEX ืืชืืงืืืช ืืกืงืืฆืืช. ืื ืื ื ืืืงืืื ืจืง ืืช ืืงืืืฅ ืืื ืืงืืืืืช "with_bootloader.mega".
ืืฉื ื ืืกืคืจ ืืจืืื ืืฆืืื ืงืืืฅ HEX ืืืืฉื ืืืืจืืืืื Nanonyam, ืืืื ืืชืืืจืืช
ืืืืคื ืืืื, ืืชื ืืืื ืืืฆืืจ ืชืืื ืืืช ืืกืืืืืช ืืืจืืช, ืืืื AVR Studio ืื WinAVR.
ืืื ืื ืื ื ืืกืืืืื ืืช ืืืืืจืืช ืขื ื ื ืื ืืื. ืืจืขืืื ืืืจืืื ืฆืจืื ืืืืืช ืืจืืจ.
ืชืืื ืืืืืื ืขื ืชืฉืืืช ืืื ืืืชืื ืืช ืืืืืืช!
ืืงืืจ: www.habr.com