{"id":1802,"date":"2025-10-02T16:01:00","date_gmt":"2025-10-02T07:01:00","guid":{"rendered":"https:\/\/twarelab.com\/?p=1802"},"modified":"2025-10-02T11:35:52","modified_gmt":"2025-10-02T02:35:52","slug":"stm32f4-c-project-tutorial-step-3","status":"publish","type":"post","link":"https:\/\/twarelab.com\/en\/blog\/stm32f4-c-project-tutorial-step-3\/","title":{"rendered":"[STM32F4] C++ \ud504\ub85c\uc81d\ud2b8 \ud29c\ud1a0\ub9ac\uc5bc &#8211; Step 3"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">EEPROM \uc81c\uc5b4 \ubc0f \uc2dc\uc2a4\ud15c \uc815\ubcf4 \uc800\uc7a5\ud558\uae30<\/h2>\n\n\n\n<p>\uc774\ubc88 \ud3ec\uc2a4\ud2b8\uc5d0\uc11c\ub294 <strong>EEPROM\uc744 \uc774\uc6a9\ud574 \ud2b9\uc815 \uc815\ubcf4\ub97c \uc77d\uace0 \uc4f0\ub294 \ubc29\ubc95<\/strong>\uc744 \ub2e4\ub8f9\ub2c8\ub2e4. \uc784\ubca0\ub514\ub4dc \uc2dc\uc2a4\ud15c \uac1c\ubc1c\uc5d0\uc11c EEPROM\uc740 \ub2e8\uc21c\ud55c \ub370\uc774\ud130 \uc800\uc7a5\uc18c \uc774\uc0c1\uc758 \uc5ed\ud560\uc744 \ud569\ub2c8\ub2e4. \uc804\uc6d0\uc774 \uaebc\uc838\ub3c4 \uc720\uc9c0\ub418\uc5b4\uc57c \ud558\ub294 \uc124\uc815 \uac12\uc774\ub098, \ubd80\ud305 \uc2dc \ubd88\ub7ec\uc640\uc57c \ud558\ub294 \uc2dc\uc2a4\ud15c \ucd08\uae30\ud654 \ub370\uc774\ud130 \ub4f1\uc744 \uc800\uc7a5\ud558\ub294 \ud575\uc2ec \uba54\ubaa8\ub9ac\ub85c \ud65c\uc6a9\ub418\uae30 \ub54c\ubb38\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\uc65c EEPROM\uc774 \ud544\uc694\ud55c\uac00?<\/h2>\n\n\n\n<p>EEPROM\uc740 <strong>\ube44\ud718\ubc1c\uc131 \uba54\ubaa8\ub9ac<\/strong>\ub85c\uc11c, \ub2e4\uc74c\uacfc \uac19\uc740 \ud544\uc694\uc131\uc744 \ucda9\uc871\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\uc7a5\uce58\uc758 \uc804\uc6d0\uc774 \uaebc\uc838\ub3c4 \uc720\uc9c0\ub418\uc5b4\uc57c \ud558\ub294 \uc124\uc815 \uc815\ubcf4 \uc800\uc7a5<\/li>\n\n\n\n<li>\uc7ac\ubd80\ud305 \uc2dc EEPROM\uc5d0 \uae30\ub85d\ub41c \ub370\uc774\ud130\ub97c \uc77d\uc5b4 \uc790\ub3d9 \ucd08\uae30\ud654 \uc218\ud589<\/li>\n\n\n\n<li>\ub124\ud2b8\uc6cc\ud06c \uc7a5\ube44\uc758 \uacbd\uc6b0, \ud38c\uc6e8\uc5b4 \uc5c5\ub370\uc774\ud2b8 \uacfc\uc815\uc774\ub098 \uc7a5\uce58 \uc2dd\ubcc4\uc744 \uc704\ud55c \ubc84\uc804 \uc815\ubcf4 \ubc0f MAC \uc8fc\uc18c \ub4f1\uc758 \uc720\uc9c0<\/li>\n<\/ul>\n\n\n\n<p>\uc989, EEPROM\uc740 \ub2e8\uc21c\ud55c \ub370\uc774\ud130 \uc800\uc7a5 \uacf5\uac04\uc774 \uc544\ub2c8\ub77c <strong>\uc7a5\uce58\uc758 \uc77c\uad00\uc131\uacfc \uc2e0\ub8b0\uc131\uc744 \uc720\uc9c0\ud558\ub294 \uae30\ubc18<\/strong>\uc774\ub77c\uace0 \ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">EEPROM \uc81c\uc5b4 \ubc29\uc2dd<\/h2>\n\n\n\n<p>EEPROM\uc740 \uc77c\ubc18\uc801\uc73c\ub85c <strong>I2C<\/strong> \ub610\ub294 <strong>SPI<\/strong> \ud1b5\uc2e0\uc744 \ud1b5\ud574 \uc811\uadfc\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\uc18c\uc6a9\ub7c9 EEPROM \u2192 I2C \uc0ac\uc6a9<\/li>\n\n\n\n<li>\ub300\uc6a9\ub7c9 Serial Flash \u2192 SPI \uc0ac\uc6a9<\/li>\n<\/ul>\n\n\n\n<p>\ubcf8 \ud29c\ud1a0\ub9ac\uc5bc\uc5d0\uc11c \uc0ac\uc6a9\ud558\ub294 <strong>TW100PC \ubaa8\ub4c8<\/strong>\uc5d0\ub294 4KB \uc6a9\ub7c9\uc758 <strong>AT24C32 EEPROM<\/strong>\uc774 \ud0d1\uc7ac\ub418\uc5b4 \uc788\uc73c\uba70, I2C \ubc29\uc2dd\uc73c\ub85c \uc81c\uc5b4\ud569\ub2c8\ub2e4.<br>\ub530\ub77c\uc11c \uc774\ubc88 \uae00\uc5d0\uc11c\ub294 <code>twlabcpp<\/code> \ub77c\uc774\ube0c\ub7ec\ub9ac\uc5d0\uc11c \uc81c\uacf5\ud558\ub294 <strong>BaseI2C \ud074\ub798\uc2a4<\/strong>\ub97c \uae30\ubc18\uc73c\ub85c \ub3d9\uc791\uc744 \uc124\uba85\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">EEPROM \ub370\uc774\ud130 \uad6c\uc870 (\ud544\ub4dc \uc815\uc758)<\/h2>\n\n\n\n<p>TW100PC\ub294 <strong>\uc774\ub354\ub137 \uc7a5\uce58<\/strong>\uc774\ubbc0\ub85c, EEPROM \ub0b4\ubd80\uc5d0\ub294 \ud45c\uc900 \uad6c\uc870\uc5d0 \ub530\ub77c \ub2e4\uc591\ud55c \uc815\ubcf4\uac00 \uc815\uc758\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\ubc84\uc804 \uc815\ubcf4<\/li>\n\n\n\n<li>\ub124\ud2b8\uc6cc\ud06c \uad00\ub828 \uc124\uc815 (\uc608: IP, MAC \uc8fc\uc18c)<\/li>\n\n\n\n<li>\ud38c\uc6e8\uc5b4 \uc5c5\ub370\uc774\ud2b8\uc6a9 \uba54\ud0c0\ub370\uc774\ud130<\/li>\n<\/ul>\n\n\n\n<p>\uc774\ub7ec\ud55c \ud544\ub4dc \uad6c\uc870\ub294 \ud544\uc694\uc5d0 \ub530\ub77c \ud655\uc7a5\ud558\uac70\ub098 \uc218\uc815\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ucf54\ub4dc \uad6c\uc131 \uc694\uc18c<\/h2>\n\n\n\n<p>EEPROM \uc81c\uc5b4\ub97c \uc704\ud574 \ud504\ub85c\uc81d\ud2b8\ub294 \ud06c\uac8c 3\uac00\uc9c0 \ud074\ub798\uc2a4\ub85c \ub098\ub204\uc5b4\uc9d1\ub2c8\ub2e4.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>EEPDefinition(.cpp, .h)<\/strong>\n<ul class=\"wp-block-list\">\n<li>EEPROM \ud544\ub4dc \uc774\ub984 \ubc0f \ud06c\uae30 \uc815\uc758<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>AT24CTask(.cpp, .h)<\/strong>\n<ul class=\"wp-block-list\">\n<li>AT24Cxx \uacc4\uc5f4 EEPROM\uc744 \uc81c\uc5b4\ud558\ub294 I2C \ub4dc\ub77c\uc774\ubc84 \ud074\ub798\uc2a4<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>SystemInfo(.cpp, .h)<\/strong>\n<ul class=\"wp-block-list\">\n<li>EEPROM\uc5d0\uc11c \uc77d\uc5b4\uc628 \ub370\uc774\ud130\ub97c \uc800\uc7a5 \ubc0f \uad00\ub9ac<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\ubcf8 \ud29c\ud1a0\ub9ac\uc5bc\uc5d0\uc11c\ub294 \uac01 \ud074\ub798\uc2a4\uc758 \ub0b4\ubd80 \uad6c\ud604\ubcf4\ub2e4\ub294, <strong>\uac1d\uccb4 \uc0dd\uc131 \ubc0f \ud65c\uc6a9 \uc608\uc81c<\/strong>\uc5d0 \ucd08\uc810\uc744 \ub9de\ucda5\ub2c8\ub2e4.<\/p>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ucf54\ub4dc \uad6c\ud604 \uc608\uc81c<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">1. \uad00\ub828 \ud5e4\ub354 \ud30c\uc77c \ubc0f \uac1d\uccb4 \uc120\uc5b8<\/h3>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"cpp\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">#include \"main.h\"\n\n\/* Private includes ----------------------------------------------------------*\/\n\/* USER CODE BEGIN Includes *\/\n#include &lt;ConsoleTask.h>\n#include &lt;BasicFunctions.h>\n#include &lt;RUNLEDTask.h>\n\n#include &lt;EEPDefinition.h>\n#include &lt;SystemInfo.h>\n#include &lt;AT24CTask.h>\n\n#include &lt;ProductCode.h>\n...\nConsoleTask CTask;\n__attribute__ ((section(\".ccmram\"))) volatile uint8_t consoleBuf[2048];\n\nBasicFunctions basic;\nRUNLEDTask runledTask;\n\nEEPDefinition EEP;\nSystemInfo SysInfo;\nAT24CTask At24cTask;\n<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">2. \uac1d\uccb4 \ucd08\uae30\ud654 \ud568\uc218 \uc815\uc758<\/h3>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"cpp\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">...\nvoid InitEepromLocationStruct(void);\nvoid InitSystemInfo(void);\nvoid InitAt24cTask(void);\n...\n\/*\n *\n *\/\nvoid InitEepromLocationStruct(void)\n{\n\tEEP = EEPDefinition(&amp;CTask);\n\n\tEEP.PrintPositionAndLength();\n}\n\n\/*\n *\n *\/\nvoid InitSystemInfo(void)\n{\n\tCTask.PRINTF((char *)\"InitSystemInfo starts\\r\\n\");\n\tCTask.flushTxBuf();\n\tSysInfo = SystemInfo(&amp;CTask);\n\tSysInfo.setEEPPtr(&amp;EEP);\n\tSysInfo.setInitialization();\n\tCTask.PRINTF((char *)\"InitSystemInfo finished\\r\\n\");\n\tCTask.flushTxBuf();\n}\n\n\/*\n *\n *\/\nvoid InitAt24cTask(void)\n{\n\tAt24cTask = AT24CTask(&amp;hi2c3, &amp;CTask, &amp;SysInfo);\n\tAt24cTask.setEEPDefinitionPtr(&amp;EEP);\n\n\tif(At24cTask.checkEEPROM())\n\t{\n\t\tAt24cTask.LoadSystemInfoFromEEPROM();\n\n\t\tif(memcmp(SysInfo.getMacAddr(), TWARELABMAC, 3) != 0)\n\t\t{\n\t\t\tCTask.PRINTF((char *)\"First Run. Doing Factory Reset\\r\\n\");\n\t\t\tSysInfo.setMacAddr(DeviceMac);\n\t\t\tAt24cTask.saveMacAddrToEEPROM();\n\t\t\tSysInfo.setFactoryReset();\n\t\t\tbConfigChanged = True;\n\t\t}\n\n\t\tif((memcmp(SysInfo.getProductCode(), ProductCode, 2) != 0) || (memcmp(SysInfo.getVersion(), FWVer, 3) != 0))\n\t\t{\n\t\t\tCTask.PRINTF((char *)\"Product Code is invalid\\r\\n\");\n\t\t\tSysInfo.setProductCode(ProductCode);\n\t\t\tSysInfo.setVersion(FWVer);\n\t\t\tSysInfo.setNTPDomain(NullString);\n\t\t\tbConfigChanged = True;\n\t\t}\n\n\t\tif(SysInfo.General.NTPDomain[0] == 0xFF)\n\t\t{\n\t\t\tSysInfo.setNTPDomain(NullString);\n\t\t\tbConfigChanged = True;\n\t\t}\n\n\t\tif(SysInfo.getChannelNum() != 1)\n\t\t{\n\t\t\tSysInfo.setChannelNum(1);\n\t\t\tbConfigChanged = True;\n\t\t}\n\n\t\tCTask.flushTxBuf();\n\n\t\tif(bConfigChanged)\n\t\t{\n\t\t\tAt24cTask.SaveSystemInfoToEEPROM();\n\t\t\tCTask.flushTxBuf();\n\t\t\tAt24cTask.LoadSystemInfoFromEEPROM();\n\t\t}\n\n\t}\n}\n<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">3. main.c\uc5d0\uc11c \ucd08\uae30\ud654 \ud638\ucd9c<\/h3>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"cpp\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">...\n  InitEepromLocationStruct();\n  InitSystemInfo();\n  InitAt24cTask();\n...\n<\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud2b8\ub7ec\ube14\uc288\ud305<\/h2>\n\n\n\n<p>EEPROM\uc744 \uc2e4\uc81c\ub85c \uc0ac\uc6a9\ud558\ub2e4 \ubcf4\uba74 \uba87 \uac00\uc9c0 \ud754\ud55c \ubb38\uc81c\uac00 \ubc1c\uc0dd\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\ub370\uc774\ud130\uac00 \uc800\uc7a5\ub418\uc9c0 \uc54a\uc74c<\/strong>\n<ul class=\"wp-block-list\">\n<li>\uc6d0\uc778: Write \uc0ac\uc774\ud074 \uc644\ub8cc \uc804 I2C \ubc84\uc2a4\ub97c \ub2e4\uc2dc \uc811\uadfc<\/li>\n\n\n\n<li>\ud574\uacb0: Write \ud6c4 <strong>tWR(Write Cycle Time)<\/strong> \ub9cc\ud07c \ub300\uae30 \ud544\uc694<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\uc77d\uc740 \uac12\uc774 \uc608\uc0c1\uacfc \ub2e4\ub984<\/strong>\n<ul class=\"wp-block-list\">\n<li>\uc6d0\uc778: EEPROM \uc8fc\uc18c \uacc4\uc0b0 \uc624\ub958<\/li>\n\n\n\n<li>\ud574\uacb0: \uba40\ud2f0\ubc14\uc774\ud2b8 \uc8fc\uc18c \uc9c0\uc6d0 \uc5ec\ubd80 \ud655\uc778 (AT24C32\ub294 2\ubc14\uc774\ud2b8 \uc8fc\uc18c \uc0ac\uc6a9)<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\ubd80\ud305 \uc2dc \ub370\uc774\ud130 \ucd08\uae30\ud654 \uc2e4\ud328<\/strong>\n<ul class=\"wp-block-list\">\n<li>\uc6d0\uc778: EEPROM\uc774 \uc900\ube44\ub418\uae30 \uc804\uc5d0 \uc77d\uae30 \uc2dc\ub3c4<\/li>\n\n\n\n<li>\ud574\uacb0: \uc804\uc6d0 \uc778\uac00 \ud6c4 \uc548\uc815\ud654 \uc2dc\uac04\uc744 \ubcf4\uc7a5<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud655\uc7a5 \ud65c\uc6a9 \uc608\uc2dc<\/h2>\n\n\n\n<p>EEPROM\uc740 \ub124\ud2b8\uc6cc\ud06c \uc124\uc815 \uc800\uc7a5 \uc678\uc5d0\ub3c4 \ub2e4\uc591\ud55c \uc6a9\ub3c4\ub85c \ud65c\uc6a9 \uac00\ub2a5\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\uc0ac\uc6a9\uc790 \ud658\uacbd \uc124\uc815 \uc800\uc7a5<\/strong><br>(\uc608: \ubc1d\uae30, \ubcfc\ub968, \ubaa8\ub4dc \uc124\uc815 \uac12)<\/li>\n\n\n\n<li><strong>\ub85c\uadf8 \ub370\uc774\ud130 \uae30\ub85d<\/strong><br>(\uac04\ub2e8\ud55c \uc774\ubca4\ud2b8 \ud788\uc2a4\ud1a0\ub9ac \uc800\uc7a5)<\/li>\n\n\n\n<li><strong>\ud38c\uc6e8\uc5b4 \ub2e4\uc911 \uc774\ubbf8\uc9c0 \uad00\ub9ac<\/strong><br>(OTA \uc5c5\ub370\uc774\ud2b8 \uc2dc \ud65c\uc131 \uc774\ubbf8\uc9c0 \uc120\ud0dd \ud50c\ub798\uadf8 \uc800\uc7a5)<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\uc815\ub9ac<\/h2>\n\n\n\n<p>\uc774\ubc88 \ub2e8\uacc4\uc5d0\uc11c\ub294 <strong>EEPROM\uc744 \ud65c\uc6a9\ud574 \uc2dc\uc2a4\ud15c \uc815\ubcf4\ub97c \uc800\uc7a5\ud558\uace0 \ubd88\ub7ec\uc624\ub294 \uae30\ubcf8 \uad6c\uc870<\/strong>\ub97c \uc18c\uac1c\ud588\uc2b5\ub2c8\ub2e4.<br>\ud575\uc2ec \ud3ec\uc778\ud2b8\ub294 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>EEPROM\uc740 \uc804\uc6d0 \ucc28\ub2e8 \ud6c4\uc5d0\ub3c4 \uc720\uc9c0\ub418\ub294 \ub370\uc774\ud130\ub97c \uc800\uc7a5\ud558\ub294 \ud575\uc2ec \uc7a5\uce58<\/li>\n\n\n\n<li>TW100PC \ubaa8\ub4c8\uc740 AT24C32 EEPROM\uc744 \uc0ac\uc6a9\ud558\uba70 I2C\ub85c \uc81c\uc5b4<\/li>\n\n\n\n<li>EEPROM \ud544\ub4dc \uc815\uc758\ub97c \ud1b5\ud574 \ub2e4\uc591\ud55c \uc2dc\uc2a4\ud15c \uc815\ubcf4\ub97c \uad6c\uc870\uc801\uc73c\ub85c \uad00\ub9ac \uac00\ub2a5<\/li>\n\n\n\n<li>AT24CTask, SystemInfo \ud074\ub798\uc2a4\uc640 \uac19\uc740 \uacc4\uce35\uc801 \uad6c\uc870\ub97c \ud65c\uc6a9\ud558\uba74 \ucf54\ub4dc \uc720\uc9c0\ubcf4\uc218\uc131\uc774 \ub192\uc544\uc9d0<\/li>\n\n\n\n<li>\ud2b8\ub7ec\ube14\uc288\ud305\uacfc \ud655\uc7a5 \ud65c\uc6a9\ubc95\uc744 \ud1b5\ud574 \uc2e4\uc81c \ud504\ub85c\uc81d\ud2b8\uc5d0 \uc27d\uac8c \uc801\uc6a9 \uac00\ub2a5<\/li>\n<\/ul>\n\n\n\n<p>\ub2e4\uc74c \ud3ec\uc2a4\ud2b8\uc5d0\uc11c\ub294 \uc774 \uad6c\uc870\ub97c \uae30\ubc18\uc73c\ub85c <strong>Ethernet \ud1b5\uc2e0<\/strong>\uc744 \uc704\ud55c <strong>W5500 \uc124\uc815 \ubc0f \ub124\ud2b8\uc6cc\ud06c \uae30\ub2a5 \uc0ac\uc6a9<\/strong>\uc5d0 \ub300\ud55c<strong> \uc608\uc81c<\/strong>\ub97c \ub2e4\ub8f0 \uc608\uc815\uc785\ub2c8\ub2e4.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>EEPROM \uc81c\uc5b4 \ubc0f \uc2dc\uc2a4\ud15c \uc815\ubcf4 \uc800\uc7a5\ud558\uae30 \uc774\ubc88 \ud3ec\uc2a4\ud2b8\uc5d0\uc11c\ub294 EEPROM\uc744 \uc774\uc6a9\ud574 \ud2b9\uc815 \uc815\ubcf4\ub97c \uc77d\uace0 \uc4f0\ub294 \ubc29\ubc95\uc744 \ub2e4\ub8f9\ub2c8\ub2e4. \uc784\ubca0\ub514\ub4dc \uc2dc\uc2a4\ud15c \uac1c\ubc1c\uc5d0\uc11c EEPROM\uc740 \ub2e8\uc21c\ud55c \ub370\uc774\ud130 \uc800\uc7a5\uc18c \uc774\uc0c1\uc758 \uc5ed\ud560\uc744 \ud569\ub2c8\ub2e4. \uc804\uc6d0\uc774 \uaebc\uc838\ub3c4 \uc720\uc9c0\ub418\uc5b4\uc57c \ud558\ub294 \uc124\uc815 \uac12\uc774\ub098, \ubd80\ud305 \uc2dc \ubd88\ub7ec\uc640\uc57c \ud558\ub294 \uc2dc\uc2a4\ud15c \ucd08\uae30\ud654 \ub370\uc774\ud130 \ub4f1\uc744 \uc800\uc7a5\ud558\ub294 \ud575\uc2ec \uba54\ubaa8\ub9ac\ub85c \ud65c\uc6a9\ub418\uae30 \ub54c\ubb38\uc785\ub2c8\ub2e4. \uc65c EEPROM\uc774 \ud544\uc694\ud55c\uac00? EEPROM\uc740 \ube44\ud718\ubc1c\uc131 [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_themeisle_gutenberg_block_has_review":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1,13,12],"tags":[87,90,48,42,32],"class_list":["post-1802","post","type-post","status-publish","format-standard","hentry","category-blog","category-en","category-ko","tag-c","tag-eeprom","tag-i2c","tag-stm32f4","tag-tw100pc"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/twarelab.com\/en\/wp-json\/wp\/v2\/posts\/1802","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/twarelab.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/twarelab.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/twarelab.com\/en\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/twarelab.com\/en\/wp-json\/wp\/v2\/comments?post=1802"}],"version-history":[{"count":4,"href":"https:\/\/twarelab.com\/en\/wp-json\/wp\/v2\/posts\/1802\/revisions"}],"predecessor-version":[{"id":1808,"href":"https:\/\/twarelab.com\/en\/wp-json\/wp\/v2\/posts\/1802\/revisions\/1808"}],"wp:attachment":[{"href":"https:\/\/twarelab.com\/en\/wp-json\/wp\/v2\/media?parent=1802"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/twarelab.com\/en\/wp-json\/wp\/v2\/categories?post=1802"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/twarelab.com\/en\/wp-json\/wp\/v2\/tags?post=1802"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}