ããŒã2
ããŒã3
ããŒã4.1
ããããŒã°
äžè¬ã«ãã³ãŒãã®åæãšãã®å¿ èŠæ§ã«ã€ããŠã®æèŠã¯ç°ãªã£ãŠããŸããã ãã®èšäºã§ã¯ãããŽãŒã«ãã³ã»ã¯ã·ã§ã³ãã¡ãœãããå®è£ ããããšããŸããã ãããã£ãŠã
aïŒèšäºã®æåŸã«ã
bïŒä»äºã®ã¢ã«ãŽãªãºã ãäžããŠåæããŸã
cïŒSPLã©ã€ãã©ãªã®äœ¿çšæ¹æ³ã説æããŸã
dïŒèšäºã®ç¯å²å ã§ãç¹å®ã®åšèŸºæ©åšã®äœ¿çšæ¹æ³ã説æããã³ãŒãã§ã®åšèŸºæ©åšã®äœ¿çšã®å®è£ ã瀺ããŸã
dïŒILI9341ã§ã®äœæ¥ãå¥ã®æ®µèœãšããŠèª¬æããŸãã äž»é¡ã¯ããªãåã¿ç ãããŠããã®ã§ãäž»ãªããš-åæåé¢æ°ã®å®è£ ãæ€èšããæ¹æ³ïŒã€ã³ã¿ãŒãããäžã§ã¯ããããã§ã¯å®éã®åæåãã³ããŒããããŠãããäœã§ããããèããªãããšãããã¬ãŒãºã®ã³ãŒãã®ã¿ãèŠãŸããïŒã«ã€ããŠè©±ããããŒããŠã§ã¢SPIãä»ããŠå®è¡ããŸãã
ããã§ã¯ã³ãŒãã®è©³çŽ°ãªåæã¯è¡šç€ºãããŸããããã¹ãŠãé©åºŠã«è¡ãããŸãããã以å€ã®å Žåã¯ããã®ãããªããŒãžã200ã250åã§æžããªããã°ãªããŸããã ãããã£ãŠãããã°ã©ã ã®äœæãéå§ããåã«ãããŒã¿ã·ãŒãããã³ãã®ä»ã®ããã¥ã¡ã³ãïŒ ãªã³ã¯ããããŸã ïŒã調ã¹ãŠãã ããã åããŠMKã«åº§ã人ãã¡-å¿é ããªãã§ãã ããã質åãããå Žåã¯ãããã³ããã衚瀺ããŠæäŒããŸãã®ã§ããã®ã³ãŒããç¿åŸããŠãã ããã
ã©ããªéçºç°å¢ããããå³æžé€šã¯ç掻ã楜ã«ããŸããïŒ
ç§ã¯ããã«èšããŸã - ãã®èšäºã®ã³ãŒãã¯ããã€ãã£ããã§ã¯ãããŸãããããã¹ããããŠåäœããŸãïŒ ãªããªã IARã¯åå¿è ã«ãšã£ãŠæã䟿å©ãªãœãããŠã§ã¢ã§ã¯ãããŸãããæ©èœãå€ããããªã©ã®çç±ã§å€ãã®äººããã€ãã¹ããŠããããããã¬ãŒãã³ã°èšäºã§ãããžã§ã¯ãããcoconutãïŒ CooCoxIDE 1.7.7 ïŒã«ç§»è¡ããããšã«ããŸããã ãŸããã¬ãžã¹ã¿ãŒããé¢ããŠã SPLã§ã³ãŒããæžãããšã«ããŸããã
SPLã¯ãåšèŸºæ©åšMK STM32ãšé£æºããããã®STã®æšæºã©ã€ãã©ãªã§ãã çŸåšãæ°ããHALã©ã€ãã©ãªã¯çœ®ãæããããŠããŸããããããŸã§ã®ãšãããå€ãã®ãããžã§ã¯ãã§æåã®ã©ã€ãã©ãªã眮ãæããŠããŸããã Googleã§ãã©ã¹ãšçŸåŸ³ãå·®ãåŒãããšãã§ããŸãã
ç§ã¯SPLãéžã³ãŸãã-ãªããªã ãå³å¯ãªæé©åãåŸã®æçµçãªã³ãŒãã奜ãã§ãããããã¯ããçŽæçã§ãHALã¯ããŸããŸãªRTOSã§åäœããããã«ããé©åããŠããŸãã ããã¯çŽç²ã«ç§ã®æèŠã§ããç§ã¯èª°ã«ããããåœããåã®ããšãšã¯æãããã³ã¡ã³ãã®äžã§ãããè¯ããæªãããäŒããããšãæ±ããŸããã
äžèšã§æžããããã«ãã¬ãžã¹ã¿ããã©ã€ãã©ãªãžã®ç§»è¡ããããŸããããéãã¯äœã§ããïŒ
é·æïŒ
aïŒSPLã䜿çšããŠèšè¿°ãããã³ãŒãã®å¯èªæ§ã¯éåžžã«åªããŠããããã¬ãŒãã³ã°ã«åã£ãèšäºã§ã¯ããããæãéèŠãªããšã§ããbïŒã³ãŒãã®èšè¿°é床ãã¯ããã«éããæ¢åã®ã¢ã«ãŽãªãºã ã§ã³ãŒããæåããèšè¿°ããŠãããã°ããã®ã«1.5æéããããŸããã
cïŒç³ããç³ãžã®ç§»åã容æã«ãªããŸããããŸããçªç¶STM32F103RBT6ã¯ãããŸããããSTM32F105VCT6ãããããããåéããŸãã
çæïŒ
aïŒSPLé¢æ°ã¯ãã倧ãããããå€ãã®ã¡ã¢ãªãæ¶è²»ããå®è¡ã«æéãããããŸãã ãã ããããã¯åæåé¢æ°ã«ã®ã¿é©çšãããä»ã¯ãã¹ãŠåãé床ã§ããbïŒããŒã¿ã·ãŒãã§ã¯ãåæå šäœãã¬ãžã¹ã¿ã«æ£ç¢ºã«åæ ããããããã¡ã€ã³ã®ãã€ãã¹ã§ãã
ç§ã®èŠçŽïŒ
CoIDEã§å®å šã«äœæ¥ããSPLã䜿çšããŠãèªåãã¢ããã¥ã¢ã§ãããšã¿ãªãã¬ãã«ãŸã§æ£ç¢ºã«ããã°ã©ã ãäœæã§ããŸãã çé¢ç®ãªããã€ã¹ãèšèšããããé»åæ©åšã§ãéã皌ãããšãç®æšã«ãããããã«ãããã«IARã«è»¢éããã¬ãžã¹ã¿ãŒä»ãã®ããŒã¿ã·ãŒããåžã£ãŠãã ãããããã°ã©ã ã®ã¢ã«ãŽãªãºã ãäœæããŸã
æåã«ãããã€ã¹ã®äžè¬çãªæ©èœæ§é ã
å³1-å¶åŸ¡ããã°ã©ã ã®ãããã¯å³
ããã§ãããã€ã¹ã®ã©ã®éšåã枬å®ããåä¿¡ããããŒã¿ãã©ãåŠçããããæããã«ãªããŸããã 枬å®ããããã¹ãŠã®é»å§ãšé»æµãTFTããã«ã«è¡šç€ºããé»å§ãæ£åžžç¯å²å ã«ãããã©ãããå€æãïŒ GOSTã«åŸã£ãŠ ïŒãæåŸã«åºåé»æµã«åºåé»å§ãæããŠãè² è·ã«ããé»åæ¶è²»ãååŸããŸãã ãã¹ãŠãã·ã³ãã«ã§æ確ãªããã§ãã
ãŸããããŒãã¯æž©åºŠã枬å®ããç»é¢ã«è¡šç€ºããå¿ èŠããããŸããç·æ¥85 °Cãè¶ ããå Žåã¯ã ãã°ãèšé² ããŠããã€ã¹ã®é»æºããªãã«ããå¿ èŠããããŸãã é»æºããŒãã®SDãã©ã€ããŒIR2110ã®è¶³ã«1 ã ãŸãã枬å®ããã枩床ã®çµæã«å¿ããŠãPWMå¶åŸ¡ã¯ãŒã©ãŒã®ãã¥ãŒãã£ãµã€ã¯ã«ã調æŽããå¿ èŠããããŸãã
ãã¹ãŠã®ç·æ¥ç¶æ ãLEDãã£ã¹ãã¬ã€ã«è¡šç€ºããå¿ èŠããããŸããLEDãã£ã¹ãã¬ã€ã¯ãã·ã¹ãã ã®
ãã®ãŠãããã®æ©èœã¯è€éã§ã¯ãããŸãããã€ãŸããå®è£ ã«å€§ããªäœæ¥ã¯ãããŸããã
èšäºã®å匷ãç¶ããåã«äœãããå¿ èŠããããŸããïŒ
1ïŒäœ¿çšãããœãããŠã§ã¢ãããŠã³ããŒãããŸãã CooCoxIDE 1.7.7ã«ãªããŸãã以äžã®Poisonãžã®ãªã³ã¯ãæ·»ä»ããŸãããã®ããŒãžã§ã³ã®ããã°ã©ã ãå«ããã©ã«ããŒãããŠã³ããŒãã§ããŸããæ¢ã«SPLãã€ã³ã¹ããŒã«ãããŠããã ãã§ãªããããŠã³ããŒãæžã¿ã®ã³ã³ãã€ã©ãŒã䜿çšãããšã ç ©ãããæ€çŽ¢ãããŸããã ããã§äœæ¥ãéå§ããããã®ãã¹ãŠïŒ
CooCoxIDE 1.7.7
2ïŒããŒã¿ã·ãŒããšåŒã°ããç¥èãªåçš¿ãSTM32F103ã«ããŠã³ããŒãããŸã ã
ããŒã¿ã·ãŒãSTM32F103
3ïŒ RM0008ã®ãããªGoogleã§ããã1128ããŒãžã®å£®å€§ãªããªã¥ãŒã ãæã€ãªãã¡ã¬ã³ã¹ããã¥ã¢ã«ãšåŒã°ããç¥èãªçµå žãããŠã³ããŒãããŸãã ããã¯ç§ãç¿åŸããæãèšå€§ãªç§åŠè«æã§ãããLandau-Livshitsã®å šå·»ããŸã ãããŸããããŸã ããã€ãã®æ¬ããããŸã...çç±ã§ã-ç解ã§ããªãããšãé¢çœãããšã«ã€ããŠã¯ãã®ãã¡ã€ã«ãåç §ããããšããå§ãããŸãã
RM0008
4ïŒç§ã¯ãŸã ãSTã®ç¥èã¬ãã«ãæã€ç·ã®ããã°ã匷ããå§ãããŸã-ç¥ã圌ã¯åå¿è ãéåžžã«è€éã§èå³æ·±ãä»äºã®ããã«åšèŸºãåãã§ããŸãïŒ
ãã³ã©ã€ã»ãŽã«ããã
5ïŒæåŸã®... STM32CubeMXã®éåžžã«äŸ¿å©ãªããã°ã©ã ãããŠã³ããŒãããããã«å®è¡ããŸã- å ¬åŒãµã€ãST
ããªããç§ãããªãã«å©èšãããã¹ãŠãããŠã³ããŒãããŠãä»ããªããããã°ã©ã ãæžãå§ããããšãã§ããããšãæã¿ãŸãã
ãããžã§ã¯ãããŸãšãã
1ïŒç§ãã¡ãåããªããã°ãªããªãåšèŸºæ©åšãéžæããŠãã ãã
å³2-䜿çšããåšèŸºæ©åšãéžæããããã®ãªããžããª
次ã«ã誰ãäœã«å¯ŸããŠè²¬ä»»ãè² ãããç°¡åã«èª¬æããŸãã
aïŒ CMSISã³ã¢ -æåã«è¡ãããšã¯ããã®ã©ã€ãã©ãªã確èªããããšã§ããããã«ããã€ãã®ã©ã€ãã©ãªãããã«æ¥ç¶ãããŸãã ããã¯ãäœæ¥å¯èœãªæå°å€ã§ãã ãã®ã©ã€ãã©ãªã¯ããã®ååã瀺ãããã«ããã³ã¢ããåšèŸºã®æ®ãã®éšåãæ©èœããåºæ¬æ©èœãæ¥ç¶ããŸã
bïŒ RCC-ãã€ã¯ãã³ã³ãããŒã©ã®ã¯ãããã³ã°ãæ åœããã©ã€ãã©ãªãããã¯å¥ã®ããªãããŒãªãã€ã³ãã§ãããä»æ¥ã¯åæ§ã«æ€èšããŸãã ãã®ã©ã€ãã©ãªã䜿çšãããšãçæå ãéžæããããååšèŸºæ©åšã®åšæ³¢æ°åå²ä¿æ°ãèšå®ãããã§ããŸãã
cïŒ GPIO-å ¥å/åºåããŒããåããäœæ¥ã©ã€ãã©ãªã ãŸããæ®ãã®åšèŸºæ©åšã®ãã¹ãŠã®äž»èŠãªèšå®ãå®è¡ã§ããŸãã
dïŒ DMA-ãã®ã©ã€ãã©ãªã䜿çšãããšãã¡ã¢ãªã«çŽæ¥ã¢ã¯ã»ã¹ããŠäœæ¥ã§ããŸãã ããã¯ã€ã³ã¿ãŒãããã§è©³çŽ°ã«èªãããšãã§ããŸã-ãããã¯ã¯ãã¿ç ãããŠããŸããåå¿è ã«ãšã£ãŠã¯ããã®åçãããã€ã¹å šäœã®é床ãäžããããšãã§ããããšãç解ããã®ã«ååã§ãã
eïŒ SPI-å€æ°ã®ããã€ã¹ãšããŒã¿ã亀æã§ããSPIã€ã³ã¿ãŒãã§ãŒã¹ãæäœããããã®ã©ã€ãã©ãªã ç§ãã¡ã®å Žåããããä»ããŠILI9341ã® TFTã¹ã¯ãªãŒã³ãšéä¿¡ããŸãã
fïŒ TIM-ã¿ã€ããŒãæäœããããã®ã©ã€ãã©ãªã ããã§ã¯ãã¹ãŠãæ確ã ãšæããŸããããã«ããã PWMãèµ·åããŠã¯ãŒã©ãŒãå¶åŸ¡ãããã¡ããé 延ãå®è£ ããŠå²ã蟌ã¿ãçæã§ããããã«ãªããŸãã
gïŒ ADCã¯ããã¹ãŠã®é»å§ãšé»æµã枬å®ããA / Dã³ã³ããŒã¿ãŒ ïŒADCïŒã䜿çšããŠã¡ã€ã³åšèŸºæ©åšãæäœããããã®ã©ã€ãã©ãªã§ãã
ããã°ã©ã ãæžãããšã«ããŸã
ç§ã¯Cã§ã¬ãã¹ã³ãããã€ããã¯ãããŸããã§ããããMKã®å匷ãå§ããã®ãæã人ãã¡ã®èŽè¡ã«çŠç¹ãåãããŠã圌ããããã·ã¥ãããã®ã§ãèŠç¹ã説æããŸãã æåã®2ããŒã ïŒ
1ïŒ defineã¯ãããå€ãå¥ã®å€ã«çœ®ãæããããã®ã³ãã³ãã§ãã ç§ãå匷ãããšãã®ããã«ãååã¯ããã§ç解ããŠããŸããã§ããïŒ
äŸ1ïŒ
GPIO_SetBitsã³ãã³ãïŒGPIOAãGPIO_Pin_1ïŒã§ LEDãç¹ç¯ããããã°ã©ã ããããŸãã GPIO_ResetBitsã³ãã³ãïŒGPIOAãGPIO_Pin_1ïŒã§ãªãã«ããŸãã ã ãããã®ããŒã ã«ã€ããŠèããå¿ èŠã¯ãããŸããã ã芧ã®ãšãããã³ãã³ãã¯éåžžã«è€éã§ãããã³ãŒããèšè¿°ããéçšã§100åæžãæãããã¯ãããŸãããããã«ãLEDããªã³/ãªãããæ¹æ³ãæ¯åèŠããŠããå¿ èŠã¯ãããŸããã ãããã£ãŠã次ã®ããã«èšè¿°ããŸãã
#define LED_ON GPIO_SetBits(GPIOA, GPIO_Pin_1) #define LED_OFF GPIO_ResetBits(GPIOA, GPIO_Pin_1)
ç§ãã¡ã¯äœãããŸãããïŒ ãããŠããªãã®äººçãç°¡çŽ åããŸããã ããã§ãããã°ã©ã LED_ONã®ããã¹ããæžã蟌ããã³ã«ã ïŒ ã»ãã³ãã³ãå¿ èŠã§ã ïŒããã®ãã¬ãŒãºã¯GPIO_SetBitsã³ãã³ãïŒGPIOAãGPIO_Pin_1ïŒã«çœ®ãæããããŸã; ã·ã£ããããŠã³ã«ã€ããŠãåãã§ãã
äŸ2ïŒ
1幎ã§æ¥ãæ°ããããã°ã©ã ãäœæããŸãã æ¯åããã°ã©ã ã«æ°å€365ãæžã蟌ãŸãªãããã«ããããïŒãã ããå®éã«ã¯ä»»æã®è€çŽ æ°ãPiã§ãããŸããŸããïŒãåã®äŸãšåãããã«èšè¿°ããŸãã
#define Year 365
365ã¯ããŒã ã§ã¯ãªãåãªãå®æ°ã§ããããããã®åŸã¯ã»ãã³ãã³ãå ¥åããå¿ èŠããªãããšã«æ³šæããŠãã ããã ãã以å€ã®å Žåã 365ã¯æ¿å ¥ãããŸãããã 365ã¯æ¿å ¥ãããŸãã åãåŒã§äœ¿çšãããšããšã©ãŒãšããŠèªèãããŸãã
#define X1 Y2ã³ãã³ãã¯ãåã«ã³ãŒãå ã®ãã¹ãŠã®X1ãY2ã«çœ®ãæããŸãã
質åãæ®ã£ãŠããªãããšãæã¿ãããåçŽãªãã®ã«ç§»ããŸãããããããæãéèŠãªã³ãã³ãã§ãã
2ïŒinclude-ä»ã®ãã¡ã€ã«ãã©ã€ãã©ãªãã³ãŒãã«æ·»ä»ã§ããŸãã
äŸ1ïŒ
ç§ãã¡ã®ãã®ãå«ããŠãã©ããªã³ãŒãã§ããã®ã³ãã³ãã§å§ãŸããŸãïŒ ãªããžããªå ã®ã©ã€ãã©ãªã確èªããCoconutã¯ã©ã€ãã©ãªãã¡ã€ã«ããããžã§ã¯ãã®ãã©ã«ããŒã«ã³ããŒããŸããã ããã§ã¯ååã§ã¯ãããŸãããã¡ã€ã³ãã¡ã€ã«ã«æ·»ä»ããå¿ èŠããããŸãã
äžèšã®ã©ã€ãã©ãªãADCãã¿ã€ããŒãªã©ããã¹ãŠæ·»ä»ããããšã¯ãŸã å§ããŠããŸããããããã«ã¯è¿œå ããŠããŸããã ã¡ã€ã³ã©ã€ãã©ãªãã¢ã¿ããããŠããã®æ®µéã§çã£éããŸã«ãªããªãããã«ããŸãã 次ã®ã³ãŒããååŸããŸãã
#include "stm32f10x_conf.h" #include "stm32f10x_rcc.h" #include "stm32f10x.h" #include "stm32f10x_gpio.h" #include "stm32f10x_spi.h" #include "TFT ILI9341.h"
ãã®å¥åŠãªãã¡ã€ã«ãã©ãã§ååŸããããç解ããã«ã¯ããããžã§ã¯ãããªãŒã調ã¹ãå¿ èŠããããŸãã
å³3-å¿ èŠãªã©ã€ãã©ãªãå«ããããžã§ã¯ãããªãŒ
ã芧ã®ãšãããæ·»ä»ãããã®ã¯ãã¹ãŠãã®ãããªãŒãã«ãããŸãã ããã¯CMSISã©ã€ãã©ãªãªã©ã§ãã ããã§ã¯ã4ã€ã®ç¹ã«æ³šæãã䟡å€ããããŸãã
aïŒæ¥ç¶ã®ç¬éã¯ç解ã§ãããšæããŸãããæ確ã«ããŸã- #include "file name"ããã¯ããã¡ã€ã«ãå«ããå¿ èŠãããæ¹æ³ã§ãããã¡ã€ã«åãæ¬åŒ§ã§å²ã¿ãè¡æ«ã«ã»ãã³ãã³ãå ¥ããªãã§ãã ããã
bïŒæ°ã¥ããããæ¡åŒµå.hã®ãã¡ã€ã«ã®ã¿ãæ¥ç¶ããŸããåžžã«ãããè¡ãå¿ èŠããããŸãã .hæ¡åŒµåãæã€ãã¡ã€ã«ãš.cæ¡åŒµåãæã€ãã¡ã€ã«ã®éãã¯äœã§ãã
cïŒ SPLã©ã€ãã©ãªã䜿çšããå Žåãåžžã«mainã§æ¥ç¶ããã2ã€ã®ãã¡ã€ã«ããããŸãã
#include "stm32f10x_conf.h" #include "stm32f10x.h"
dïŒæããã«ã¡ã€ã³ã®ã¡ã€ã³ãã¡ã€ã«ã«æ¥ç¶ããªãã£ãfont.hãã¡ã€ã« TFTã©ã€ãã©ãªãã¡ã€ã«ILI9341.hã«æ¥ç¶ããŠããŸããããã¯ãªãã§ããïŒ FONTã¯ãã©ã³ããåããã©ã€ãã©ãªã§ãããTFTããã«ãæäœããæ©èœã§ã®ã¿äœ¿çšãããŸãã ã¡ã€ã³ã®ã¡ã€ã³ãã¡ã€ã«ãä¹±éã«ãªããªãããã«ã TFTãã¡ã€ã«ILI9341.hå ã«æ¢ã«#includeã䜿çšããŠãã©ã³ããæ·»ä»ããŸãã ã
3ïŒ .hããŒããã·ã§ã³ãš.cããŒããã·ã§ã³ã®éã
é©åãªã©ã€ãã©ãªãŒã¯2ã€ã®ãã¡ã€ã«ã§æ§æããããã®ãã¡ã®1ã€ã¯èš±å¯.cãæã£ãŠããŸãããã®ãã¡ã€ã«ã«ã¯ããã¹ãŠã®æ©èœãšãã®å®è£ ãå«ãŸããŠããŸãã ãã®æ¡åŒµåãæã€ãã¡ã€ã«ã¯ã .hãã¡ã€ã«ã®ã¡ã€ã³ãã¡ã€ã«ã§ãããããåŸè ã®å éšã«æ·»ä»ãããŸãã
ã©ã€ãã©ãª.hãã¡ã€ã«ã®2çªç®ã®éšåã«ã¯ã TFT ILI9341ã® FONTãªã©ãå¿ èŠãªãã¹ãŠã®ã€ã³ã¯ã«ãŒããå«ãŸããŠããŸãã ãŸãããã¹ãŠã®define ãå®æ°ã宣èšãããŠããããšã説æããŠããŸã ã äžã§èŠãããã«ããã®ã©ã€ãã©ãªãæäœããããã«ããã®ç¹å®ã®ãã¡ã€ã«ãã€ã³ã¯ã«ãŒãããŸãã.cãã¡ã€ã«ã¯.hå ã§ãããŒã«ãã«ãªããŸã
ã¡ãã£ãš...ãã¹ãŠãè³ãççºããŠããªããã°ãäŒæ©ããŠãè¶ã飲ãã§ãããã«é¢çœããã®ãæ¢ããŠãã ããã
ã¯ãããã³ã°ãã€ã¯ãã³ã³ãããŒã©STM32
æã責任ãããããªãããŒãªãã€ã³ãã«å°éããã ã¯ãããã³ã°STM okã¯ãAVRãããŒã¯ã®ããã«ã¯çºçããŸããã ããã§ã¯ãã¯ã©ãŒãã®åšæ³¢æ°ãåçŽã«åãããç³ã«è¿œããããããŸãã
STM32ã§ã¯ããããè¡ãããŸãã
aïŒMKã¯åžžã«HSIããå§ãŸããŸã-ããã¯å éš8 MHzçºæ¯åšã§ã
bïŒãã®åŸãMKã¯HSEã«åãæ¿ãããŸã-ããã¯å€éšæ°Žæ¶æ¯ååã§ã
cïŒæ¬¡ã«ãä¿¡å·ã¯PLLã«éãããããã§åšæ³¢æ°ãéåãããŠåšèŸºã«éãããŸãã
ããã¯ãSTMã«åãæ¿ãããšãã«æåŸã®ãã€ã³ãã ã£ãããã§ããã¯ã©ãŒãã8 MHzã«æ¥ç¶ãããšããã¹ãŠã72 MHzã§åäœããŸãã ãããã£ãŠãäžè¬çãªã¯ã©ãŒãã¯8ã16ã24 MHzã§ãã ããã«ãåšæ³¢æ°ã¯ãã€ã¯ãã³ã³ãããŒã©ãŒå éšã§ä¹ç®ãããŸãã
ããã¯ãã¹ãŠãããŒã¿ã·ãŒãã®æ¬¡ã®å³ã§èŠãããšãã§ããŸãã14ããŒãžã«ãããŸãããã®ããããã®åçš¿ãå¿ é é ç®ã«å«ããŸããã
å³4-STM32ãã€ã¯ãã³ã³ãããŒã©ãŒåšèŸºã®ã¯ããã¯åè·¯
ãŸããã¯ããã¯åšæ³¢æ°ãPLL ïŒåšæ³¢æ°éååšïŒããååŸãããåšèŸºã«åé ãããååšåšã䜿çšããŠèšå®ãããå Žåã«ã泚æããŠãã ããã APB2ãšAPB1ã® 2ã€ã®ã¿ã€ã€ããããããããç¹å®ã®åšèŸºã«ã¶ãäžãã£ãŠããŸãã åãã¹ã«ã¯åšæ³¢æ°å¶éããããŸããAPB2ã®å Žåã¯72 MHzãAPB1ã®å Žåã¯36 MHzã§ããã€ãŸããæåã®ãã¹ã§ã¯ãåšæ³¢æ°ã¯PLLã®ã¯ããã¯ã®1/2ã§ãã
äŸãæããŸããã ãSPI1ã®å Žåãé»åã¯æ倧åšæ³¢æ°72 MHzã®APB2ãã¹ããäŸçµŠããã SPI2ã¯36 MHzã®åšæ³¢æ°ã®APB1ãã¹ã§ãã³ã°ããSPI2ã¯äœããªããŸãã ããã¯æ€èšãã䟡å€ããããŸãïŒ
ããã§ã¯ããã¹ãŠã®ãã¹èšå®ãå®è¡ããæ©èœãèŠãŠã¿ãŸãããã RCCã©ã€ãã©ãªã¯ã¯ãããã³ã°ãè¡ããããæåã«ãããžã§ã¯ãã«æ¥ç¶ããstm32f10x_rcc.hãã¡ã€ã«ã§é¢æ°ãæ¢ãå¿ èŠããããŸãã
void RCC_Configuration(void) { RCC_DeInit(); // reset RCC_HSEConfig(RCC_HSE_ON); // HSE ( ) HSEStartUpStatus = RCC_WaitForHSEStartUp(); // if (HSEStartUpStatus == SUCCESS) // , { RCC_HCLKConfig(RCC_SYSCLK_Div1); // 1 (Div1), 72 RCC_PCLK2Config(RCC_HCLK_Div1); // APB2 PLL 72 RCC_PCLK1Config(RCC_HCLK_Div1); // APB1 PLL 72 RCC_ADCCLKConfig(RCC_PCLK2_Div2); // 2 (Div2) 36 72 RCC_PLLConfig(RCC_PLLSource_PREDIV1, RCC_PLLMul_9); // 9, 8 * 9 = 72 PLL RCC_PLLCmd(ENABLE); // PLL while (RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET) {} // PLL RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK); // PLL while (RCC_GetSYSCLKSource() != 0x08) {} // PLL } }
ããã§ãé¢æ°ã䜿çšããåã«ãããã°ã©ã ã®å é ã§å®£èšããå¿ èŠãããããšãå¿ããªãã§ãã ããããã®ãããæçµçã«ãã¿ã€ãã³ã°ãèšå®ãããããªã³ãŒããååŸã§ããŸãã F10xã·ãªãŒãºã®ã©ã®MKã§ãåäœãããããã©ã€ãã©ãªãšããŠä¿åã§ããŸãã
/*************************************** **********************************/ void RCC_Configuration(void); ErrorStatus HSEStartUpStatus; RCC_ClocksTypeDef RCC_Clocks; void RCC_Configuration(void) { RCC_DeInit(); // reset RCC_HSEConfig(RCC_HSE_ON); // HSE ( ) HSEStartUpStatus = RCC_WaitForHSEStartUp(); // if (HSEStartUpStatus == SUCCESS) // , { RCC_HCLKConfig(RCC_SYSCLK_Div1); // 1 (Div1) 72 RCC_PCLK2Config(RCC_HCLK_Div1); // APB2 PLL 72 RCC_PCLK1Config(RCC_HCLK_Div1); // APB1 PLL 72 RCC_ADCCLKConfig(RCC_PCLK2_Div2); // 2 (Div2) 36 72 RCC_PLLConfig(RCC_PLLSource_PREDIV1, RCC_PLLMul_9); // 9, 8 * 9 = 72 PLL RCC_PLLCmd(ENABLE); // PLL while (RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET) {} // PLL RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK); // PLL while (RCC_GetSYSCLKSource() != 0x08) {} // PLL } }
ç§ã¯å€ããå°ãªãã詳现ã«èª¬æããã¿ã€ãã³ã°ãèãããšãä»ã§ã¯åšèŸºãå解ããå¿ èŠããããŸãã
å ¥å/åºåããŒããæäœãã
GPIO-ãããã¯I / OããŒãã§ãã ãããåºæ¬ã®åºç€ã§ãããªããªã ä»ã®åšèŸºæ©åšã䜿çšããåã«ãããã衚瀺ãããããŒããèšå®ããå¿ èŠããããŸãã
åè·¯ã®LED衚瀺ã®äŸã䜿çšããŠããã®åšèŸºã®è©±ãå å°ããŸãã åã®èšäºããæ¥ç¶ãååŸããŸãã
aïŒLED No. 1ïŒLED1ïŒã¯PB12ã«æ¥ç¶ãããŠããŸã
bïŒLED No. 2ïŒLED2ïŒã¯PB13ã«æ¥ç¶ãããŠããŸã
cïŒLED No. 3ïŒLED3ïŒã¯PB14ã«æ¥ç¶ãããŠããŸã
dïŒLED No. 4ïŒLED4ïŒã¯PB15ã«æ¥ç¶ãããŠããŸã
dïŒLED No. 5ïŒLED5ïŒã¯PC6ã«æ¥ç¶ãããŠããŸã
ããã¯ã©ãããæå³ã§ãã... STM-okã«ã¯ããŒããããã0ãã15ãŸã§ã®16ãã³ããããŸãã 確ãã« ãäžéšã®ããŒãã«ã¯åžžã«16ã¬ãã°ããããŸããã ãããšãã°4ãŸãã¯5ã®ã¿ã§ãã 12çªç®ã®çµè«ã ããã§ã以åã«ããŠã³ããŒãããSTM32CubeMXãéãããããã®è¶³ãã©ãã«ãããããããŠç¹æ®ããã®ã«äŸ¿å©ãã©ããã確èªããŸãã
å³5-STM32CubeMXããã°ã©ã ã§ã®åšèŸºã®å Žæã®éžæ
STMã®å€§ããªé åã¯ããã®ãæè»æ§ãã«ãããI / Oã«ä»»æã®ã¬ãã°ã䜿çšã§ããããšãããã³åšèŸºå šäœã代æ¿ã®ã¬ãã°ïŒãã©ãŒã«ããã¯ïŒãããããRemapã«è»¢éã§ããããšã§ãã ããã«ãããããŒããéåžžã«å¹ççãè¿ éãã€äŸ¿å©ã«è²ãŠãããšãã§ãããããåå¿è ã¯STéçºè ãæäŸãããã¹ãŠã®ãã®ã®äœ¿çšæ¹æ³ãåŠã³ãŸãã
ããã§ã衚瀺ãæäœããå¿ èŠããããŸããã€ãŸããç¹å®ã®ç¶æ³ã§LEDãç¹ç¯ããŸãã 次ã«ããããè¡ãæ¹æ³ã確èªããåºåããã°ã«èšå®ããå¿ èŠããããŸãã ã¢ããŒãã¯MKã«æ¥ç¶ãããã«ãœãŒãã¯ãã€ãã¹åè·¯ã«æ¥ç¶ãããŠããŸãã ãããè¡ãã«ã¯ã stm32f10x_gpio.hãã¡ã€ã«ãéããŠãã¡ã€ã«ãã¹ã¯ããŒã«ããŠã³ããŸãã䜿çšå¯èœãªãã¹ãŠã®æ©èœã®ãªã¹ãããããŸãã
å³6-GPIOã§äœæ¥ãããšãã«äœ¿çšã§ããæ©èœ
ããã«ã¯ãåºåã¹ããŒã¿ã¹ãèšå®ããã³ãªã»ããããããã®æ©èœããããŸãã
void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); void GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
ãã®ãããªé¢æ°ã䜿çšããæ¹æ³ïŒã³ããŒããŸãããã©ã±ããå ã®æåã®ãšã³ããªã¯GPIO_TypeDef * GPIOxã§ããç解ã§ããããã«ã ãxãã®ä»£ããã«ããŒããæå®ããå¿ èŠããããããŒãBãšCãããã GPIOBãååŸããŸã ã ããã§ã¯ãç¹ã«é£ã¹ãªãããã«é Œãã èšäºã®æåããã®æ©èœãæãåºããŸããä»ããã®æã§ãã uint16_t GPIO_Pinãã©ã±ããã®2çªç®ã®éšåãèŠããšã GPIO_Pinå€æ°ãããããã®å€æ°ã®åã¯16ãããã®ç¬Šå·ãªãã®å€ãã€ãŸã2 16ãŸãã¯65536ã§ããããšãããããŸãã ããããããã»ã©å¿ èŠã§ã¯ãªãã®ã§ãããã§ã¯ãã³ïŒãã³ïŒçªå·ã0ã15ã«æå®ããå¿ èŠãããããšã¯æããã ãšæããŸãããã®çµæã GPIO_Pin_12ãååŸããŸã ã ããããã¹ãŠãèæ ®ããŠãã³ãŒããèšè¿°ããŸãã
GPIO_SetBits(GPIOB, GPIO_Pin_12); // â 1 GPIO_SetBits(GPIOB, GPIO_Pin_13); // â 2 GPIO_SetBits(GPIOB, GPIO_Pin_14); // â 3 GPIO_SetBits(GPIOB, GPIO_Pin_15); // â 4 GPIO_SetBits(GPIOC, GPIO_Pin_6); // â 5
ã芧ã®ãšãããLEDãã©ã®èã«æ¥ç¶ããããæãåºããã³ã«ãã³ãŒããå°ãªããšã5,000è¡ã«ãªã£ããšãã«äœåãªæåãæžããŸããããã¯ãã§ã«ã©ãã»ã©éèŠãªã®ã§ããããïŒïŒ
#define LED1_ON GPIO_SetBits(GPIOB, GPIO_Pin_12) // â 1 #define LED2_ON GPIO_SetBits(GPIOB, GPIO_Pin_13) // â 2 #define LED3_ON GPIO_SetBits(GPIOB, GPIO_Pin_14) // â 3 #define LED4_ON GPIO_SetBits(GPIOB, GPIO_Pin_15) // â 4 #define LED5_ON GPIO_SetBits(GPIOC, GPIO_Pin_6) // â 5
ããŠãããã«ããããªãã«ããé¢æ°ãäœæããããšã¯å¿ããããŸããã ãããè¡ãã«ã¯ãçŸåšã®SetBitsé¢æ°ã§ResetBitsã«å€æŽããŸããããã§ã¯ãã¹ãŠãéåžžã«æ確ã ãšæããŸãã 次ã®æçµã³ãŒããååŸããŸãã
#define LED1_ON GPIO_SetBits(GPIOB, GPIO_Pin_12) // â 1 #define LED2_ON GPIO_SetBits(GPIOB, GPIO_Pin_13) // â 2 #define LED3_ON GPIO_SetBits(GPIOB, GPIO_Pin_14) // â 3 #define LED4_ON GPIO_SetBits(GPIOB, GPIO_Pin_15) // â 4 #define LED5_ON GPIO_SetBits(GPIOC, GPIO_Pin_6) // â 5 #define LED1_OFF GPIO_ResetBits(GPIOB, GPIO_Pin_12) // â 1 #define LED2_OFF GPIO_ResetBits(GPIOB, GPIO_Pin_13) // â 2 #define LED3_OFF GPIO_ResetBits(GPIOB, GPIO_Pin_14) // â 3 #define LED4_OFF GPIO_ResetBits(GPIOB, GPIO_Pin_15) // â 4 #define LED5_OFF GPIO_ResetBits(GPIOC, GPIO_Pin_6) // â 5
ããã§ãLEDãç°¡åã«ç¹ç«ããã«ã¯ã LED1_ONãšæžãã ãã§ååã§ãã ãªãã«ããã«ã¯ãLED1_OFFãæžã蟌ã¿ãŸãã
ãã¹ãŠãã·ã³ãã«ã«èŠããŸããïŒ ããããéããŸãïŒ æåã«èŠããªããã°ãªããªãæåŸã®ç¬éããããŸãããã圌ã¯ããããååã®äººã ãè¿œãæãã§ãããã ããã¯ç°¡åã§ãããããã©ãŒãã³ã¹ã¯ããã«äŸåããŸã-ããã¯GPIOåšèŸºæ©åšã®åæåã§ã ã ããã¯ãã¯ããã¯åšæ³¢æ°ã®ååŸå ãåäœå ãã¢ãŒããããŒãã«ç€ºãããã«å¿ èŠã§ãã ãããã¯ãã¹ãŠåãstm32f10x_gpio.hã©ã€ãã©ãªã§è¡ãããŸããã stm32f10x_rcc.hã¯ããã¯ã©ã€ãã©ãªãããã«æ¥ç¶ããå¿ èŠããããŸãã
åšèŸºæ©åšã§äœããè¡ãåã«ãã¯ãããã³ã°ãæå¹ã«ã ã stm32f10x_rcc.hã§ãããå®è¡ã ãããã«è¡ã£ãŠãã©ã®æ©èœãå®è¡ãããã確èªããå¿ èŠããããŸãã
å³7-ã¿ã€ãã³ã°é¢æ°
ããã§ãããªãã¿ã®APB2ãšAPB1ã衚瀺ãããŸãããããã¯ãããŒããæ¥ç¶ãããŠãããã¹ã§ãã ãã®å ŽåãCãšBã®äž¡æ¹ãAPB2ã«åº§ã£ãŠãããç»é¢ã§ãã®æ©èœã匷調衚瀺ããŸããã ããã¯æãç°¡åã§ãïŒæåã®éšåã§ã¯åšèŸºæ©åšã®ååãæžãå¿ èŠãããã2çªç®ã®éšåã§ã¯ã¹ããŒã¿ã¹ã瀺ããŸãã ã¹ããŒã¿ã¹ã¯ã ENABLE ïŒå«ãŸããïŒãšDISABLEã® 2ã€ã§ãã Xsã®çç±ã§ãããã¹ããŒã¿ã¹ã倧æåã§æžãããšãéèŠã§ããããããªããšãCocosã¯ããã¹ãã匷調ããŸããã
次ã«ãã©ããããåšèŸºã®æ£ããååãååŸããå¿ èŠããããŸãã ãããã£ãŠãã©ã€ãã©ãªãã¡ã€ã«stm32f10x_rcc.hã«ç§»åãã Ctrl + FãæŒããŸããããã¯ãã¡ã€ã«å ã®æ€çŽ¢ã§ãããRCC_APB2Periphãããã«æžã蟌ãã§[ æ€çŽ¢ ] ãã¯ãªãã¯ããŸã ã ãããŠããã®ç¢æãåãåŸããã¹ãŠã®ç¶æ ã瀺ãããŠãããªã¹ãã«å°éãããŸã§ã Findãæ°åçªããŸããã ç®çã®åšèŸºæ©åšãéžæããŸãã
å³8-ã©ã€ãã©ãªãŒå ã®æ€çŽ¢é¢æ°å€
ãããŠ...ã¯ãããã³ã°ãæå¹ã«ããæ¹æ³ã¯ãç§ãã¡ãèãåºãããç§ãã¡ã¯ãã®ãããªè¡ããŸãã¯ããã2è¡ãåŸãããªããªã 2ã€ã®ããŒãBãšCã䜿çšããŸãã
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
ã¯ããã¯ã©ã€ãã©ãªã䜿çšããŠãæåŸã«stm32f10x_gpio.hãã¡ã€ã«ã«ç§»åããŸããæåŸã«ç§»åããŠãéåžžInitãšåŒã°ããåæåé¢æ°ãæ¢ããŸããå°ãªããšãå°ãè±èªãç¥ã£ãŠããã°ããã¹ãŠãã£ããã³ã§ãã 次ã«ãæšæºã®Ctrl + Fã«åŸã£ãŠã GPIO_Inité¢æ°ã®ååãã³ããŒããŸãã
å³9-ãªã¹ãå ã®é¢æ°
次ã«ãé¢æ°ã®èª¬æãšå€èŠ³ã衚瀺ããããŸã§ã[æ€çŽ¢]ãæ°åæŒããŸã ã
å³10-åæåé¢æ°
ãã®ããã次ã®3ã€ã®ã³ã³ããŒãã³ãã§æ§æãããŠããŸãã
aïŒGPIO_Pin-ããã§ãåºåã®æ§ææ¹æ³ã瀺ããŸã
bïŒGPIO_Speed-ããã§ã¯ãã³ã³ãããŒã©ãŒããããåäœã§ããæ倧é床/åšæ³¢æ°ã瀺ããŸã
cïŒGPIO_Mode-ã¬ãã°æäœã¢ãŒããèšå®ããŸã
åã³ã³ããŒãã³ããéžæããå Žåã¯ã Ctrl + FãæŒããŠè²Œãä»ããŠ[ æ€çŽ¢ ] ãã¯ãªãã¯ããŸããåã³ã³ããŒãã³ãã«ã€ããŠèšè¿°ã§ãããã®ã®ãªã¹ãã衚瀺ãããŸãã 次ã«ããã®ã±ãŒã¹ã®åæåã®äŸã瀺ããŸãã
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE); // GPIO_InitTypeDef led; // led led.GPIO_Pin = (GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15) ; // led.GPIO_Speed = GPIO_Speed_2MHz; // led.GPIO_Mode = GPIO_Mode_Out_PP; // , push-pull GPIO_Init(GPIOB, &led); //
èšå®ã«é¢ãã詳现ã¯ããŒã¿ã·ãŒããŸãã¯ã°ãŒã°ã«ã§èªãããšãã§ããŸããæ®ãã®åäœã¢ãŒãã®äžéšã¯åŒãç¶ã衚瀺ããããããåŠç¿æ¹æ³ãéžæããŠãã ããã
æ倧åšæ³¢æ°ã2 MHzã«èšå®ããã®ã¯ã ãã®ã¢ãŒãã§ã¯ãåšèŸºæ©åšã®æ¶è²»é»æµãå°ãå°ãªããªããŸãã ãããSPIã®èšå®ã§ããå Žåãå¶éããªãããã«æ倧å€ãæå®ããå¿ èŠããããŸãã PMã§åçããæºåãã§ããŠããªããã°ãããã§ãã¹ãŠãæ確ã ãšæããŸãã
ãã®çµæãä»æ¥ã®ããŒãã®åŸããã®ãããªã³ãŒããååŸããå¿ èŠããããŸã ã ããã¯ãã¬ãŒãã³ã°çšã§ãããå°æ¥çã«ã¯è£è¶³ããŠæçµçãªãœãŒã¹ãååŸããŸãïŒ è§£äœããã誰ã§ãç解ã§ããããã«ãªããŸãïŒ
#include "stm32f10x_conf.h" #include "stm32f10x_rcc.h" #include "stm32f10x.h" #include "stm32f10x_gpio.h" #include "stm32f10x_spi.h" #include "TFT ILI9341.h" #define LED1_ON GPIO_SetBits(GPIOB, GPIO_Pin_12) // â 1 #define LED2_ON GPIO_SetBits(GPIOB, GPIO_Pin_13) // â 2 #define LED3_ON GPIO_SetBits(GPIOB, GPIO_Pin_14) // â 3 #define LED4_ON GPIO_SetBits(GPIOB, GPIO_Pin_15) // â 4 #define LED5_ON GPIO_SetBits(GPIOC, GPIO_Pin_6) // â 5 #define LED1_OFF GPIO_ResetBits(GPIOB, GPIO_Pin_12) // â 1 #define LED2_OFF GPIO_ResetBits(GPIOB, GPIO_Pin_13) // â 2 #define LED3_OFF GPIO_ResetBits(GPIOB, GPIO_Pin_14) // â 3 #define LED4_OFF GPIO_ResetBits(GPIOB, GPIO_Pin_15) // â 4 #define LED5_OFF GPIO_ResetBits(GPIOC, GPIO_Pin_6) // â 5 /****************************************************************************************************************/ /********************** **********************************************************/ /****************************************************************************************************************/ /*************************************** **********************************/ void RCC_Configuration(void); ErrorStatus HSEStartUpStatus; RCC_ClocksTypeDef RCC_Clocks; void RCC_Configuration(void) { RCC_DeInit(); // reset RCC_HSEConfig(RCC_HSE_ON); // HSE ( ) HSEStartUpStatus = RCC_WaitForHSEStartUp(); // if (HSEStartUpStatus == SUCCESS) // , { RCC_HCLKConfig(RCC_SYSCLK_Div1); // 1 (Div1) 72 RCC_PCLK2Config(RCC_HCLK_Div1); // APB2 PLL 72 RCC_PCLK1Config(RCC_HCLK_Div1); // APB1 PLL 72 RCC_ADCCLKConfig(RCC_PCLK2_Div2); // 2 (Div2) 36 72 RCC_PLLConfig(RCC_PLLSource_PREDIV1, RCC_PLLMul_9); // 9, 8 * 9 = 72 PLL RCC_PLLCmd(ENABLE); // PLL while (RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET) {} // PLL RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK); // PLL while (RCC_GetSYSCLKSource() != 0x08) {} // PLL } } /************************** ***********************************************/ /**************************************************************************************************/ /**************************************************************************************************/ int main(void) { RCC_GetClocksFreq (&RCC_Clocks); RCC_Configuration(); RCC_GetClocksFreq (&RCC_Clocks); /************* *****************************************/ RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE); // GPIO_InitTypeDef led; // led led.GPIO_Pin = (GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15) ; // led.GPIO_Speed = GPIO_Speed_2MHz; // led.GPIO_Mode = GPIO_Mode_Out_PP; // , push-pull GPIO_Init(GPIOB, &led); // while(1) { LED1_ON; LED2_OFF; LED3_ON; LED4_ON; LED5_OFF; } }
ãã®çµæãé«ç²ŸåºŠã®ããã«ã¯ã©ãŒãããã¯ãããã³ã°ãæ§æããæ¹æ³ãåŠã³ãSPLã©ã€ãã©ãªã®äœ¿çšæ¹æ³ãšGPIOã®æ§æããã³äœ¿çšæ¹æ³ãèŠã€ããŸããã ãŸããå®éã®ã³ãŒãã§ã®ã¢ããªã±ãŒã·ã§ã³ã®åæãšãšãã«ãalaã®å®çŸ©ãšå æ¬çã®äž»èŠæ©èœã«ã€ããŠãèšåããŸããã
ãšãããŒã°
ããããã®èšäºã¯æ¬åœã«é ãçããŸããã ç§ããã®å çã¯æªãã§ããããã¡ãŒã ãŠã§ã¢ã«ã€ããŠè©³ããæããŠãããšé ŒãŸããŸããã ç§ãæåãããã€ã¯ãã³ã³ãããŒã©ã®ããã°ã©ãã³ã°ã®å匷ãå§ããããšããŠãã人ãã¡ãç§ãç§ã®èª¬æãã¢ããã€ã¹ãç解ã§ããããšãé¡ã£ãŠããŸãã
ããŸããŸãã®éšåãæåŸã§ã¯ãªãã å¥ã®4.3ããããæ®ãã®åšèŸºæ©åšãåæããŠããã°ã©ã ãè¿œå ããŸãã ããããã®ãµãã»ã¯ã·ã§ã³ãè¡ãããã¯ãããŸããã§ãããã1ã€ã®ã¹ã«ãŒãã®ããªãåçŽãªã³ãŒãã«ã€ããŠã¯ã1ã€ã®èšäºã®éã§ã¯è©±ããªãããšãããããŸããã
ããã°ã©ã ã³ãŒãã®æåŸã®ç¬¬4.3æ¡ã¯æ°å¹Žã®åã«ãªãªãŒã¹ãããé»æºåè·¯ãåããéšåã¯æ¥å¹Žã«ãªããŸãã確ãã«ãå°ããªãã³ããŸã ãããŸã-NGã®åã«ãç§ã¯UPSã«é¢ãããã®ãµã€ã¯ã«ã«å°çšã®å¥ã®èšäºãå ¬éããäºå®ã§ãããåè·¯ã®é¢ã§ãŸã é¢ä¿ããããŸãã
ãã®èšäºã¯ã0-60Vããã³20Aã®ãã«ã¹å®éšå®€çšé»æºã補é ããŸãããšåŒã°ããŸããç§ã®ãããã¿ã€ãã¯æºåãã§ããŠãããæ £ããé転ãããŠãå ã®äžã§çŸããæºåãã§ããŠããŸãã
ãããããããã¯åå¿è åãã®æè²èšäºã§ãããã³ãŒãã®å èš³ã¯ããã ãã§ããããã
ããŒã5
ããŒã6