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