
ãªãMKã§ã³ã³ãœãŒã«ãå¿ èŠãªã®ã§ããïŒ
ããã¹ãããŒã¹ã®ã³ã³ãœãŒã«ã€ã³ã¿ãŒãã§ã€ã¹ã«ã¯ããã¹ãŠã®ãã¯ãŒãšã·ã³ãã«ããåããçµã¿èŸŒã¿ã·ã¹ãã ã®å©ç¹ãããã€ããããŸãïŒçµå±ãããã¹ãã¯LEDãšã¯ç°ãªããããèªäœãç©èªã£ãŠããŸãïŒïŒã
- æ¯èŒçå°ãªãMKãªãœãŒã¹ãšæå°éã®ããŒããŠã§ã¢ã³ã¹ããå¿ èŠã§ã-UARTãªã©ã®ã·ãªã¢ã«ã€ã³ã¿ãŒãã§ã€ã¹ãŸãã¯MKã§å©çšå¯èœãªä»ã®ããã€ã¹ãçµã¿èŸŒã¿USBãŸãã¯å€éšUSB-Comã¢ããã¿ãŒããŸãã¯ãã€ã¯ãã³ã³ãããŒã©ãŒãéåžžã«æ·±å»ãªå Žåã¯TCPã§ãããŸããŸããã
- æ¥ç¶ã«äŸ¿å©-Com-portïŒWindowsã®å Žåã¯ãããLinuxã®å Žåã¯minicomïŒããµããŒããã端æ«ã§ååã§ãã
- 䜿ãããã-ã¿ãŒããã«ãžã®ã«ã©ãŒåºåãèªåè¿œå ã®ãµããŒãããããããŒãå ¥åå±¥æŽã
ãã®ãããã©ã€ãã©ãªã¯çŸåšä»¥äžããµããŒãããŠããŸãã
- vt100端æ«ã®åºæ¬æ©èœïŒã»ãšãã©ã®ç«¯æ«ãšãã¥ã¬ãŒã¿ãŒããµããŒãããŠããŸãïŒ
- æ©èœããªã³/ãªãããŠã¡ã¢ãªãç¯çŽã§ããæ§æãã¡ã€ã«ïŒMKã®å Žåã¯éåžžã«éèŠã§ãïŒã
- HOMEãENDãã«ãŒãœã«ããŒãããã¯ã¹ããŒã¹ãç解ããŸãã
- ãããããŒãç解ããŠãã^ U ^ K ^ E ^ A ^ N ^ Pãªã©
- ããã²ãŒã·ã§ã³ã®äžäžç¢å°ãšãããããŒã䜿çšããå ¥åå±¥æŽ
- èªåè£å®ïŒèªå眮æïŒïŒ
çè«ã®ããã
ãã®ãããã¯ã§ã¯ãã¿ãŒããã«ãšã³ãããŒã®æŽå²ãšç¹åŸŽã«ã€ããŠå°ã説æããŸãããã ããã«ã€ããŠã¯ç¹°ãè¿ããŸããããäœæ¥ã®ååã«ã€ããŠç°¡åã«èª¬æããŸãã

