{"id":1755,"date":"2025-09-18T18:00:00","date_gmt":"2025-09-18T09:00:00","guid":{"rendered":"https:\/\/twarelab.com\/?p=1755"},"modified":"2025-09-18T16:56:10","modified_gmt":"2025-09-18T07:56:10","slug":"stm32f4-c-firmware-development-tutorial","status":"publish","type":"post","link":"https:\/\/twarelab.com\/en\/blog\/stm32f4-c-firmware-development-tutorial\/","title":{"rendered":"[STM32F4] C++ \uae30\ubc18 \ud38c\uc6e8\uc5b4 \uac1c\ubc1c \ud29c\ud1a0\ub9ac\uc5bc"},"content":{"rendered":"\n<h1 class=\"wp-block-heading\">\ubc30\uacbd<\/h1>\n\n\n\n<p>\ucd5c\uadfc \uc784\ubca0\ub514\ub4dc \uc2dc\uc2a4\ud15c \uac1c\ubc1c \ud604\uc7a5\uc5d0\uc11c\ub294 \ud38c\uc6e8\uc5b4 \uac1c\ubc1c\uc790\ub97c \ucc3e\ub294 \uac83\uc774 \uc810\uc810 \uc5b4\ub824\uc6cc\uc9c0\uace0 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\ud2b9\ud788 \ucd08\ubcf4 \uac1c\ubc1c\uc790 \uc785\uc7a5\uc5d0\uc11c\ub294 \ud504\ub85c\uc81d\ud2b8\ub97c \ucc98\uc74c\ubd80\ud130 \ub05d\uae4c\uc9c0 \ub530\ub77c\uac00\uae30 \uc27d\uc9c0 \uc54a\uace0, \uae30\uc874\uc5d0 \uc313\uc778 \ucf54\ub4dc\ub97c \uc7ac\ud65c\uc6a9\ud558\uae30\ub3c4 \uc27d\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\uac1c\ubc1c \ub09c\uc774\ub3c4<\/strong>: \uae30\ucd08\ub97c \ubc30\uc6cc\ub3c4 \uc2e4\uc81c \uc751\uc6a9\uae4c\uc9c0 \uc5f0\uacb0\ud558\uae30 \uc5b4\ub835\ub2e4.<\/li>\n\n\n\n<li><strong>\uae30\ub2a5 \uc7ac\uc0ac\uc6a9\uc131 \ubd80\uc871<\/strong>: \ub9e4\ubc88 \ub3d9\uc77c\ud55c \uae30\ub2a5\uc744 \uc0c8\ub85c \uc791\uc131\ud574\uc57c \ud558\ub294 \ube44\ud6a8\uc728.<\/li>\n\n\n\n<li><strong>\ud504\ub85c\uc81d\ud2b8 \ud2b9\ud654 \uc694\uad6c<\/strong>: \uacf5\ud1b5 \uae30\ub2a5\uc740 \uc774\ubbf8 \uac16\ucdb0\uc838 \uc788\uc73c\uba74\uc11c, \ud504\ub85c\uc81d\ud2b8\ubcc4\ub85c \ud544\uc694\ud55c \ubd80\ubd84\ub9cc \uc190\uc27d\uac8c \ucd94\uac00\ud560 \uc218 \uc788\uc73c\uba74 \uc88b\ub2e4.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\ubaa9\ud45c<\/h1>\n\n\n\n<p>\uc774 \ud29c\ud1a0\ub9ac\uc5bc\uc758 \ubaa9\ud45c\ub294 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\uc7ac\uc0ac\uc6a9 \uac00\ub2a5\ud55c \uad6c\uc870<\/strong>\n<ul class=\"wp-block-list\">\n<li>\ud55c\ubc88 \ub9cc\ub4e0 \uae30\ub2a5\uc740 \ub77c\uc774\ube0c\ub7ec\ub9ac \ud615\ud0dc\ub85c \uc7ac\uc0ac\uc6a9\ud560 \uc218 \uc788\ub3c4\ub85d \ud55c\ub2e4.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\uc548\uc815\uc801\uc778 \uc2dc\uc2a4\ud15c<\/strong>\n<ul class=\"wp-block-list\">\n<li>\uc2e4\uc81c \ud604\uc7a5\uc5d0\uc11c \uc0ac\uc6a9\ud560 \uc218 \uc788\uc744 \ub9cc\ud07c \uc548\uc815\uc801\uc778 \uad6c\uc131\uc744 \uc9c0\ud5a5\ud55c\ub2e4.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\uad6c\uc131 \ubc29\uc2dd<\/h1>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Peripheral \uc81c\uc5b4 \uae30\ub2a5<\/strong> \u2192 \uac1c\ubcc4 \ud074\ub798\uc2a4\ub85c \uc815\uc758 \ud6c4 \ub77c\uc774\ube0c\ub7ec\ub9ac\ud654<\/li>\n\n\n\n<li><strong>\uae30\ubcf8 Application \uae30\ub2a5<\/strong> \u2192 \uac1c\ubcc4 \ud074\ub798\uc2a4\ub85c \uc815\uc758 \ud6c4 \ub77c\uc774\ube0c\ub7ec\ub9ac\ud654<\/li>\n\n\n\n<li><strong>\ud2b9\uc815 \ud504\ub85c\uc81d\ud2b8 Application<\/strong> \u2192 \uac1c\ubc1c\uc790\uac00 \uc9c1\uc811 \uad6c\ud604\n<ul class=\"wp-block-list\">\n<li>\uc774\ub97c \uc704\ud574 \uc608\uc81c \uae30\ubc18 \ud29c\ud1a0\ub9ac\uc5bc \uc81c\uacf5<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\ud29c\ud1a0\ub9ac\uc5bc \uc9c4\ud589 \uc21c\uc11c<\/h1>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\uc544\ub798 \ub2e8\uacc4\ubcc4 \ud29c\ud1a0\ub9ac\uc5bc\uc744 \ud1b5\ud574, C++ \uae30\ubc18 \ud38c\uc6e8\uc5b4 \uac1c\ubc1c \ubc29\ubc95\uc744 \ucc28\uadfc\ucc28\uadfc \ub530\ub77c\uac08 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\n<ul class=\"wp-block-list\">\n<li>[\uae30\ubc18 Hardware TW100PC Pin Map]<\/li>\n\n\n\n<li>[Step 1] \ud504\ub85c\uc81d\ud2b8 \uc0dd\uc131 \ubc0f \uae30\ubcf8 \uc124\uc815<\/li>\n\n\n\n<li>[Step 2] Timer \ubc0f GPIO \uc81c\uc5b4<\/li>\n\n\n\n<li>[Step 3] \ud1b5\uc2e0 \ud3ec\ud2b8 \ud65c\uc6a9 (UART, SPI, I2C \ub4f1)<\/li>\n\n\n\n<li>[Step 4] \uc751\uc6a9 \uc608\uc81c \uac1c\ubc1c<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\ub9c8\uce58\uba70<\/h1>\n\n\n\n<p>\uc774 \uc2dc\ub9ac\uc988\ub294 \ucd08\ubcf4\uc790\ub3c4 \uc27d\uac8c \ub530\ub77c\ud558\uba74\uc11c, \ub3d9\uc2dc\uc5d0 \uc219\ub828\uc790\uc5d0\uac8c\ub294 <strong>\uc7ac\uc0ac\uc6a9\uc131\uacfc \ud655\uc7a5\uc131<\/strong>\uc744 \ubcf4\uc7a5\ud558\ub294 C++ \uae30\ubc18 \ud38c\uc6e8\uc5b4 \uac1c\ubc1c \ubc29\ubc95\uc744 \uc548\ub0b4\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\ub2e8\uacc4\ubcc4 \uacfc\uc815\uc744 \ud1b5\ud574 \ud504\ub85c\uc81d\ud2b8 \uc804\uccb4 \uad6c\uc870\ub97c \uba85\ud655\ud788 \uc774\ud574\ud558\uace0, \uc2e4\uc81c \ud604\uc7a5\uc5d0\uc11c \ubc14\ub85c \uc801\uc6a9 \uac00\ub2a5\ud55c \ucf54\ub4dc \uc790\uc0b0\uc744 \ud655\ubcf4\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>tutorial for C++ firmware development on STM32F4<\/p>","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":true,"template":"","format":"standard","meta":{"_themeisle_gutenberg_block_has_review":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1,13,12],"tags":[87,43,88,42,85],"class_list":["post-1755","post","type-post","status-publish","format-standard","hentry","category-blog","category-en","category-ko","tag-c","tag-cpp","tag-firmware","tag-stm32f4","tag-tutorial"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/twarelab.com\/en\/wp-json\/wp\/v2\/posts\/1755","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=1755"}],"version-history":[{"count":4,"href":"https:\/\/twarelab.com\/en\/wp-json\/wp\/v2\/posts\/1755\/revisions"}],"predecessor-version":[{"id":1761,"href":"https:\/\/twarelab.com\/en\/wp-json\/wp\/v2\/posts\/1755\/revisions\/1761"}],"wp:attachment":[{"href":"https:\/\/twarelab.com\/en\/wp-json\/wp\/v2\/media?parent=1755"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/twarelab.com\/en\/wp-json\/wp\/v2\/categories?post=1755"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/twarelab.com\/en\/wp-json\/wp\/v2\/tags?post=1755"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}