{"id":196,"date":"2017-11-22T22:46:26","date_gmt":"2017-11-22T21:46:26","guid":{"rendered":"http:\/\/mikrocontroller.bplaced.net\/wordpress\/?page_id=196"},"modified":"2023-03-04T17:08:37","modified_gmt":"2023-03-04T16:08:37","slug":"01-led-library-stm32f4","status":"publish","type":"page","link":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/stm32f4\/komplette-library-liste-stm32f4\/01-led-library-stm32f4\/","title":{"rendered":"01-LED-Library (STM32F4)"},"content":{"rendered":"<p><div id=\"nav-below\" class=\"navigation\"><div class=\"nav-previous\"><a href=\"https:\/\/mikrocontroller.bplaced.net\/wordpress\/stm32f4\/komplette-library-liste-stm32f4\/\" title=\"Komplette-Library-Liste (STM32F4)\"><span class=\"meta-nav\">\u2190<\/span> Komplette-Library-Liste (STM32F4)<\/a><\/div><\/div><!-- #nav-below --><div id=\"nav-below\" class=\"navigation\"><div class=\"nav-next\"><a href=\"https:\/\/mikrocontroller.bplaced.net\/wordpress\/stm32f4\/komplette-library-liste-stm32f4\/02-button-library-stm32f4\/\" title=\"02-Button-Library (STM32F4)\">02-Button-Library (STM32F4) <span class=\"meta-nav\">&rarr;<\/span><\/a><\/div><\/div><!-- #nav-below --><br \/>\nAuf dem Discovery Board gibt es 4 LEDs die vom User benutzt werden k\u00f6nnen.<br \/>\nMit dieser Library k\u00f6nnen die LEDs einfach geschaltet werden.<\/p>\n<pre lang=\"c\" line=\"1\">LED4 (green) an\u00a0PD12\r\nLED3\u00a0(orange) an PD13\r\nLED5 (red) an\u00a0PD14\r\nLED6 (blue) an\u00a0PD15<\/pre>\n<p><strong>Voraussetzungen :<\/strong><\/p>\n<pre lang=\"c\" line=\"1\">Benutzte Module der CooCox-IDE : GPIO\r\nBenutzte Librarys : keine<\/pre>\n<p><strong>Enumerationen :<\/strong><\/p>\n<pre lang=\"c\" line=\"1\">typedef enum {\r\n  LED_GREEN = 0,\r\n  LED_ORANGE = 1\r\n  LED_RED = 2,\r\n  LED_BLUE = 3\r\n}LED_NAME_t;<\/pre>\n<p><strong>:<\/strong><\/p>\n<pre lang=\"c\" line=\"1\">typedef enum {\r\n  LED_OFF = 0, \/\/ LED AUS\r\n  LED_ON       \/\/ LED EIN\r\n}LED_STATUS_t;<\/pre>\n<p><strong>Funktionen :<\/strong><\/p>\n<pre lang=\"c\" line=\"1\">void UB_Led_Init(void);                                     \/\/ zum init der LEDs\r\nvoid UB_Led_On(LED_NAME_t led_name);                        \/\/ um eine LED einzuschalten\r\nvoid UB_Led_Off(LED_NAME_t led_name);                       \/\/ um eine LED auszuschalten\r\nvoid UB_Led_Toggle(LED_NAME_t led_name);                    \/\/ um eine LED zu toggeln\r\nvoid UB_Led_Switch(LED_NAME_t led_name, LED_STATUS_t wert); \/\/ um eine LED zu schalten<\/pre>\n<p><strong>Beispiel :<\/strong><\/p>\n<pre lang=\"c\" line=\"1\">\/\/--------------------------------------------------------------\r\n\/\/ File : main.c\r\n\/\/ Datum : 10.02.2013\r\n\/\/ Version : 1.0\r\n\/\/ Autor : UB\r\n\/\/ EMail : mc-4u(@)t-online.de\r\n\/\/ Web : www.mikrocontroller-4u.de\r\n\/\/ CPU : STM32F4\r\n\/\/ IDE : CooCox CoIDE 1.7.0\r\n\/\/ Module : CMSIS_BOOT, M4_CMSIS_CORE\r\n\/\/ Funktion : Demo der LED-Library\r\n\/\/ Hinweis : Diese zwei Files muessen auf 8MHz stehen\r\n\/\/ \"cmsis_boot\/stm32f4xx.h\"\r\n\/\/ \"cmsis_boot\/system_stm32f4xx.c\"\r\n\/\/--------------------------------------------------------------\r\n\r\n#include \"main.h\"\r\n#include \"stm32_ub_led.h\"\r\n\r\nvoid Delay(volatile uint32_t nCount) {\r\n  while(nCount--) {\r\n  }\r\n}\r\n\r\nint main(void) {\r\n\r\n  SystemInit(); \/\/ Quarz Einstellungen aktivieren\r\n\r\n  UB_Led_Init(); \/\/ Init der LEDs\r\n\r\n  UB_Led_On(LED_GREEN); \/\/ gruene LED einschalten\r\n\r\n  while(1) {\r\n    Delay(5000000);\r\n    UB_Led_Toggle(LED_RED); \/\/ rote LED blinkt\r\n  }\r\n}\r\n<\/pre>\n<p><strong>Beschreibung :<\/strong><\/p>\n<pre lang=\"c\" line=\"1\">Funktion :\r\n-gr\u00fcne LED wird dauerhaft eingeschaltet\r\n-rote LED blinkt zyklisch\r\n\r\nLibrarys die f\u00fcr das Beispiel benutzt werden :\r\n-stm32_ub_led<\/pre>\n<p><strong>Library um eigene LEDs erweitern :<\/strong><\/p>\n<p>Falls noch mehr LEDs benutzt werden sollen (oder weniger) dann muss folgendes gemacht werden :<\/p>\n<p>1. Im H-File m\u00fcssen alle LEDs in der Enumeration \u201cLED_NAME_t\u201d aufgelistet werden und die Anzahl im Define \u201cLED_ANZ\u201d muss entsprechend angepasst werden.<\/p>\n<p>2. Im C-File m\u00fcssen in der Struktur \u201cLED_t\u201d alle LEDs eingetragen und den entsprechenen Ports und Port-Pins zugewiesen werden.<\/p>\n<p>Hier die Library zum <strong>Download :<\/strong><\/p>\n<p><a href=\"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-content\/uploads\/2013\/02\/ub_stm32f4_led_v101.zip\">ub_stm32f4_led_v101<\/a><\/p>\n<p>Hier der komplette CooCox-Projektordner zum <strong>Download :<\/strong><\/p>\n<p><a href=\"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-content\/uploads\/2013\/02\/Demo_01_Led.zip\">Demo_01_Led<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Auf dem Discovery Board gibt es 4 LEDs die vom User benutzt werden k\u00f6nnen. Mit dieser Library k\u00f6nnen die LEDs einfach geschaltet werden. LED4 (green) an\u00a0PD12 LED3\u00a0(orange) an PD13 LED5 (red) an\u00a0PD14 LED6 (blue) an\u00a0PD15 Voraussetzungen : Benutzte Module der &hellip; <a href=\"https:\/\/mikrocontroller.bplaced.net\/wordpress\/stm32f4\/komplette-library-liste-stm32f4\/01-led-library-stm32f4\/\">Weiterlesen <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":144,"menu_order":1,"comment_status":"open","ping_status":"closed","template":"","meta":{"footnotes":""},"categories":[128],"tags":[8,9,7],"class_list":["post-196","page","type-page","status-publish","hentry","category-stm32f4","tag-led","tag-library","tag-stm32f4"],"_links":{"self":[{"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/pages\/196","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/comments?post=196"}],"version-history":[{"count":7,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/pages\/196\/revisions"}],"predecessor-version":[{"id":3649,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/pages\/196\/revisions\/3649"}],"up":[{"embeddable":true,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/pages\/144"}],"wp:attachment":[{"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/media?parent=196"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/categories?post=196"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/tags?post=196"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}