ãŠãŒã¶ãŒã®èŠ³ç¹ããèŠããšããã¹ãŠã¯ç«¯æ«ã§å§ãŸãã端æ«ã§çµãããŸããããã¯ãWikipediaãèšãããã«ã ã端æ«ã¯å ¥å/åºåããã€ã¹ã§ããããã®äž»ãªæ©èœã¯ããŒã¿ã®è¡šç€ºãšå ¥åã§ãã ã gnome-terminalãrxvtãputtyãminicomãªã©ãããŸããŸãªæ©èœãåãããã¹ãŠã®ãã©ãããã©ãŒã çšã®ã¿ãŒããã«ãšãã¥ã¬ãŒã¿ãå€æ°ãããŸãã
ãŠãŒã¶ãŒãããŒããŒãã®ãã¿ã³ãæŒããšãã¿ãŒããã«ã¯ããããä»»æã®ãã£ãã«ãä»ããŠããã€ã¹ãŸãã¯ã·ã¹ãã ã«éä¿¡ããç»é¢ã«å°å·ããããã®æåãè¿ããŸãã åçŽãªããã¹ãæåã«å ããŠãå¶åŸ¡ã³ãŒããšãµãŒãã¹æ å ±ãéä¿¡ããããã«ESCã·ãŒã±ã³ã¹ãäž¡åŽã«éä¿¡ãããŸããããšãã°ãããŒããŒãããç¹å¥ãªã³ãŒããéä¿¡ãããŸãã ããŒïŒEnterãã«ãŒãœã«ãESCãBackspaceãªã©ïŒã ã·ãŒã±ã³ã¹ã¯ç»é¢ã«æ»ããã«ãŒãœã«äœçœ®ã®å¶åŸ¡ãç»é¢ã®ã¯ãªã¢ãæ¹è¡ãæåã®åé€ãè²ããã©ã³ãã¿ã€ãã®å¶åŸ¡ãªã©ãè¡ããŸãã
ESCã·ãŒã±ã³ã¹ã¯ãäžè¬ã«ãã³ãŒã27ã®ESCæåã§å§ãŸãããã®åŸã«å€æ°ã®å°å·ãŸãã¯éå°å·æåã§æ§æãããã·ãŒã±ã³ã¹ã³ãŒããç¶ããã€ãã®ã·ãŒã±ã³ã¹ã§ãã vt100端æ«ã®å Žåãã³ãŒãã¯ãããšãã°ããã«ãããŸã ã å¶åŸ¡ã³ãŒãã¯ã0ã31ã®ã³ãŒããæã€å°å·äžèœæåã§ãïŒ32ã¯æåã®ASCIIæåã®ã³ãŒã-ã¹ããŒã¹ïŒã
ããã€ã¹å ã®ããã°ã©ã ïŒã³ãã³ãã©ã€ã³ãæ åœããéšåïŒã¯ãæåãšã·ãŒã±ã³ã¹ãåä¿¡ãããŠãŒã¶ãŒãå ¥åããå 容ãã³ãã³ãã©ã€ã³ãããã¡ãŒã«åœ¢æãããã®è¡ãã¿ãŒããã«ã«è¡šç€ºããŸãïŒããŒã«ã«ã¿ãŒããã«ãšã³ãŒããªãã«ããå¿ èŠããããŸãïŒã ããã€ã¹ã¯ç»é¢ã«ããã¹ããšESCã·ãŒã±ã³ã¹ãå°å·ããŠãã«ãŒãœã«ãè²ãã«ãŒãœã«äœçœ®ãããã³ãã«ãŒãœã«ããè¡æ«ãŸã§ããã¹ããåé€ããªã©ã®ã³ãã³ããå¶åŸ¡ããŸãã å®éãããã¯ã©ã€ãã©ãªã®äž»ãªã¿ã¹ã¯ã§ã-ã¡ã¢ãªãšç«¯æ«ç»é¢ã«è¡ãäœæãããŠãŒã¶ãŒããããç·šéïŒè¡ã®ä»»æã®æåãåé€ãããã«æ²¿ã£ãŠç§»åãªã©ïŒã§ããããã«ããé©åãªã¿ã€ãã³ã°ã§é«æ¬¡ã€ã³ã¿ãŒããªã¿ãŒã«åŠçã®ããã«æž¡ããŸãã
åªããã³ã³ãœãŒã«ã«ã¯ãå ¥åã®å±¥æŽãå¿ èŠã§ãããŸãããããããããå€ãã®èªåã¢ããªã³ãå¿ èŠã§ããããããªããã°ã端æ«ã§ã®æäœã¯ããã»ã©å¿«é©ã§ã¯ãããŸããã
å éšããã€ã¹
ã©ã€ãã©ãªã䜿çšããã¢ããªã±ãŒã·ã§ã³ã®ã¢ãŒããã¯ãã£ãæ€èšããŠãã ããã

