åã® 2ã€ã®èšäºã§ã¯ãåçãªããã»ã¹ãèªåã¹ã¿ã€ã«ã§èšè¿°ããããã«äœ¿çšãããç¶æ
å³ãšé·ç§»ã«ã€ããŠèª¬æããŸããããŸããç¶æ
å³ãšé·ç§»ã¯ãã®ãããªããã»ã¹ãæãããçè§£ãããã®ã§ãã ãŸããç¶æ
å³ã«ãã£ãŠå®çŸ©ããããªãŒãããã³ãå®è£
ããããã®åºæ¬çãªæ¹æ³ãæ€èšãããèªåããã°ã©ãã³ã°ã«ãã£ãŠããããç¶æ¿ãããèªååè·¯ã®ã¢ãŒãã£ãã¡ã¯ããæŠèª¬ãããŸããã ãããããããŸã§ããã®åé¡ã¯ãŸã£ããæèµ·ãããŠããŸããã èªå·±å®è£
ããã°ã©ã ã¯ã©ã®çšåºŠå¹æçã§ããïŒ
ç§ã¯è³ªåãå¥ã®æ¹æ³ã§å®åŒåããŸãïŒ èªå·±èšèšãããããã°ã©ã ã¯ã©ãããã广çã§ããïŒ ãã®è³ªåã®æèšã¯ãèªååãããèšèšã髿§èœããã°ã©ã ã®ãœãŒã¹ã§ããããšã瀺åããŠããŸãã å¹çæ§ãªã©ã®éèŠãªãããã¯ã«ã€ããŠã¯ãŸã è§ŠããŠããŸããããããã£ã¹ãã¬ã€ãã®äŸã¯ãèªåèšèšã®æå¹æ§ã瀺ãã®ã«çæ³çã§ãã æåã®èšäºã§ã¯ãèªè
ã«ãã®ã¢ãžã¥ãŒã«ã®ãå®éšå®€ãããŒãžã§ã³ã玹ä»ããŸãããããæŠéãããŒãžã§ã³ããã¹ãããŸãããã®èšèšããã»ã¹ã«ã€ããŠã¯ã次ã®èšäºã§èª¬æããŸãã ããã©ãŒãã³ã¹èª¿æ»ã¯ãmsp430ããã³CortexM3ãã©ãããã©ãŒã ã§å®è¡ãããŸãã
䞻芳çã§ã¯ãªããæå¹æ§ãè©äŸ¡ããã«ã¯ãçµæãäœããšæ¯èŒããå¿
èŠããããŸãã ãã®ããã michael_vostrikovãã芪åã«æäŸãããããã£ã¹ãã¬ã€ãã®äŸã®éæåå®è£
ã«å¯ŸããŠåããã¹ãã»ããã宿œããŸãã
ç®æ¬¡ã
åã®èšäº
ãªãŒãããã³-A2ã§ã¯ãªããæ¡ä»¶ä»ãã§ãªãŒãããã³å®è£
A1ãåŒã³åºããŸãã å
ã®A2ã¯JavaScriptã§èšè¿°ãããŠããŸããããããã®å®è£
ãåçã®æ¡ä»¶äžã§èª¿æ»ã§ããããã«ããããã«ã ããŒãžã§ã³A2ãC ++ã«ããŒã«ããŸãã ã 圌ããå§ããŸãã
ïŒFSM ||ïŒFSMïŒïŒ
å®è£
A1ã®å Žåãšåæ§ã«ããªãã·ã§ã³A2ã¯ãããã¹ãããããã¯ã«åå²ããã¢ãžã¥ãŒã«ãšããã¹ããããã¯ã衚瀺ããã¢ãžã¥ãŒã«ã«åãããŠããŸãã
å³1.ã¢ãžã¥ãŒã«ãA2 :: Displayãã®å€§èп𡿧é ãããã¯ãã¬ãŒã«ãŒã¯ã颿°A2 :: tDisplay :: Out_textã§è¡šãããŸãã 圌女ã®åæãããç§ãæ¡ä»¶ä»ãã§ãéèªåããšåŒãã§ãããªãã·ã§ã³A2ã¯ãç¶æ
å³ã§èª¬æãããŠããå
žåçãªãªãŒãããã³ã«ãã£ãŠå®è£
ãããŠããããšãæããã§ãã
å³2.ãªãã·ã§ã³A2ã ãããã¯å岿©ã ç¶æ
å³ãœãŒã¹ã®ç¶æ
ã匷調ããããã«ãè²ã§åŒ·èª¿è¡šç€ºããŸãã
å³3.ãªãã·ã§ã³A2ã ãããã¯å岿©ã ã匷調衚瀺ãç¶æ
ã®ããã°ã©ã ã®ãœãŒã¹ã³ãŒããªãŒãããã³A2 :: tDisplay :: Out_textã¯ãååã®èšäºã®äŸã«ç¶ããªãŒãããã³ã®å®è£
ã®å¥ã®äŸã§ãã æç€ºçã«å²ãåœãŠããã2ã€ã®ç¶æ
ãšãçŸåšã®å
éšç¶æ
ãå®çŸ©ãã倿°ïŒesc_modeïŒããããŸãã ãã®å€æ°ãboolåã§ãããšããäºå®ã¯ãå°ãªããšããã®èœåãäœäžãããŸããã
ãªãã·ã§ã³A1ã®åæ§ã®ãªãŒãããã³ãèããŠã¿ãŸããã
å³4.ãªãã·ã§ã³A1ã ãããã¯å岿©ã ç¶æ
å³ãœãŒã¹ã³ãŒãïŒãªãã·ã§ã³A1ã ãããã¯å岿©ã ããããªãŒãããã³ã§ããã3ã€ã®äžæã«åºå¥ãããç¶æ
ãããããããã®éã®é·ç§»ãæç¢ºã«ç»é²ãããŸããå
éšç¶æ
ãèšè¿°ããç¹å¥ãªå€æ°ã¯ãããŸããããããã°ã©ã æ§é ã¯ããã°ã©ã ã«ãŠã³ã¿ãŒããã®å€æ°ã§ãããããªãã®ã§ãã ãã€ïŒ
衚1. ããã°ã©ã ã«ãŠã³ã¿ãŒã®å€ãšããã°ã©ã ã®çŸåšã®å
éšç¶æ
ã®å¯Ÿå¿
ç¯å²å
ã®ãœãããŠã§ã¢ã«ãŠã³ã¿ãŒå€ | ããã¯ç¶æ
ã«å¯Ÿå¿ããŸã |
state__inside_text_block | state__out_text_block | ããã¹ã ã¢ãŒã |
state__out_text_block | state__control_processing | ããã㯠åºå |
ç¶æ
__ å¶åŸ¡ _ åŠç | ãµã€ã¯ã«ã®çµãããŸã§ | å¶åŸ¡åŠç ã·ãŒã±ã³ã¹ |
A2ã®å Žåã倿°å
éšç¶æ
ã®åœ¹å²ã¯ãboolåã®å€æ°ãA1ã®å Žåã¯ããã°ã©ã ã«ãŠã³ã¿ãŒãããã³ããã«ããããããããããã¯èªåçã«å®è£
ãããã¢ã«ãŽãªãºã ãšçºé³ãããŸãã A2ãªãã·ã§ã³ã¯Milesãã·ã³ã§ããããšãæãåºãããŠãã ããã ã ãŒã¢ãªãŒãããã³ïŒãªãã·ã§ã³A1ïŒãšã¯ç°ãªããåºåä¿¡å·ïŒãŸãã¯ã¢ã¯ã·ã§ã³ïŒã¯æ¥åã§ã¯ãªããé·ç§»ç¢å°ã®äžãé·ç§»æ¡ä»¶ã®åŸã®ã¹ã©ãã·ã¥ã®åŸã«æžã蟌ãŸããŸãã
A2 :: OAã
ããã¹ããããã¯åºåãã·ã³ã«ç§»åããŠãA2 :: Displayãªãã·ã§ã³ã®åæãç¶ããŸãã ãã®ãã·ã³ã¯ãåããã·ã³ããŒãžã§ã³A1ãšã¯å€§ããç°ãªããŸãã
ãã®ãã·ã³ã®ãœãŒã¹struct tFont_item{ u1x Width; const u1x * Image; }; union { u2x Data; u1x Array[2]; }Symbol_buffer;
ãã®å®è£
ã§ã¯ãæåã®åé¡ã¯å®è¡ãããŸããããããã£ãŠã ããã¹ããããã¯åºåãªãŒãããã³ã® UAã®æäœã¯ã衚瀺ãããåã·ã³ãã«ã®æäœã·ã³ãã«è¡šç€ºãªãŒãããã³ãžã®çŽæ¥åŒã³åºãã«åæžãããŸãã
å³5.ããã¹ããããã¯åºåãã·ã³ãå¶åŸ¡ãã·ã³ãããããªãŒãããã³ã¯æåå®è£
ã®ã©ãããæ¥ãã®ã§ããããïŒ A2ã®å®è£
ã¯ãæ¡ä»¶ä»ãã§éèªåãšåŒã°ãããšããäºå®ã«ãããããããéçšãã·ã³ã«ãåºã¥ããŠããŸãã ããã¯æãåçŽãªã©ã³ãã ãããããããã·ã³ã§ãã
å³6.äŸA2ã®èªåæ©åè¿°ã®ããã«ã皌åäžã®ãã·ã³ã¯ãæå¹ãªãã©ã¡ãŒã¿ãŒã䜿çšããŠäœããã®ã¢ã¯ã·ã§ã³ãå®è¡ã§ããå補åã§ãã çµã¿åãããã¿ãŒã³ã«çž®éããããšãã§ããŸãã ããã®äž»ãªèŠä»¶ïŒæå€§ã®ã·ã³ãã«ããæå€§ã®å¹çã ãããã®èŠä»¶ã¯ã次ã«ç€ºãããã«ççŸããŸãã
ã¢ã«ãŽãªãºã ã®åçŽãã®èгç¹ãããã©ã³ãã ãªãããåäœã®è»¢éæŒç®åã¯åªããŠããŸãã ããã¯æ®éçã§ãæåãžã§ãã¬ãŒã¿ã®ä»»æã®ãã¯ã»ã«ãæååãããã¡ãŒã®ä»»æã®ãã¯ã»ã«ã«ã³ããŒã§ããŸãã ãã®å Žåã®OAã®ãã©ã¡ãŒã¿ãŒåã¯ãæãåçŽãªå¶åŸ¡ãªãŒãããã³ã«ãã£ãŠå®è¡ãããŸãã
å³7.å¶åŸ¡åºåãã·ã³ãã®äŸã¯ãåçŽãªå¶åŸ¡ããžãã¯ãåããã»ãšãã©ã®ããã°ã©ã ãèªåçã«å®è£
ãããããšã瀺ããŠãããå¶åŸ¡ããžãã¯ã®é次çãªè€éããçºçãããšèªåŸæ§ãçŸããŸãã æç€ºçãªãªãŒãããã³ãšããŠã¢ã«ãŽãªãºã ãèšèšããŠããªãå Žåãããã°ã©ã ãé æ¬¡è€éåããããšã«ãããå¥ã®ããããå¥ã®ãæŸèæãã远å ããåŸããæ§é é·ç§»ããçºçããããšããããŸã-èªååãæ¶ããèšäº2ããã³3ããéæåã®äŸã®ãããªãã®ãåŸãããŸã
å³8.éæåã¢ã«ãŽãªãºã ããã§ãA2ã®çŽç²ãªåœ¢åŒã§ã®å®è£
ãèªåã§ããããšã確èªããæ©äŒããããŸããããããã¯ã©ãã»ã©å¹æçã§ããïŒ
A1察A2
åé¡ã®å®è£
ã®æå¹æ§ãæ¯èŒããå¯äžã®æ¹æ³ã¯ããã¹ãããããšã§ãã ãã¹ãã«ã¯ãIARéçºç°å¢ã䜿çšããŸã ã
æåã®ãã¹ãäŸã¯ãç»é¢å
šäœããè¡ãæ¶ãããŸã§ãå³ããå·Šã«èµ°ãè¡ãšããŠè¡šç€ºããããã«ã¹ã¯ãªãŒã³ã®æååã§ãã ç©ççãªåºåã¯ãããŒã¿ãI / OããŒãã«åºåããããšã§ãšãã¥ã¬ãŒããããŸãããããã¯æåã®è¿äŒŒã§ã¯äºå®ã§ãã
ãã©ã³ã6x9ããã£ã¹ãã¬ã€256x64ã æé©å-æé«é床ã
char Test_text[43]; int main( void ) { for(int i = 0; i < 42; i++) Test_text[i] = 'A' + i; Display = new tDisplay(256,64,16); for( int i = 0; i > -270 ; i-- ) { Display->Out_text(0,0,256,64,i,0, (uchar*)Test_text); } }
IARã«æžã蟌ãå Žåãæž¬å®æ¹æ³ã«ã€ããŠèªããšåœ¹ç«ã€å ŽåããããŸããïŒã³ã³ãããŒã©ãµã€ã¯ã«ã§ïŒäœæ¥æéãæž¬å®ããã«ã¯ãIAR C-SPYã·ãã¥ã¬ãŒã¿ã䜿çšããŸãã ã³ã³ãããŒã©ãŒãµã€ã¯ã«ã¯ãCTIMER1ãšCTIMER2ã®2ã€ã®ç¹å¥ãªã«ãŠã³ã¿ãŒãã«ãŠã³ãããŸãã ãããã¯ã
View-> Registerã¿ãã®ãããã°ã¢ãŒãã§èŠã€ããããšãã§ããC-SPY IARãããã¬ãŒå€æ°ã§ãã åçµæãæåã§ååŸããªãããã«ããããã¬ã®ãã¯ãæ©èœã䜿çšããŠãçµæããã¡ã€ã«ã«èªåçã«ãã³ããããŸãã
ãããè¡ãã«ã¯ãIARãšãã£ã¿ãŒã§ãã¡ã€ã«ãäœæãã
cspy_1.macãšããååã§ä¿åããŸããã ãã¡ã€ã«ã«ãã¯ã颿°ãå«ãããã¹ããé
眮ããŸãã
__var filehandle;
ããã¯Cã«äŒŒãèšèªã§ãããCã§ã¯ãªããéåžžã«åçŽã§ãããIARãã«ãã§è©³ãã説æãããŠããŸãã æ¬¡ã«ããã®ãã¡ã€ã«ããããžã§ã¯ãã«æ¥ç¶ããŸããã ãããè¡ãã«ã¯ã
[ãããžã§ã¯ã]-> [ãªãã·ã§ã³]ã§
[ ãããã¬]ãéžæãã
[ ãã¯ããã¡ã€ã«ã䜿çš]ãã§ãã¯ããã¯ã¹ã
ãªã³ã«ã ã
cspy_1.macãã¡ã€ã«ãéžæã
ãŸãã ã
å³spã1ã ãã¯ã颿°ãã¡ã€ã«ããããžã§ã¯ãã«æ¥ç¶ããcspy_1.macã§èª¬æãããŠãããã¯ã颿°ã¯ãå³4ã«ç€ºãããŠãããã¬ãŒã¯ãã€ã³ãã«æ¥ç¶ãããŠããŸãã sp.2ã
å³sp.2ã ãã¬ãŒã¯ãã€ã³ããæ¥ç¶ãããããè¡ãã«ã¯ãç®çã®äœçœ®ã«ãã¬ãŒã¯ãã€ã³ããé
眮ããŸãã ããã¹ãã®å·ŠåŽã«ããç°è²ã®ããŒãããã«ã¯ãªãã¯ãããšããã¬ãŒã¯ãã€ã³ããèšå®ããã³åé€ãããŸãã ãã¹ãŠã®ãã€ã³ããèšå®ãããã[衚瀺]-
> [ãã¬ãŒã¯ãã€ã³ã ]ã¿ããéãå¿
èŠããããŸã
å³sp.3ã ã«ã¹ã¿ãã€ãºé¢å¿ã®ãããã€ã³ããå³ã¯ãªãã¯ããŠ[ç·šé]ãéžæãããšã[
ãã¬ãŒã¯ãã€ã³ãã®
ç·šé]ãŠã£ã³ããŠã衚瀺ãããŸã
å³sp.4ã ã«ã¹ã¿ãã€ãºè¡šç€ºããããŠã£ã³ããŠã«ãå¿
èŠãªæ©èœã®ååãç»é²ãããŸãã 1ãšããŒã¯ããããã£ãŒã«ãã«ç»é²ãããšãæå®ããã颿°ã¯ã忢ãçºçãããšãã«ã®ã¿åŒã³åºãããŸãã ããã°ã©ã ã忢ããã«ãæå®ããã颿°ãåŒã³åºãã«ã¯ããã®ååããã£ãŒã«ã2ã«æžã蟌ãå¿
èŠããããŸããããã«ãããããã°ã©ã ã忢ãããã©ãããæ±ºå®ããããã«ã忢ããåã«ãã®é¢æ°ãåŒã³åºãããŸãã 察å¿ãããã¯ã颿°ã1ãè¿ãå Žåã忢ãè¡ãããŸãã颿°ã0ãè¿ãããäœãè¿ããªãå Žåã忢ã¯ãããŸããã æå®ããããã¯ã颿°ã¯ã察å¿ããCããã°ã©ã åŒããã¬ãŒã¯ãã€ã³ãã§å®è¡ããããŸã§å®è¡ãããŸãã
調æ»çµæã¯ã°ã©ãã«ç€ºãããŠããŸãã
å³9.æåã®ãã¹ãã®çµæãªãã·ã§ã³A2ã®å Žåãè¡ãå®éã«åºåãŠã£ã³ããŠã®ç«¯ãè¶
ããŠå»¶ã³ãŠããå ŽåãçµæãšããŠäœã衚瀺ããªãããã«ããªãã®æ°ã®ãµã€ã¯ã«ãè²»ããããããšãæç¢ºã«ããããŸãã æ€èšŒãªãã·ã§ã³ã¯å¯èœã§ãããåºåãããã®ãããå Žåãã¢ã«ãŽãªãºã ãããã«é
ãããŸãã ãªãã·ã§ã³A1ã®å Žåãã©ã€ã³ããŠã£ã³ããŠãåºããšãåŸªç°æ¶è²»éã¯3000ãµã€ã¯ã«ã®ãªãŒããŒã®å€ãŸã§äœäžããŸãã ãã®åäœã¯ãããšããšãªãŒãããã³ã®é©åãªç¶æ
ãéžæããããšã§ã¢ã«ãŽãªãºã èªäœã®æ§é ã«çµã¿èŸŒãŸããŠããŸããïŒæ¬¡ã®èšäºã§ã¯ãA1ã®äŸã䜿çšããŠéçºããã»ã¹ã説æããŸãïŒã远å ã®ãã§ãã¯ã¯äžèŠã§ãã
æåã®äŸã§ã¯ãããã2ã€ã®ã¢ã«ãŽãªãºã ãã¯ãªãŒãã©ã€ã³ã¢ãŒãã§ã©ã®ããã«æ©èœãããã«ã€ããŠã®äžè¬çãªã¢ã€ãã¢ã瀺ããŸãããDisplayã¢ãžã¥ãŒã«ã®äž»ãªçšéã¯ãç»é¢äžã®ä»»æã®äœçœ®ã«å®å
šã«åãŸãããã¹ãã®éåžžã®åºåã§ãã ã¡ã€ã³ã¢ãŒãã§ã®ã¢ãžã¥ãŒã«ã®åäœã調ã¹ãããã«ããã¹ãäŸã䜿çšããŸãã
char Test_text[32]; int main( void ) { for(int i = 0; i< 31; i++) Test_text[i] = 'A' + i; Display = new tDisplay(256,64,24); for( int j = 0; j < 31; j++) { for( int i = 0; i < 8; i++) { Display->Out_text(0,0,256,64,i,0, (uchar*)&Test_text[31-j]); } } }
ãã®ãã¹ãäŸã§ã¯ã0ã31æåã®ç°ãªãé·ãã®è¡ããã©ã³ã6x9ã衚瀺ããŠããŸãã åè¡ã¯æåã«ã·ãããªãã§è¡šç€ºãããæ¬¡ã«å³ã«1ãã¯ã»ã«ã次ã«2ãã¯ã»ã«ãã€ã·ããããŠè¡šç€ºãããŸãã æå€§8ãã¯ã»ã«ã ããã¯ãç»é¢äžã®ããŸããŸãªäœçœ®ã§ã®ããã¹ãã®åºåãã·ãã¥ã¬ãŒãããŸãïŒäž¡æ¹ã®ã¢ã«ãŽãªãºã ã圱é¿ãåããŸãïŒã
å³10.åŸªç°æ¶è²»ã«å¯Ÿãããã€ãå¢çããã®åºåãŠã£ã³ããŠã®åæã·ããã®åœ±é¿çµæã¯ã·ããå
šäœã§å¹³ååãããŸãããã®çµæãç»é¢äžã®è¡ã®åæäœçœ®ã«äŸåããªãå€ãååŸãããŸãã
å³11. 6x9ãã©ã³ãã®ããã¹ãæåååºåäºæ³ã©ãããåŸªç°æ¶è²»ã®å€ã¯ãæååã®æåæ°ã®å¢å ãšãšãã«çŽç·çã«å¢å ããŸãã ãªãã·ã§ã³A1ã®å Žåã ç¹å®ã®åŸªç°æ¶è²» ïŒã·ã³ãã«ãããã®ãµã€ã¯ã«ïŒã¯ã·ã³ãã«ããã1200ãµã€ã¯ã«ããªãã·ã§ã³A2ã®å Žåã¯5913ãµã€ã¯ã«ïŒæé©åããªã³ãŒã«ãæå€§é床ïŒã§ãã
å³12.äžè¬çãªãªãŒããŒããããç¹å®ã®åŸªç°æ¶è²»ãããã³ã¢ã€ãã«ãµã€ã¯ã«æ¶è²»ã®çšèªã®èª¬æç·éæ¥è²»ã¯3431ïŒA1ïŒããã³16433ïŒA2ïŒã§ãã ã¢ã€ãã«ãµã€ã¯ã«ã®æ¶è²»ã«æ³šæãã䟡å€ããããŸã ãã€ãŸããé·ã0æåã®æååãå
¥å-118ïŒA1ïŒããã³13548ïŒA2ïŒãµã€ã¯ã«ã«äŸçµŠãããå Žåã§ãã ãã®ãããªå€§ããªéãã¯ããªãã·ã§ã³A2ã®ã©ã€ã³ãããã¡ã®ãã©ãã·ã¥ã«é¢é£ããŠããŸãã ããã«æåã\ 0ãã®ãœãŒã¹æååããã§ãã¯ããããšã«ãããç©ºã®æååã®ã©ã€ã³ãããã¡ã®ã¯ãªãŒãã³ã°ãæé€ããã¢ã€ãã«ãµã€ã¯ã«ã®æ¶è²»ãA1ã«å¹æµããå€ã«æžããããšãã§ããŸãã ã©ã€ã³ãããã¡ãããè©³çŽ°ã«æ€èšããæ£åœãªçç±ãããããã«ãæå³çã«ãããå®è¡ããŸããã§ããã å°æåã®ãããã¡ã䜿çšããããšã¯ããªãŒããŒãããã倧ãããªãäž»èŠãªèŠçŽ ã§ãã æåã«ãsetPixelInBuffer颿°ãæžãæããããšã«ãããã©ã€ã³ãããã¡ãŒãã¯ãªãŒãã³ã°ããæäœãæé€ã§ããŸãã
void setPixelInBuffer(int x, int y, bool bit) { int bitNumber = (x & 7); int byteNumber = x >> 3; if (bit) { Line_buffer[y][byteNumber] |= (0x80 >> bitNumber); } else { Line_buffer[y][byteNumber] &= ~(0x80 >> bitNumber); } };
ãã ãããã®å Žåã¯å éã§ã¯ãªããæåããšã«ã¢ã«ãŽãªãºã ãçŽ1.5åïŒ6x9ãã©ã³ãã®å ŽåïŒé
ããªããŸããããã¯ãã©ã€ã³ãããã¡ãŒã®ã¯ãªãŒãã³ã°æã«ãã¹ãŠã®ãçœããã¯ã»ã«ãäžåºŠã«åºåããããã®ããŒãžã§ã³ã§ã¯åãçœããã¯ã»ã«ãåå¥ã«è¡šç€ºãããããã§ã ã°ã©ãåç ãã®å Žåã«å€æããç»åã衚瀺ããŸãã
å³13.ã©ã€ã³ãããã¡ãã¯ãªãŒãã³ã°ããå Žåãšããªãå Žåã®å®è£
ã®éãã©ã€ã³ãããã¡ã«é¢é£ãã2çªç®ã®åé¡ã¯ãã©ã€ã³ãããã¡ãã¯ãªãŒãã³ã°ããå¿
èŠæ§ãšã¯é¢ä¿ããããŸããããååšããŸãã å¹
256ãã¯ã»ã«ã§æå€§ãã©ã³ãé«ã24ãã¯ã»ã«ã®ãã£ã¹ãã¬ã€ã®å Žåãã©ã€ã³ãããã¡ãŒã®ãµã€ãºã¯768ãã€ãã§ãã äžè¬çãªãå°åããã€ã¯ãã³ã³ãããŒã©ãç¹ã«msp430ã§ã¯ãRAMäžè¶³ã®åé¡ãäžè¬çã§ãã ã©ã€ã³ãããã¡ãªãã·ã§ã³ã«ã¯ä»¥äžãå¿
èŠã§ãã
ããã¯ã2ã4 kbã®RAMããªã¥ãŒã ãåãããã€ã¯ãã³ã³ãããŒã©ãŒã«ãšã£ãŠã¯éåžžã«ç¡é§ã§ãã ããã¯ãåãã³ã³ãããŒã©ãŒã«60 kbã®ROMãå«ãŸããŠãããtDisplayã¢ãžã¥ãŒã«ã®ããã°ã©ã ã³ãŒããåã2 kbã®ã³ãŒã-3.2ïŒ
ãå ãããšããäºå®ã«ããããããã§ãã åºæ¬çãªå
¥åºåæ©èœïŒå®è¡äžã®è¡ãšä»®æ³åºåãŠã£ã³ããŠã®å¹æçãªå®è£
ãæ¢ã«å«ãŸããŠããŸãïŒã®3.2ïŒ
ã¯éåžžã«èš±å®¹ã§ããŸããã1ã€ã®ããã¹ãåºåæäœã®RAMã®41.5ïŒ
ã¯é倧ãªè²»çšã§ãã 4 KBã®RAMã§ããå
ç¢ãªmsp430f2616ã䜿çšããŠãã20ïŒ
ã¯ãŸã å°ãããããŸããã
ç§ãã¡ã¯mspã«ã€ããŠè©±ããŠããã®ã§ãçãšãã«ã€ããŠèšãã®ã¯å Žéãã§ã¯ãããŸããã ããã¯ãããããªãŒé§åã®ããã€ã¹ã§ã®äœ¿çšã«æé©ãªãæãæ§ãããªãã¯ãŒãã€ã¯ãã³ã³ãããŒã©ãŒã®1ã€ã§ãã ããã°ã©ã ã®é床ãè€æ°åäžãããšãå
šäœãšããŠäœæ¥ãé«éåãããã ãã§ãªãïŒããã©ãŒãã³ã¹ãåžžã«éèŠã«ãªãããã§ã¯ãããŸããïŒã ããããªãŒé»åãçŽæ¥ç¯çŽã ããã€ã¯ãã³ã³ãããŒã©ãŒãã»ãšãã©ã®æéã¹ãªãŒãã¢ãŒãã«ãªããäœæ¥æéãå»¶ã°ãããšãã§ããŸããç¹°ãè¿ãå
é»ã
ãªãã·ã§ã³A1ã¯ãã©ã€ã³ãããã¡ãªãã®ã¹ããŒã ã«åŸã£ãŠèšèšãããŠããŸãã ã€ãŸãããã®ã¢ãžã¥ãŒã«ã¯äœåãé«éã§ããã ãã§ãªããäœååãå°ãªãRAMãå¿
èŠãšããŸãã A1ã§äœ¿çšããããã·ã³ã«ã¯ãé«éãšçµæžã®2ã€ã®ãµãå®è£
ããããŸãã çµæžçãªãã®ã¯ãçŽ60ãã€ãã®RAMã§åäœããŸãã çåãèªç¶ã«çºçããŸãïŒããããA1ãªãã·ã§ã³ã¯ãã³ãŒãã®ãµã€ãºã§A2ãªãã·ã§ã³ã«è² ããŸããïŒ å®éãæå€§éåºŠã®æé©åïŒãã ãããµã€ãºã®æé©åãå®è¡ãããïŒã§ã¯ãç¹æ§ã«ãã£ãŠæ¬¡ã®å³ãåŸãããŸãã
衚2.ãœãããŠã§ã¢ã¢ãžã¥ãŒã«ã®æ¯èŒç¹æ§
| pzu | ãªã³ã¹ | æ§èœ |
a2 | 1122 | 796 + 58ã¹ã¿ã㯠| 1 |
a1ãé床 | 2088 | 240 + 26ã¹ã¿ã㯠| 4.6-7.9 |
a1ãçµæž | 2490 | 62 + 18ã¹ã¿ã㯠| 3.5-6 |
æ¯èŒã®ããã«ã6x9ãã©ã³ãã®å Žåã256æåãã¹ãŠã®ã°ãªããå®çŸ©ãããŠããæåãžã§ãã¬ãŒã¿ãŒã®ãµã€ãºã¯3344ãã€ãã§ãã
ãã©ã³ããµã€ãºã®å¢å ã«äŒŽããç¹å®ã®åŸªç°æ¶è²»éãã©ã®ããã«å¢å ããããåæããŸãããã å³ å³14ã¯ããã©ã³ã6x9ã8x16ãããã³16x24ã®ç¹å®ã®åŸªç°æ¶è²»éã®ã°ã©ãã瀺ããŠããŸããããã¯ããªãã·ã§ã³A2ã®CAå€ãé¢ç©ã«æ¯äŸãããªãã·ã§ã³A1ã®CAå€ãæåã®é«ãã«æ¯äŸããããšã瀺ããŸãã ããã匷調ããããã«ãx軞ã¯ãªãã·ã§ã³A2ã®æåã®é åãšãA1ã®è¡ã®æåã®é«ãã瀺ããŠããŸãã
å³14.ç¹å®ã®åŸªç°æ¶è²»éã®ãã©ã³ããµã€ãºãžã®äŸåæ§A2ãšæ¯èŒãããªãã·ã§ã³A1ïŒä»¥äžãé«éã®ãã¹ãŠã®æ°å€ïŒã®ç¹å®ã®åŸªç°æ¶è²»éã¯ã6x9ãã©ã³ãã§4.9ã8x16ãã©ã³ãã§6.4åã16x24ã§9.2åã§ãããå¹³åããŠæååé·ã0..31æåã®å Žåããªãã·ã§ã³A1ã¯ãã倧ãã衚瀺ãããŸãããã©ãŒãã³ã¹ã¯ã6x9ãã©ã³ãã§4.6åã8x16ã§5.8åã16x24ã§7.9åã§ãã
æªæ¥ãžã®å±æã
ãã®äžé£ã®èšäºã®ç¯å²ãã¯ããã«è¶
ããéèŠãªåé¡ãææ¡ãããŠãã ããã ãã¹ãã¢ãžã¥ãŒã«ã«ã¯æå€§éåºŠã®æé©åããããŸããã ãããã®å®è£
ãæé©åããæ¹æ³ãç¥ãããã§ãã å³ å³15ã¯ãäž¡æ¹ã®ãªãã·ã§ã³ã®ç°ãªããã©ã³ãã«ã€ããŠãæååã®é·ãã«å¿ããæé©åä¿æ°ïŒæé©åãããŠããªããã®ãšæé©åããããã®ã®æ¯çïŒã瀺ããŠããŸãã
å³15.ããã°ã©ã æé©åã®çšåºŠäž¡æ¹ã®ããªã¢ã³ãã®ãåæžãã®çšåºŠã¯å°ããããšãããããŸããããã¯ãè¯ãå®è£
ãšæªãå®è£
ã®äž¡æ¹ã«ã€ããŠè©±ããŠããªãããšãæå³ããŸãã OA + UAã ãã ããå§çž®ãªãã·ã§ã³A2ã®1.4åã§ãããªãã·ã§ã³A1ã®ã¿ã®å§çž®ãªãã·ã§ã³1.15åããã5ã8åé
ãããšã«æ³šæããŠãã ããã ãªããã£ãã€ã¶ãŒã®äž»ãªããŒã«ã§ããã€ã³ã©ã€ã³æ¿å
¥é¢æ°ãã«ãŒãã®æé©åãçãã«ãŒãã®å±éãªã©ãããã¯é©ãã¹ãããšã§ã¯ãããŸããã ããªãã¡ æšæºã®æ§é ããã°ã©ãã³ã°æ§é ãæé©åããŸãã ããããããã°ã©ã ã®åºã«ãªã£ãŠãããªãŒãããã³ïŒå³16ïŒã®æé©åãšåæ§ã«ãã¢ã«ãŽãªãºã ã®æé©åã¯çç£æ§ã®å€§å¹
ãªåäžããããããŸããããã仿¥ã®èšäºã®ã©ã€ãã¢ããŒãã§ãã
å³16.察å¿ãããªãŒãããã³ãæé©åããããšã«ããã¢ã«ãŽãªãºã ã®æé©åãã®ããšãããåºç¯å²ã«ãããçµè«ãåŒãåºãããšãã§ããŸããã³ãŒããªããã£ãã€ã¶ãŒã®é²åçµè·¯ã®1ã€ã¯ãã¢ã«ãŽãªãºã ã®ãªãŒãããã³ãžã®å€æãšãçµæã®ãªãŒãããã³ã®æé©åã«é¢é£ããŠããŸãã ãã ããäŸA2ã«ã¯éåžžã«åå§çãªãªãŒãããã³ãååšãããããããããããã«æé©åããå Žæã¯ãããŸããã A2ãšæ¯èŒããå Žåã®ã¢ã«ãŽãªãºã A1ã®å€§å¹
ãªå¹çã¯ã éçšãªãŒãããã³ãæ§ç¯ããããã®æ ¹æ¬çã«ç°ãªãã¹ããŒã ã®äœ¿çšã«ãããã®ã§ãã ãããã£ãŠããªãã·ã§ã³A2ã®å¹çãé«ããã«ã¯ããªãã·ã§ã³A2ã®æ§é ãæé©åããã«ãA1ããOAãååŸããå¿
èŠããããŸãã ãèªååããããã³ãŒãæé©åã«ã¯ãããããæ¬¡ã®ãã®ãå«ãŸããŸãã
1. OA RefãšUA Refãžã®ãœãŒã¹ã³ãŒãã®èªååå²ã ã»ãšãã©ã®å Žåãè¡åã®åæããã¿ãŒã³ã®æ€çŽ¢ã«ãªããŸãã ãã®å Žåã®ãªãŒãããã³ã¯ã誰ã«ãã£ãŠãååŸãããŸããããããŒã¿ããŒã¹å
ã«ããããããã£ãŠåé¡ã§ãããªãŒãããã³ã§ãã ãããã£ãŠãOAã®åäœã説æããã«ã¯ãäœããã®æšæºãå¿
èŠã§ãã ç¶æ
å³ãšé·ç§»å³ã¯ååãšããŠåãåäœã説æããŠããã ãã§ãããçŽèгã§ã¯1ã€ã®ç¶æ
å³ãšé·ç§»ã ãã§ã¯ååã§ã¯ãªãããšã瀺åããŠããŸãã
å³17.ä»»æã®ããã°ã©ãã³ã°èšèªã®ããã°ã©ã ã³ãŒããããªãŒãããã³ãååŸãããœãŒã¹ã³ãŒãå
ã®ãªãã¬ãŒãã£ã³ã°ãã·ã³ã®èªåèªèãšåé¡ã¯ãç¶æ
å³ïŒããšãã°ãIAR visualStateãäœæããïŒã«åŸã£ãŠãã·ã³ã³ãŒããçæãããããå®è£
ãé£ããããããã£ãŠãéçºããŒã«ã¯1ã¯é€å€ãããéçºã¯2ããéå§ãããŸãã
2.ããŒã¿ããŒã¹ã§å©çšå¯èœãªOAã®ã»ããããæã广çãªOAã®æ€çŽ¢ã¯ããããããšã³ãžã³ã§ãã¬ãŒãã³ã°ããããã¥ãŒã©ã«ãããã¯ãŒã¯ã«åºã¥ããŠãæ€çŽ¢ãšã³ãžã³ã«ãã£ãŠå®è¡ãããŸãã ããªãã¡ ããŒã¿ããŒã¹ã§å©çšå¯èœãªæ¢è£œã®ã»ããããæé©ãªãœãªã¥ãŒã·ã§ã³ãéžæããŸãã ããŒã¿ããŒã¹å
ã®æ¢è£œã®ãœãªã¥ãŒã·ã§ã³ã¯ãããã°ã©ããŒããããšãã°éºäŒçã¢ã«ãŽãªãºã ã䜿çšããŠãªãã¬ãŒãã£ã³ã°ãã·ã³ãããã€ãã³ã°ãããç¹å¥ã«èšç·Žãããããã°ã©ã ã«ãã£ãŠãåæèç©ãã®æä»£ã«éçºããããšæ³å®ãããŠããŸãã
å³18.广çãªãœãªã¥ãŒã·ã§ã³ã®æ€çŽ¢3.éžæããOAã«å¯Ÿå¿ããå¶åŸ¡ãã·ã³ãã»ããã¢ããããŸãã ãªãŒãããã³ãã³ãŒãã«å€æããŸãã
å³19.æé©åãããå®è£
äžèšã®æé ã®åŸã远å ã®ã³ãŒãæé©åãå®è¡ã§ããŸãïŒä»æ¥ãšåãããšãæé©åãšåŒã³ãŸãïŒã
åè¿°ã®ããšã¯ãæäœãªãŒãããã³ãèšè¿°ããããã®æšæºãå¿
èŠã§ããããšãæå³ããŸãã èšè¿°ã¯ãã§ã«ã³ãŒãã®åœ¢åŒã§æ ŒçŽãããŠãããããè«çã¹ããŒã ïŒVHDLïŒã®æå³ã§ã¯ãªãã圌ãã§ããããšãšãã®é©çšæ§ïŒåäœã®èšè¿°ïŒã®ã¡ã¿æ
å ±ã®ã»ããããªãŒãããã³ãèªåçã«æ€çŽ¢ã§ããããã«ããã¡ã¿æ
å ±ã®æå³ã§-ããŒãããŒãããšãã°ããã®AAããããã³ã°ã§ããAAã ç¶æ
ãšé·ç§»å³ã¯ãééããªããã®ãããªèšè¿°ã®èŠçŽ ã®1ã€ã§ãã
äžèšã®ããã«ãããã¯ãå®¶æã«ãã£ãŠåé¡ãããäžèšã®èª¬æãšãšãã«æäŸãããã以åã«éçºãããæšæºã®ç¹å®ã®ã©ã€ãã©ãªãæå³ããŸãã ãã®ã©ã€ãã©ãªã®ãªãã¬ãŒãã£ã³ã°ãã·ã³ã¯ãããšãã°CãŸãã¯ã¢ã»ã³ãã©ã§æ¢è£œã«ãªããŸãã åOAã¯é©åãªå¶åŸ¡ãªãŒãããã³ã«å¯Ÿå¿ããç¶æ
å³ã®åœ¢åŒã§ä¿åãããŸãã
ãªãã¬ãŒãã£ã³ã°ãã·ã³ã¯ç¹å®ã®ã¿ã¹ã¯ãšãã©ãããã©ãŒã ã«åãããŠèª¿æŽãããéåžžã«å¹ççãªãœãªã¥ãŒã·ã§ã³ã§ããããããã®ãããªã¹ããŒã ïŒã€ãŸããã³ãŒãã®åœ¢ã®OAãšå³ã®åœ¢ã®UAïŒãæãŸããã§ãã äžæ¹ã§ããã®OAã®ç¹æ§ã¯ãå¶åŸ¡ãªãŒãããã³ã«ãã£ãŠèšå®ãããå€éšãã©ã¡ãŒã¿ãŒïŒå³å¯ã«æå®ãããå¶éå
ïŒã«ãã£ãŠå€åããå¯èœæ§ããããŸãã
å¶åŸ¡ãªãŒãããã³ã¯ãåºæ¬çã«ãã£ãŒãããã¯ã«ãŒãã®åäœãèšè¿°ããã¢ãã«ã§ãã åè·¯èšèšè
ã¯ãã¢ã³ãã«ç¹å®ã®ãã£ãŒãããã¯ãèšå®ããããšã§ãå¢å¹
çŽ åèªäœã®èšèšã劚ããããšãªããã©ã¡ãŒã¿ãŒã®å€æŽãå®çŸã§ããŸãã åæ§ã«ããªãŒãããã³ã§ã¯ãAA-æäœãªãŒãããã³ã®ãã£ãŒãããã¯ïŒåOAã«å³å¯ã«æå®ãããå¶éå
ïŒã調æŽããããšã«ãããæäœéšåã倿Žããã«ãªãŒãããã³å
šäœã®ããããã£ã倿Žããããšãã§ããŸãã
ãããã£ãŠãã©ã€ãã©ãªã«æ ŒçŽãããŠããå¶åŸ¡ãªãŒãããã³ã¯ãŸã æ¢è£œã®ã¢ãžã¥ãŒã«ã§ã¯ãªããå¿
èŠãªåäœãååŸããããã«æ§æã§ããŸãããŸããæ¥ç¶ãããæµæãšã³ã³ãã³ãµã®ãã£ãŒãããã¯ãã§ãŒã³ããããããªãã¢ã³ãããç©ååšãäœæããããã«ã1ã€ã®ã¿ã€ãã®UAãOAã®ããŸããŸãªå€æŽã«é©ããŠããŸããªãã¢ã³ãã®ç¹æ§ã®ã°ãã€ãã«äŸåããŸãã , .
:
20.. , .
, . . , . , , , . , , . , , CortexM3
CortexM3
äºæ³ã©ããããã®ãã©ãããã©ãŒã çšã«ã³ã³ãã€ã«ãããäŸã¯ãããé«ãããã©ãŒãã³ã¹ã瀺ããŠããŸããæ¬åŒ§ã¯ããã©ãããã©ãŒã msp 430ãšæ¯èŒãã察å¿ããå€ã®æžå°ã瀺ããŠããŸãã衚3.ç¹æ§ã®æçµæ¯èŒ | 6x9 | 8x16 | 16x24 |
ç·ãªãŒããŒããã | ç¹å®ã®åŸªç°æ¶è²» | ç·ãªãŒããŒããã | ç¹å®ã®åŸªç°æ¶è²» | ç·ãªãŒããŒããã | ç¹å®ã®åŸªç°æ¶è²» |
msp430.a1 | 3431 | 1202 | 6122 | 2299 | 7764 | 4052 |
msp430.a2 | 15938 | 5716 | 28910 | 14318 | 42402 | 35748 |
ç®è³ªm3.a1 | 1831ïŒ1.9ïŒ | 715ïŒ1.7ïŒ | 3237ïŒ1.9ïŒ | 1370ïŒ1.7ïŒ | 4795ïŒ1.6ïŒ | 2238ïŒ1.8ïŒ |
ç®è³ª m 3. a 2 | 6182ïŒ2.6ïŒ | 2131ïŒ2.7ïŒ | 11347ïŒ2.5ïŒ | 5236ïŒ2.7ïŒ | 16440ïŒ2.6ïŒ | 13282ïŒ2.7ïŒ |
çµæã«ã€ããŠç°¡åã«ã³ã¡ã³ãããŸããã¢ã«ãŽãªãºã ã®é«éåã¯ãCortex M3ã³ã¢ã«ããåœä»€ã®ããå¹ççãªå®è¡ã«é¢é£ããŠããŸããã»ãšãã©ã®åœä»€ã¯1ã2ãµã€ã¯ã«ã§å®è¡ãããmsp430ã«ãŒãã«ã¯åœä»€ïŒå€§æåãšå°æåãåºå¥ããªãïŒã2ã3ãµã€ã¯ã«ã§å®è¡ããŸããé«éã®2çªç®ã®çç±ã¯ãããææäœã®ããå¹ççãªæäœã§ãã Cortex M3ã¯32ãããå¹
ã®ã¯ãŒããäžåºŠã«æå€§32åã®äœçœ®ã«ã·ããã§ããŸãããmsp430ã¯äžåºŠã«1ããããã€16ããããã·ããããŸãããã®å Žåãã³ãŒããµã€ãºã¯msp430ã®å¯Ÿå¿ããã³ãŒããµã€ãºãããããã«å°ãããªããŸãã1043察1122ãã€ããªãã·ã§ã³A2ããã³1914察2088ãã€ããªãã·ã§ã³A1ããã®ã¿ã€ãã®ã³ã³ãããŒã©ãŒã«200ãã€ãã®RAMãä¿åããããšã¯é¢ä¿ãªããããA1ãªãã·ã§ã³ã¯çµæžçãšã¯èŠãªãããŸãããâ . â . 1 , .