å®éã«ã¯ãããã€ãã®ã€ãã³ããç°ãªãåšæã§çºçããããšããããããŸãïŒãŸãã¯ãŸã£ããçºçããªãããšããããŸãïŒã ããšãã°ããã¯ããã«ãã§ãžã¥ãŒã¹ã泚æããããŠãŒã¶ãŒããã¿ã³ãæŒãããŸãã¯ãã±ãã売ãå Žã§ã¹ããŒã泚æããããªã©ã§ãã ãããŠãåœç€Ÿã®åŒ·åãªãã€ã¯ãã³ã³ãããŒã©ãŒã¯ãããããã¹ãŠãåŠçããå¿ èŠããããŸãã ããããæã䟿å©ãªæ¹æ³ã¯ïŒ
MacDuckã§ãžã¥ãŒã¹ã泚æããããã»ã¹ã芳å¯ããŸãããã è²·ãæã¯ããžã¥ãŒã¹ã欲ããããšèšãã1人ã®å£²ãæã¯å°åæã®äŸ¡å€ãç Žãããã1人ã¯ç»é¢ãèŠãŠãžã¥ãŒã¹ã泚ãã«è¡ããŸãã 圌ã¯ããã泚ããæã£ãŠããŠãåã³ã¹ã¯ãªãŒã³ãèŠãŠãæã£ãŠããå¿ èŠããããã®ãæ¢ããŸããã ãããŠãããã¯ç¡éã«ç¶ãããã·ããã®çµãããŸã§ç¶ããŸãã 人éã®åŽåãæ©æ¢°åŽåã«çœ®ãæããŠããã®ã§ããããèªååããŸãïŒ
åã®èšäºãèªãã åŸãæ®éã®ããã°ã©ããŒã¯åãã§åº§ã£ãŠããã®ã³ãŒãã®ãããªãã®ãæžããŸãã
bool sok=false; void thread1(void) { for(;;) if(user_want_juice()) sok=true; } void thread2(void) { for(;;) if(sok) {prinesi_sok(); sok=false; } }
ããžãã¯ã¯æ確ã ãšæããŸãã1ã€ã®ã¹ã¬ãããç¶æ³ãå¶åŸ¡ãããžã¥ãŒã¹ãæã¡èŸŒãå¿ èŠããããšãã«ãã©ã°ãèšå®ããŸãã ãããŠãä»ã¯ãã®ãã©ã°ãå¶åŸ¡ããå¿ èŠã«å¿ããŠãžã¥ãŒã¹ããããããŸãã åé¡ã¯ã©ãã«ãããŸããïŒ
æåã®åé¡ã¯ããžã¥ãŒã¹ã®æã¡äž»ãåžžã«ããžã¥ãŒã¹ãæåããå¿ èŠããããŸããããšå°ããããšã§ãã ããã¯å£²ãæãæ©ãŸããçµã¿èŸŒã¿ããã€ã¹ã®ããã°ã©ããŒã®æåã®ã«ãŒã«ã«éåããŸãããæ©èœã«äœã®é¢ä¿ããªãå Žåã¯ãã¹ã±ãžã¥ãŒã©ã«å¶åŸ¡ãæž¡ããŸããã osDelayïŒ1ïŒã貌ãä»ããŠãä»ã®ã¿ã¹ã¯ãæ©èœããããã«ããããåªå 床ãäžããŠã¹ãã³ãããããã«ããŸããéçãèããããããã§ãã éç±ããªãœãŒã¹äžè¶³ãªã©ãªã©...ãããã¯å€§ããªã³ã³ãã¥ãŒã¿ãŒã§ã¯ãããŸãã-å Žåã«ãã£ãŠã¯ãããŒãå šäœãæå°ã®ã³ã³ãã¥ãŒã¿ãŒã¯ãŒã©ãŒãããå°ããããšããããŸãã
ãããŠã2çªç®ã®åé¡ã¯ããã«æ·±ãåãããŠããŸãã ã³ã³ãã€ã©ãæé©åãããã³ãã«ãã¹ã¬ããã«ã€ããŠã§ãã 次ã«äŸã瀺ããŸãããžã¥ãŒã¹ãã¬ã€ã¯éåžžã«é«éã§ãããããäžåºŠã«3人ã®å£²ãæã«ãµãŒãã¹ãæäŸã§ããŸãã ãã®çµæãããã»ã¹ãçžäºã«ã·ããããããšãå€å žçãªã人皮ããç°¡åã«å€æããå¯èœæ§ããããŸãã
Seller1ïŒä»¥éP1ïŒããžã¥ãŒã¹ãå¿ èŠã§ãïŒãSok = true;
SokonosetsïŒããã«CïŒïŒç®ãèŠãŸãïŒãããïŒ ãžã¥ãŒã¹ãå¿ èŠã§ãã
P2ããžã¥ãŒã¹ãå¿ èŠãsok = true;
P3ãç§ãïŒãSok = true;
CïŒçµãæ±ïŒãP1-ããªãã®ãžã¥ãŒã¹ã sok = false;
æ²ãã¿ã®P2ãšP3ã
ããã°ã©ããŒã¯ãè«çãã©ã°ã®ä»£ããã«ã«ãŠã³ã¿ãŒãèããèããæãã€ããŸãã äœãèµ·ãã£ãããã«èŠããŸãã
P1 "SokuïŒ" Sok ++;
CãåŸ æ©ã
P2ããœã¯ïŒããœã¯++
P3ããžã¥ãŒã¹ã2ã€ãããŸãïŒãSok ++; sok ++;
C-P1ããžã¥ãŒã¹çšïŒãSok--;
CïŒsok> 0ïŒïŒãããããŸã å¿ èŠã§ãïŒã
-2ããããŒã«ããããŸã-;
Cããã®ä»ã
S-P3ãããããããœãã¯-;
C-ãããŠããäžåºŠéããŸã
C-P3 "pzhlsta" sok--;
Cãããã誰ããžã¥ãŒã¹ãããå¿ èŠãšããŸãããç§ã¯å¯ãŸãã
ã³ãŒãã¯çŸããæ©èœããç解å¯èœã§ãããååãšããŠãšã©ãŒã¯ãªãã¯ãã§ãã ããã°ã©ããŒã¯ã¿ã¹ã¯ãéããŠã次ãžé²ã¿ãŸãã æçµçã«ããããžã§ã¯ãã®æ¬¡ã®ãã«ãã®åã«ããªãœãŒã¹ã®äžè¶³ãå§ãŸãã誰ããunningãªïŒãŸãã¯è³¢ãïŒæé©åããªã³ã«ããããã³ã³ãããŒã©ãŒããã«ãã³ã¢ã«å€æŽããŸãã ãããŠããã¹ãŠïŒäžèšã®ã¿ã¹ã¯ã¯æåŸ ã©ããã«åäœããªããªããŸãã ããã«ãæãããããããããšããããŸãããæåŸ ã©ããã«åäœããããšãããã99ïŒ ã®å Žåããããã¬ãŒã§ã¯äžè¬ã«å®å šã«åäœããŸãã ããã°ã©ããŒã¯æ³£ããæ³£ãããå€æ°ãéçãŸãã¯æ®çºæ§ãšããŠå®£èšããããªã©ã®ã·ã£ãŒãããºã ã®ã¢ããã€ã¹ã«åŸãããã«ãªããŸãã
ãããŠãå®éã«ã¯äœãèµ·ããã®ã§ããããïŒ ãéãæãããŠãã ããã
èæšãsok--æäœãå®è¡ãããšãã å®éã«ã¯ã次ã®ããšãèµ·ãããŸãã
1. sokå€ãäžæå€æ°ã«å ¥ããŸã
2.äžæå€æ°ã®å€ã1æžãã
3.äžæå€æ°ã®å€ãsokã«æžã蟌ã¿ãŸã
ãããŠä»ãç§ãã¡ã¯ãã«ãã¹ã¬ããïŒãããŠãããããã«ãã³ã¢ïŒã·ã¹ãã ãæã£ãŠããããšãæãåºããŸãã ã¹ã¬ããã¯å®éã«äžŠè¡ããŠå®è¡ã§ããŸãã ãããã£ãŠãå®éã«ã¯ããããã¬ãŒã®äžã§ã¯ãªãã次ã®ããšãèµ·ãããŸãïŒãŸãã¯å£²ãæãšææ±æã¡æãåæã«åãå€æ°ã«å€ãããŸããïŒ
C.å€sokãäžæå€æ°ã«å ¥ããŸã
P. sokã®å€ãäžæå€æ°2ã«åã蟌ã¿ãŸãã
C.äžæå€æ°ã®å€ã1æžãã
P.äžæå€æ°2ã®å€ã1å¢ãããŸãã
P.äžæå€æ°2ã®å€ãsokã«æžã蟌ã¿ãŸã
C.äžæå€æ°ã®å€ãsokã«æžã蟌ã
ãã®çµæãsokã«ã¯æåŸ ãšãŸã£ããåãå€ããããŸããã ãã®äºå®ãçºèŠããããã°ã©ããŒã¯ãèªåã§é¹¿ããã¶ã£ãã»ãŒã¿ãŒãåŒãè£ãããç§ã¯ããã«ã€ããŠèªãã ãã©ãããã°å¿ããããŸãïŒããªã©ãšå«ã³ããã®å€æ°ãžã®ãã«ãã¹ã¬ããã¢ã¯ã»ã¹ãçŠæ¢ããã©ãããŒã§å€æ°ãæäœããããã®ã³ãŒããã©ããããŸãã éåžžã人ã ã¯ã¿ã¹ã¯ã®åãæ¿ãããã¥ãŒããã¯ã¹ã®ãããªä»ã®åæ§ã®ãã®ãçŠæ¢ããŸãã æé©åãéå§ããŸã-ãã¹ãŠæ£åžžã«åäœããŸãã ããããããã«ãããžã§ã¯ãã¢ãŒããã¯ãïŒãŸãã¯studiovsemoeã®ããŒããã¯ããŒãã€ãŸãç§ïŒãæ¥ãŠãããã°ã©ããŒã«æå©ãªã¹ã¿ãŒããäžããŸãããªããªãããã®ãããªçŠæ¢äºé ãªã©ã¯ãã¹ãŠãããã©ãŒãã³ã¹ã«å€§ãã圱é¿ããæéã«é¢é£ããã»ãšãã©ãã¹ãŠãçãããããã§ãã
ããªãã¯ããããã®ã³ãŒããæžãçŽããªããã°ãªãããããã°ã©ããŒã®æåã®ã«ãŒã«ã«éåããªãããã«ããããã®ã§ãç¶æ³ã¯ã»ãšãã©çµ¶æçã§ããããã«æããŸã...ããããç§ã¯éåžžãçªç¶èŠªåã«ãªããããªããä»èªãã§ãããã®ãäŒããŸãã
é©åãªOSã«ã¯ã»ããã©ããããŸãã FreeRTOSã«ã¯ãããã€ããªããšãã«ãŠã³ãå¯èœãã®2ã€ã®ã¿ã€ãã®ã»ããã©ããããŸãã ãã¹ãŠã®éãã¯ãã«ãŠã³ã¿ã1ã®å Žåããã€ããªã¯ã«ãŠã³ãã®ç¹æ®ãªã±ãŒã¹ã§ãããšããããšã§ããããã«ããã€ããªã¯é«éã·ã¹ãã ã§äœ¿çšããã®ã¯éåžžã«å±éºã§ãã
éåžžã®å€æ°ã«å¯Ÿããã»ããã©ã®å©ç¹ã¯äœã§ããïŒ
ãŸãããã®ã»ããã©ã®ç¶æ ãå€ãããŸã§ãã¿ã¹ã¯ã¹ã±ãžã¥ãŒã©ã«ã¹ã¬ããã«ãªãœãŒã¹ãå²ãåœãŠãªãããã«äŸé Œã§ããŸãã ã€ãŸãããžã¥ãŒã¹ã®æã¡äž»ã¯ããžã¥ãŒã¹ãå¿ èŠã§ããïŒããšå£²ãæãè ããããšã¯ãªããªããŸããã誰ãããžã¥ãŒã¹ãå¿ èŠãšãããŸã§å¥¥ã®éšå±ã®ã©ããã§ç ããŸãã
次ã«ãã¿ã¹ã¯ã¹ã±ãžã¥ãŒã©ã¯å¿ èŠãªãã¹ãŠã®ãã§ãã¯ãå®è¡ããŠãã»ããã©ãšãã®å€ã®æŽåæ§ãç¶æããŸãã ã€ãŸããç°ãªãé床ã§ãžã¥ãŒã¹ãéã¶1人ã®å£²ãæã«è€æ°ã®ãµãããŒãç«ã¡äžããããšãå¯èœã§ãããäºãã«çµ¡ã¿åããå¿ èŠä»¥äžã®ãžã¥ãŒã¹ãæã¡èŸŒãããšã¯ãããŸããã
é«éã·ã¹ãã ãšãã€ããªã»ããã©ã®åé¡ã¯äœã§ããïŒ ååãšããŠãç¶æ³ã¯éããŸã«ãªã£ããžã¥ãŒã¹çç£è ã«é¢ããæåã®äŸã«å®å šã«é¡äŒŒããŠããŸãã
McDuckã®ã³ã³ãããŒã©ãŒããã¬ãŒãããããããç·ïŒä»¥éKïŒã奪ã£ããšæ³åããŠãã ããã ãã®ã¿ã¹ã¯ã¯ç°¡åã§ã-泚æããããžã¥ãŒã¹ã®éãèšç®ããŸãã
P1-Sããžã¥ãŒã¹ïŒã
K-ãããã圌ãã¯ãžã¥ãŒã¹ã泚æããŸãããç§ãã¡ã¯å°ããªãã®ãæãå¿ èŠããããŸãïŒã
P2-Sããžã¥ãŒã¹ïŒã
P3-Sããœã¯ïŒã
ïŒãã®éãKã¯èãçªãåºããŠå£çµããŸãïŒ
K-ããã§ãç§ãã¡ã¯å°ããªãã®ãæããŸããã次ã®æ³šæãåŸ ã£ãŠããŸãã
ãåç¥ã®ããã«ãäžæ¥ã®çµããã®ããŒã¿ã¯ãŸã£ããåæããŸããã ããããã¹ã¿ãžãªã§ã¯ã©ã¹ãšããŠãã€ããªã»ããã©ã䜿çšããããšãçŠããããŠããçç±ã§ã-ã³ã³ãããŒã©ãŒã®é床ã¯åžžã«ç°ãªããŸãïŒé床ã®éãã¯ãæäœåšæ³¢æ°ã§STM32L1 / MSP430ã§ãããæ倧ã§STM32F4ã¯2æ¡ä»¥äžã§ãããã³ãŒãã¯åãããã«åäœããŸãïŒããã®ãããªãšã©ãŒããã£ããããããšã¯éåžžã«å°é£ã§ãã
ã»ããã©ã®ã«ãŠã³ãã¯ã©ã®ããã«æ©èœããŸããïŒ ããšãã°ãåããã¯ããã¯ããµã³ãã€ãããäœãéšéïŒãŸãã¯ãäžèšã§èšãã°å€§ããªããã¯ãæã€ãã³ããŒã¬ãŒã®ååã¯äœã§ããïŒïŒãèããŠã¿ãŸãããã äžæ¹ã§ãããã°ããã¯ã販売ãã売ãæãããããããŸãã ããã°ããã¯ã¯ãäžåºŠã«1ã€ãã€ã2ã€ãŸãã¯10ã€ãã€è²©å£²ãããŸãã äžè¬çã«ãããªãã¯æšæž¬ããŸããã äžæ¹ãããã°ã¡ãŒã«ãŒãããŸãã 圌ã¯äžäººãè¥ããŠçµéšã®æµ ã人ããŸãã¯çéããçŽ æ©ã人ãããããŸããã ãŸãã¯äžåºŠã«ã 売ãæã¯ãããæ°ã«ããŸãã-ããã°ããã¯ãå¿ èŠã§ããšã«ãã誰ããããããŸãã ãã®çµæïŒ
P1ã1 bigmakãå¿ èŠãïŒã»ããã©ã1kuã«çœ®ãïŒ
D1ãããããŸãããç§ã¯1ã€ã®bimakãã§ããŸãã ïŒè¥ããè¿ãã«ãªã£ãŠã0ã§ã»ããã©ãåé€ããŸãïŒ
P2ã3ã€ã®bigmakãå¿ èŠã§ããïŒã»ããã©ã3ã€å¢ãããŸãïŒ
D2ãOKããã1ã€ããã°ããã¯ãããããšãã§ããŸããïŒåŸ æ©ã®æ¬¡ã®è¡ãã»ããã©ã®2ïŒ
ïŒããã«D1ããããŸãïŒ
D1ãbigmacã䜿ããŸããããã1ã€ã§ããŸããïŒã»ããã©1ïŒ
D2ãããããŸãããç§ã¯ãã£ãããšããããŸãããã1ã€ãããŸããã ã»ããã©0
ïŒæ»ã£ãŠããã圌ã¯éãïŒ
D2ããã£ãšããã°ãããå¿ èŠã§ããïŒã 10ãã£ãã¯åŸ ã¡ãŸããããã§ãªãå Žåã¯ãç«ã¡å»ããŸãã
D1ããã¹ãŠå®äºã ç®ãèŠãŸããä»ã«ã©ã®ããã«ãããå¿ èŠã«ãªãã®ããïŒã¹ã±ãžã¥ãŒã©ã¯ã¹ã¬ãããé ãããŸãïŒ
D2ãäœãããªãïŒ ããç§ã¯å»ã£ãã Ntsikã®ç®çãã確èªããŸã ''
ãã®çµæã1人ã§ããã°ãã¯ãäœæã§ãããã10人ã§äœæã§ããŸããéãã¯ãåäœæéãããã«çæãããããã°ãã¯ã®æ°ã®ã¿ã§ãã ããŠãbigmakiãšmcdonaldsã«ã€ããŠã¯ååã§ããããããã¹ãŠãã³ãŒãã§å®è£ ããå¿ èŠããããŸãã ãã®å Žåããåã®äŸã®ããŒããšã³ãŒãã䜿çšããŸãã ç°ãªãé床ã§ç°ãªãç¹æ» ããã8ã€ã®LEDããããŸãã ããã§ããmyrgãããsandwichããšåããã®ã«ããŸãã ããŒãã«ã¯ã«ã¹ã¿ã ãã¿ã³ãããããã1åã®ã¯ãªãã¯ã§1ã€ã®ããµã³ãã€ããããå¿ èŠã«ãªãããã«äœæããŸãã ãŸãããã¿ã³ãæŒãããŸãŸã«ãããšã1ç§ããã5ã€ã®ããµã³ãã€ããããå¿ èŠã«ãªããŸãã
ãã°ããŒãã«ãã³ãŒãã®ã©ããã«ã»ããã©ãäœæããŸãã
xSemaphoreHandle BigMac;
StartThreadã¹ã¬ããã®ã³ãŒãã§ãã»ããã©ãåæåããŸã
BigMac = xSemaphoreCreateCounting( 100, 0 );
ã€ãŸããæ倧100åã®bigmakã泚æã§ããŸãã
ãããŠãç¡éã«ãŒãã®ã³ãŒãã次ã®ã³ãŒãã«å€æŽããŸã
if(HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_0)==GPIO_PIN_SET) { xSemaphoreGive(BigMac); } osDelay(200);
ã€ãŸãããã¿ã³ïŒããã³ããŒãäžã®PA0ã察象ãšããïŒãæŒãããå Žåã200ããªç§ããšã«1ã€ã®ã»ããã©ãçºè¡ããbigmaxãèŠæ±ããŸãã
ãããŠãåã³ãŒãã®ç¹æ» LEDã«è¿œå
xSemaphoreTake( BigMac, portMAX_DELAY); HAL_GPIO_WritePin(GPIOE,GPIO_PIN_15,GPIO_PIN_RESET); ...
ã€ãŸããBigMacã»ããã©ãç解ã§ãããŸã§åŸ æ©ããŠããŸãïŒportMAX_DELAYïŒã ä»»æã®æ°ã®ãã£ãã¯ãèšå®ããããportTICK_PERIOD_MSãã¯ãã䜿çšããŠåŸ æ©ããããªç§æ°ãèšå®ã§ããŸãã
泚æïŒ ã³ãŒãã§ã¯ãå¯èªæ§ãé«ããããã®ãã§ãã¯ãå°å ¥ããŠããŸããã
ã³ã³ãã€ã«ããŠå®è¡ããŸãã ãã¿ã³ãé·ãæŒãã»ã©ãLEDãç¹æ» ããŸãã ææŸã-åæ¢ããŸãã ãããã1ã€ã¯ãæéïŒããã³ãã¥ãŒå ã§æé·ïŒãç¹æ» ããªãããšã§ãã圌ã¯åã«ã泚æããåãåããŸããã OKãåãµã³ãã€ããã®é床ã50msã«äžããŸãã ããã§ãå šå¡ã«ååãªæ³šæããããå šå¡ãç¹æ» ããŠããŸãã ãã¿ã³ãæŸããŸã-ãã°ããã®éã圌ãã¯ãã©ãã·ã¥ãç¶ããåéããã泚æãè¡ããŸãã ããã¯éåžžã«è¯ãããšã§ããç§ã¯æ倧6äžåã®bigmakã泚æããããšãã§ãïŒç¬Šå·ãªãã®é·ããŸã§å¯èœïŒã泚ææéã¯10ããªç§ã«èšå®ãããŸããã
ããã§ãã¹ãŠãéåžžã«çŸãããªããŸãã-ã¯ãªãã¯ãããšLEDãç¹æ» ããŸãã ãã¿ã³ãé·æŒãããã»ã©ããªãªãŒã¹åŸã®LEDã®ç¹æ» ãé·ããªããŸãã å®ç掻ãšã®å®å šãªé¡æšã
å®ç掻ãšã®é¡æšãç¶ããããã«ãæã ã¯åžžã«ãã¯ããã¯ã«ãµã³ãã€ããã®ã³ã¬ã¯ã¿ãŒãããããšãæãåºããŸãã ã€ãŸãã売ãæã¯åããå€ããã«ããµã³ãã€ãããå¿ èŠããšæ¯ããšã誰ããäœãããšãã§ããŸãã ããããæ£åã®æ®éã®é£å ã®å Žåã¯ã©ãã§ããããïŒ ã¬ãžä¿ã¯å°ãªããšãèªåèªèº«ããã¡ã³ã«ããããšãã§ããŸã-圌女以å€ã®èª°ãã次ã®ã·ãªãŒãºãèŠãŠããã®ã§ã誰ãèŠãããšãã§ããŸããã ã¬ãžä¿ã¯ãå¶æ¥æéå€ã«ããŸããããã¿ãã£ã¢ãã»ãŽã¡ã·ãªãšãŽããåºãŠè¡ã£ãŠãã ãããããã«ã¹ãŒãã泚ãã§ãã ãããã®ãããªããšãå«ã³ãããšæã£ãŠãã蚪åè ãç解ããå¿ èŠããããŸãã
ãã®ãããªå¯Ÿè±¡ã®å Žåãã»ããã©ã¯æå³ããªããŸããã FreeRTOSã®å€ãããŒãžã§ã³ã§ã¯ãAPIãä»ããŠã¿ã¹ã¯ãèµ·åããã ãã§ïŒãããã«ã¹ãŒããå¿ èŠãïŒãæ°ããããŒãžã§ã³ã§ã¯vTaskNotifyãåŒã³åºãããŸããïŒéãã¯æž¡ããããã©ã¡ãŒã¿ãŒãborschã¯ã©ã¹ã®ã¹ãŒããå¿ èŠã§ããã«ãããŸãïŒã éåžžã®ãã®ãšæ¯èŒããŠãçç£æ§ã®å€§å¹ ãªåäžãçŽæããŸãããçŸæç¹ã§ã¯å€§èŠæš¡ãªãã¹ããå®æœããŠããŸããã
ã»ããã©ã«ã¯å¥ã®ãµãã¿ã€ã-ãã¥ãŒããã¯ã¹ããããŸããããããã¯åããã€ããªã»ããã©ã§ãã ãããŠãååž°ãã¥ãŒããã¯ã¹ã¯ã»ããã©ãã«ãŠã³ãããŠããŸãã ãããã¯ãŸã£ããåãæ¹æ³ã§äœæããããŸã£ããåãæ¹æ³ã§åäœããŸãããããã®ãäœæå¯èœãç¶æ ã¯ãéåžžã®ãã®ã®ããã«ããŒããã倧ããããªããããŒãã®ã¿ãã§ãã ãªãœãŒã¹ãšå€æ°ã®å ±æã«äœ¿çšãããŸãã ç§ãã¡èªèº«ã§ã¢ããªã±ãŒã·ã§ã³ã®äŸãèãåºãããšãææ¡ããŸãïŒããã§ã¯ãäœããã®çç±ã§ã誰ãããã€ã¬ãšéµã«ã€ããŠã®è©±ãæãã€ããŸããã瀟説ã®æãããäŒç€Ÿã®å°ç« ãã¯ãããŸããã§ããã
ã³ãŒãã®çµæã¯ãèšèã§èª¬æããããããããªã«è¡šç€ºããæ¹ãç°¡åã§ã
ãã®æ®µéã§ã人ã ã¯ãã§ã«èšè¿°ãããã³ãŒãã§ã®ã»ããã©ã®é©çšå¯èœæ§ã«ã€ããŠè°è«ãå§ããéåžžãFreeRTOSãã€ãã³ããã©ã°/ããã/ã°ã«ãŒããåŒã³åºãããã«ãªããŸãã ãã®ããŒãã«é¢ããç°¡åãªã°ãŒã°ã«ãºã®åŸãããã°ã©ããŒã¯æºè¶³ããŠèœã¡çããŠçºæ£ããŸã:)
ãã€ãã®ããã«ãæçš¿ããã®æŽæ°ãå«ãå®å šãªã³ãŒãã¯ããkaloshin.ru/stm32/freertos/stage2.rarã«ãããŸãã
次ã®éšåããã¥ãŒã«ã€ããŠ