å³ã¯ãmicrorlãšãŠãŒã¶ãŒã¢ããªã±ãŒã·ã§ã³ã®çžäºäœçšã®ãããã¯å³ã瀺ããŠããŸãã éãç¢å°ã¯ãã€ãã³ãã®çºçæã«åŒã³åºãããã³ãŒã«ããã¯é¢æ°ã瀺ããç·ã®ç¢å°ã¯ãå®éã«ã¯ãã¹ãŠã®äœæ¥ãè¡ãããã©ã€ãã©ãªé¢æ°ã®åŒã³åºãã瀺ããŸãã
䜿çšããåã«ã3ã€ã®ã³ãŒã«ããã¯é¢æ°ïŒéïŒãã€ã³ã¹ããŒã«ããå¿ èŠããããŸãã
void print (char * str); // int execute (int argc, char * argv[]); // ENTER char ** complete (int argc, char * argv[]); // TAB
å®å šãªæ©èœã¯ãªãã·ã§ã³ã§ãããªãœãŒã¹ãç¯çŽããããã«ãäžè¬çã«æ§æãã¡ã€ã«ã§èªåè£å®ãç¡å¹ã«ã§ããŸãã
å ¥åã¹ããªãŒã
ãŠãŒã¶ãŒã¢ããªã±ãŒã·ã§ã³ã¯ãã¿ãŒããã«ããæåãåä¿¡ãïŒã·ãªã¢ã«ã€ã³ã¿ãŒãã§ã€ã¹ïŒUARTãusb-cdcãtcp-socketãªã©ïŒãé¢æ°ãåŒã³åºããŠã©ã€ãã©ãªã«è»¢éããŸãïŒç·è²ã®ç¢å°ïŒïŒ
void microrl_insert_char (char ch);
ESCã·ãŒã±ã³ã¹ãšã«ãŒãœã«ã®ç§»åãTabãEnterãBackspaceãªã©ã®æäœãè¡ãå¶åŸ¡æåã¯ãå
¥åã¹ããªãŒã ããæœåºããã³åŠçãããããŒããŒãããå
¥åãããæ®ãã®æåã¯ã³ãã³ãã©ã€ã³ãããã¡ãŒã«é
眮ãããŸãã
å®è¡ãã
ãŠãŒã¶ãŒãEnterããŒãæŒããšïŒå ¥åã·ãŒã±ã³ã¹ã§0x10ãŸãã¯0x13ã³ãŒããæ€åºãããŸãïŒãã³ãã³ãã©ã€ã³ãããã¡ãŒã¯ãããŒã¯ã³ãïŒã¹ããŒã¹ã§åºåãããåèªïŒã«åå²ããã argcã®ãããã®åèªã®æ°ãšargvãã€ã³ã¿ãŒã®é åã§å®è¡é¢æ°ãåŒã³åºãããŸãã
argv []é åã®åèªã¯NULLã§çµäºããŸããã€ãŸããéåžžã®æååé¢æ°ã䜿çšã§ããããããã¹ã¯ãããã¢ããªã±ãŒã·ã§ã³ã®ã¡ã€ã³é¢æ°ã®ãã©ã¡ãŒã¿ãŒãåŠçããã®ãšåããããç°¡åã§äŸ¿å©ã§ãã ãã¹ãŠã§ã¯ãããŸããããå€ãã®äººããã®æè¡ã«ç²ŸéããŠãããã æ å ±ãç°¡åã«èŠã€ããããšãã§ããŸãã
RAMãç¯çŽããããã«ãå ¥åããããã¹ãŠã®ã¹ããŒã¹ã¯æå ' \ 0 'ã«çœ®ãæãããã端æ«ãžã®åºåã¯ã¹ããŒã¹ã«çœ®ãæããããŸãã ãã®ãããããŒã¯ã³ã®å é ãžã®ãã€ã³ã¿ããåéãããã ãã§ååã§ããããã¹ãŠãèªåçã«NULLã§çµäºãããããã³ãã³ãã©ã€ã³ã®å ¥åãšä¿åãããã³åŠçã«1ã€ã®ãããã¡ã䜿çšã§ããŸãã

ã³ãã³ãã®åŠçã¯ãã©ã€ãã©ãªãŠãŒã¶ãŒã«ãã£ãŠå®è¡é¢æ°ã§å®è¡ãããŸããå®éãããã¯ã·ã§ã«ã§ããããã®ãã¬ãŒãºãæããªãã§ãã ãããDãéåžžã®if-else if-elseãæãåçŽãªã·ã§ã«ã§ãã
/* "help", "mem clear" "mem dump"*/ int execute (int argc, char * argv[]) { int i = 0; if (!strcmp (argv[i], "mem")) { i++; if ((i < argc) && (!strcmp (argv[i], "dump"))) { mem_dump (); } else if ((i < argc) && (!strcmp(argv[i], "clear"))) { mem_clear(); } else { printf ("\"mem\" needs argument {dump|clear}\n"); } } else if (!strcmp (argv[i], "help")) { print_help (); } else { printf ("%s: cmd not found\n"); } return 0; }
å®å šãªèªåã¢ããªã³
ãŠãŒã¶ãŒãèªåã¢ããªã³ãåžæããå Žåã¯ãTabããŒãæŒããŸããããã¯ãã³ã³ãœãŒã«ãæäœãããã¹ãŠã®ãŠãŒã¶ãŒã«ãšã£ãŠæ°žç¶çãªç¿æ £ã§ãã ããã§ããéèšã³ãŒãããã£ããããããšãã«åãããšãè¡ããŸã-åã³argvã®ãã€ã³ã¿ãŒã§è¡ãåãåããŸãããè¡å šäœã§ã¯ãªããæåããã«ãŒãœã«ãŸã§ã®ã»ã¯ã·ã§ã³ã®ã¿ãåãåããŸãïŒéåžžãã«ãŒãœã«ã®äžã®åèªãè£å®ããŸããïŒïŒã åãint argcãšchar * argv []ãã³ãŒã«ããã¯completeã«æž¡ãããŸãã1ã€ã®ããªãã¯ããããŸããã«ãŒãœã«ã空çœã®å Žåãæ°ããåèªãéå§ããŸãã å ·äœçãªäœããè£è¶³ãããã®ã§ã¯ãªãããã§ãããã®å Žåã空ã®æååã¯æåŸã®argv [argc-1]èŠçŽ ã«ãããŸãã
ãªããããå¿ èŠãªã®ã§ããïŒ ãªãŒãã³ã³ããªãŒãã®ã³ãŒã«ããã¯é¢æ°ã§ããŠãŒã¶ãŒãæ¢ã«å ¥åããã³ãã³ããšãç¹å®ã®äœããå®äºããŠãããã©ãããæ確ã«ããããããŸãã¯åã«ã¿ããã¯ãªãã¯ããŠäœ¿çšå¯èœãªã³ãã³ãã衚瀺ããŸãã ã芧ã®ãšãããçã«ãã¹ããŒãããªè¿œå ãè¡ãããã®ãã¹ãŠãæã£ãŠããŸããããã¯ãæ人çšã³ã³ãœãŒã«ãããæªããããŸããã
éèŠ!! é åã®æåŸã®èŠçŽ ã¯åžžã«NULLã§ãªããã°ãªããŸããïŒ
æåã®èŠçŽ ã§NULLãè¿ãå ŽåïŒ[NULL]ïŒ-ããã¯ãè¿œå ã®ãªãã·ã§ã³ããªãããšãæå³ããŸãã
NULLïŒ["help"] [NULL]ïŒã®åã«é åã®åã«èŠçŽ ã1ã€ããå Žå-ãªãã·ã§ã³ã1ã€ãããªãããšãæå³ããå®å šã«çœ®ãæããããŸãã
é åã«è€æ°ã®èŠçŽ ãããå ŽåïŒ["clean"] ["clear"] [NULL]ïŒ-åèªã®äžè¬çãªéšåã®ã¿ãè£å®ãããŸãïŒååšããå ŽåïŒã
å ¥åå±¥æŽ
ååãªRAMãããå Žåã¯ãæ§æã«å ¥åå±¥æŽã®ãµããŒããå«ããŠãã ããã䜿ãããããåäžããŸãã ãéãç¯çŽããããã«ããªã³ã°ãããã¡ã䜿çšãããŸãããã®ãããèŠããããæåŸã®ã³ãã³ãã©ã€ã³ã®é·ãã¯èšããŸãããé·ãã«ãã£ãŠç°ãªããŸãã å±¥æŽå ã®æ€çŽ¢ã¯ãäž/äžç¢å°ãŸãã¯ãããããŒCtrl + n Ctrl + pïŒbashã§è©ŠããŠãã ããïŒïŒã䜿çšããŠãéåžžã©ããå®è¡ãããŸãã åçŽã«æ©èœããŸããã¡ãã»ãŒãžãé çªã«ãããã¡ã«ã³ããŒãããã¹ããŒã¹ããªãå Žåã¯ã衚瀺ããããŸã§å€ãã¡ãã»ãŒãžãåé€ããè¡ãã¡ã¢ãªã«ã³ããŒãããæåŸã®ã¡ãã»ãŒãžãžã®ãã€ã³ã¿ããã®åŸã«ã·ãããããŸãã ãããã¡ã®æåŸã«å°éãããšã0ãé£ã³è¶ããŠåãæããŸãã
è³æº
ã¢ããªã±ãŒã·ã§ã³ã«ã³ã³ãœãŒã«ãå®è£ ããããã«å¿ èŠãªã®ã¯ãå°ããªã¡ã¢ãªãšã·ãªã¢ã«ã®åæ¹åã€ã³ã¿ãŒãã§ãŒã¹ã§ããUARTïŒUSB-RS232ã³ã³ããŒã¿ãŒçµââç±ãå«ãïŒãusb-cdcãã·ãªã¢ã«com-portãããã¡ã€ã«ãåããã¯ã€ã€ã¬ã¹bluetooth-serialã¢ãžã¥ãŒã«ãtcpãœã±ãããªã©ã䜿çšã§ããŸãã ãPCãšã³ã³ãããŒã©ãŒéã§æ¥ç¶ã§ããã¿ãŒããã«ãšãã¥ã¬ãŒã¿ãŒãæ©èœãããã¹ãŠã®æ©èœã
ã¡ã¢ãªã«ã€ããŠã¯ãAtmega8ïŒ8ãããïŒã³ã³ãããŒã©ãŒïŒäŸã¯ãœãŒã¹ã«ãããŸãïŒããã³ARM7ã³ã¢ã®AT91SAM7S64ïŒ16/32ãããïŒã³ã³ãããŒã©ãŒã®-0sæé©åã䜿çšããŠGCCã§ãã¹ãŠãåéããŸããã æ¯èŒã®ããã«ã2ã€ã®ããŒãžã§ã³ã§åéããŸããïŒåé€ãããããŒãžã§ã³-èªåè¿œå ãªããã«ãŒãœã«ç¢å°ã®å ¥åãšåŠçã®å±¥æŽãªããå®äºããããçµæã§ã
ARM AVR 1,5 1,6 3,1 3,9
16/32ãããARMã³ã¢ãAVRãå®è¡ããŠããããšã«æ³šç®ããŠãã ããïŒ
枬å®ã¯ã©ã€ãã©ãªèªäœã«å¯ŸããŠã®ã¿è¡ãããUSARTåŠçïŒRMã®USB-CDCïŒãéèš³ãèæ ®ãããŠããªãã£ããšèšããªããã°ãªããŸããã ããã¯ã·ã§ã«ã§ãã
AVRã®ãœãŒã¹ã®äŸã§ã¯çŽ6 KBã®ãã©ãã·ã¥ïŒ8ã€ã®ãã¡ïŒãå¿ èŠã§ãããã©ã€ãã©ãªã®æ©èœã«ã¯ãå æ¬çããªãã®ããããŸãã4ã«çµã蟌ãããšãã§ããŸããããããã³ã³ãããŒã©ãŒã®ã¡ã¢ãªéã¯é£èºçã«å¢å ããŠããããã128ãŸãã¯512KBã®ãã©ãã·ã¥ãæèŒããSTãŸãã¯NXP MKã䜿çšããŠãããŠãŒã¶ãŒãé©ãããããšã¯ãããŸããã
RAMã«ã€ããŠã¯ããã¹ãŠãã·ã³ãã«ã§ãã©ã€ãã©ãªã«ã¯å éšå€æ°ã«ã30ãã€ããå¿ èŠã§ããããã«ãã³ãã³ãã©ã€ã³çšã®ãããã¡ãŒãå¿ èŠã§ã-èšå®ã§é·ãã決å®ããå ¥åå±¥æŽçšã®ãããã¡ãŒãå¿ èŠã§ãïŒãã ãããã®å®è£ ã§ã¯256ãã€ã以äžïŒ ã
ãŠãŒã¹ã±ãŒã¹ïŒ
ãããã°ãœãããŠã§ã¢ ã ä»ã®ããã€ã¹/ã·ã¹ãã /ãããã³ã«ããã€ãã³ãããšãã¥ã¬ãŒãããããšã«ãããããžãã¯ãšã¢ã«ãŽãªãºã ããããã°ãããã©ã¡ãŒã¿ãŒãå€æŽããçµéšå€ãéžæã§ããŸãã
# > print status state machine: receive # > set low_value 23 # > set speed 9200 > send_msg 23409823 # > map dump 0 8 0x40 0x0 0x0 0x0 0x34 0x12 0xFF 0xFF # > rise_event alarm # > calc_crc16 0x92A1
ããã€ã¹æ§æ CLIãä»ãããã©ã¡ãŒã¿ãŒã®èšå®ã¯ããã€ããªããŒã¿ã®æžã蟌ã¿ãããç°¡åã§ããè¿œå ã®ãŠãŒãã£ãªãã£ã¯äžèŠã§ãç¹å¥ãªã€ã³ã¿ãŒãã§ã€ã¹ã¯å¿ èŠãããŸããã 端æ«ãšCOMããŒãïŒã¢ããã¿ãŒãä»ããä»®æ³ããŒããå«ãïŒãåããPCã§å®è¡ãããŸãã ãŠãŒã¶ãŒïŒå€ãïŒã¯ãå¿ èŠã«å¿ããŠCLIã䜿çšã§ããŸãã
# > set phone_0 8952920xxxx > set dial_delay 150 > set alarm_level low > set user_name Eugene > set temperature 36 > print config 0 phone: 8952920xxxx dial delay: 150 ms alarm level: low user name: Eugene temperature: 36
ã¢ãã¿ãªã³ã° ãªã¯ãšã¹ãã«å¿ããŠããµãã·ã¹ãã ããããã¡ããŸãã¯ã«ãŠã³ã¿ã®ããŒã¿ãå°å·ã§ããŸãã
# 1 4 > print ADC_val 1 4 121, 63, 55, 0 # > get operation_count 87 # > print stat statistics: counted 299 pulse, smaller is 11 ms, longer is 119 ms
ã€ã³ã¿ã©ã¯ãã£ããªããã€ã¹ç®¡ç ã ãªã¬ãŒããªã³ã«ããé ã30床å転ãããã«ã¡ã©ã®é»æºãå ¥ããå·Šã«è¶³ãèžã¿ãŸãã Bluetoothã·ãªã¢ã«ã¢ãžã¥ãŒã«ã䜿çšãããšãã³ã³ãœãŒã«ããã¢ãã€ã«ãããããæ瞊ã§ããŸãã ãã®èãã¯æ確ã ãšæããŸãã
ããã«ããã¹ã¯ãŒããŸãã¯ã¯ã³ã¿ã€ã / Nåã®ã¢ã¯ã»ã¹ã䜿çšããŠæ¿èªãæŽçã§ããŸãã
ãããŠãã¡ãããã¿ãŒããã«ã®æ¬äŒŒã°ã©ãã£ãã¯ïŒ ãã³ã³ãœãŒã«ããšããæåéãã®æå³ã§ã®ã²ãŒã æ©ïŒ ïŒD
ã芧ã®ãšããããã®ãããªã€ã³ã¿ãŒãã§ã€ã¹ã¯ãã¡ã€ã³ã®ã€ã³ã¿ãŒãã§ã€ã¹ã§ã¯ãªãããããã°ãæ§æããŸãã¯è€è£œã®ããã«ãéåžžã«äžé©åãªå ŽåããããŸãã
åæ çãªäœè«

ã©ã€ãã©ãªãèšè¿°ãããšããã¢ã€ãã¢ã¯ãlircã®è€éãªã€ã³ãã©ã¹ãã©ã¯ãã£ã®ä»£ãããšããŠãUSB IRã¬ã·ãŒããŒIRinãäœæãããšãã«çãŸããŸããã ç§ã®USBãã³ã°ã«ã¯ãã·ã¹ãã å ã«ç¹å¥ãªãã©ã€ããŒãªãã§/ dev / ACM0ãšããŠå®çŸ©ãããŠããŸããããã¯æ¬è³ªçã«ä»®æ³COMããŒãã§ãã ãªã¢ãŒãã³ã³ãããŒã«ãã¿ã³ãæŒããšããã³ã°ã«ã¯Asciiã« ã NEC 23442 ããšãã圢åŒã®æåå-æŒãããã¿ã³ã®ã³ãŒããããŒãã«éä¿¡ããŸãã ãã¿ã³ã®åŠçã¯éåžžã«ç°¡åã§ããéåžžã®bashã¹ã¯ãªããã¯ããã¿ã³ã³ãŒãã«ãã倧ããªã¹ã€ããã§/ dev / ACM0ãèªã¿åããŸãã
ãããïŒ ä»ã«äœãå¿ èŠã§ããïŒ ã·ã³ãã«ã§äŸ¿å©ãè€éãªèšå®ããlircããããŸããã ããããã©ãããããããããŒãããã NEC D12C0A ãã®ä»£ããã«æååã VOLUME_UP ããååŸãããã£ã...ããããããã€ã¹ã«ãã¿ã³ã1ã€ãããªããããããŸã 䜿çšãããŠããªãå Žåã®å¯Ÿå¿ã®èšå®æ¹æ³ ãšãŠãç°¡åã§ãïŒ minicomã¿ãŒããã«ãšãã¥ã¬ãŒã¿ãä»ããŠä»®æ³com-port " / dev / ACM0 "ãéããŸã
$minicom -D /dev/ACM0 -b 115200
ã³ã³ãœãŒã«ãå
¥æããŠãã ããïŒ æ¬¡ã«ãã³ãã³ããå
¥åããŸãã
> set_name VOLUME_UP # .
ãã¿ã³ã®ãšã€ãªã¢ã¹ã¯AT24C16 2KB EEPROMã«ä¿åãããŸãã ããã«ããªã¢ã³ã³ã®ãã¿ã³ãæŒãããšãã«ç¹°ãè¿ãæŒãé床ãªã©ã®ãã©ã¡ãŒã¿ãŒããããŸãã 次ã®ã³ãã³ãã§ã€ã³ã¹ããŒã«ã§ããŸãã
> repeat_speed 500
ãŸã ã§ãã
> eeprom print 1 60 # 1 60
ãŸãã楜ããããŒã
> eeprom format #
ãããã«
è¿ãå°æ¥ãArduino SDKã®ã©ã€ãã©ãªãäœæããŸãã
äŸã«ã€ããŠã¯ãœãŒã¹ãåç §ããŠãã ãããunix*ããã³AVRã®äŸããããŸãã AVRã®å Žåã¯ãhexãã¡ã€ã«ãããŠã³ããŒãããŠãã©ãã·ã¥ããè©ŠããŠã¿ãŠãã ããïŒ ãã®ã¢ããªã±ãŒã·ã§ã³ã§ã¯ãããŒãPORTBããã³PORTDã®å ¥å/åºåã©ã€ã³ãæå¹/ç¡å¹ã«ããããšãã§ããŸãã
ãããããã£ãã§ããïŒD
ãæž èŽããããšãããããŸããïŒ
github github.com/Helius/microrlãžã®ãªã³ã¯