{"id":241,"date":"2017-11-23T00:09:29","date_gmt":"2017-11-22T23:09:29","guid":{"rendered":"http:\/\/mikrocontroller.bplaced.net\/wordpress\/?page_id=241"},"modified":"2023-03-04T23:56:58","modified_gmt":"2023-03-04T22:56:58","slug":"21-adc_injected-group-library-stm32f4","status":"publish","type":"page","link":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/stm32f4\/komplette-library-liste-stm32f4\/21-adc_injected-group-library-stm32f4\/","title":{"rendered":"21-ADC_Injected-Group-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\/20-fatfs_picture-library-stm32f4\/\" title=\"20-FATFS_Picture-Library (STM32F4)\"><span class=\"meta-nav\">\u2190<\/span> 20-FATFS_Picture-Library (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\/22-syscheck-library-stm32f4\/\" title=\"22-SysCheck-Library (STM32F4)\">22-SysCheck-Library (STM32F4) <span class=\"meta-nav\">&rarr;<\/span><\/a><\/div><\/div><!-- #nav-below --><\/p>\n<p>Diese Library betreibt die AD-Wandler im Injected-Group-Mode.<\/p>\n<p>In diesem Mode k\u00f6nnen bis zu 4 AD-Kan\u00e4le in einer Liste angelegt werden,<br \/>\ndie dann zyklisch gemessen werden. Die CPU muss dann nur noch die Messwerte abfragen.<\/p>\n<p>die ADC-Pins die benutzt werden sollen, m\u00fcssen im H-File deklariert und im C-File den entsprechenden Port-Pins zugeordnet werden.<\/p>\n<p>es gibt zwei identische Libs einmal f\u00fcr ADC1 und einmal f\u00fcr ADC2<br \/>\n(sie unterscheiden sich nur in den verwendeten Variabelnnamen)<\/p>\n<p>im Beispiel wurden 3 Pins als Analog-IN definiert und per ADC2 gemessen<\/p>\n<pre lang=\"c\" line=\"1\">PA3, PC4, PC5<\/pre>\n<p><strong>Voraussetzungen :<\/strong><\/p>\n<pre lang=\"c\" line=\"1\">Benutzte Module der CooCox-IDE : GPIO, ADC\r\nBenutzte Librarys : keine<\/pre>\n<p><strong>Enumerationen (f\u00fcr ADC1) :<\/strong><\/p>\n<pre lang=\"c\" line=\"1\">typedef enum {\r\n  ADC_PA3 = 0,  \/\/ PA3\r\n  ADC_PC4 = 1,  \/\/ PC4\r\n  ADC_PC5 = 2   \/\/ PC5\r\n}ADC1i_NAME_t;<\/pre>\n<p><strong>Funktionen (f\u00fcr ADC1) :<\/strong><\/p>\n<pre lang=\"c\" line=\"1\">void UB_ADC1_IG_Init(void);                       \/\/ zum initialisieren und starten\r\nuint16_t UB_ADC1_IG_Read(ADC1i_NAME_t adc_name);  \/\/ zum auslesen von einem AD-Kanal<\/pre>\n<p><strong>Beispiel :<\/strong><\/p>\n<pre lang=\"c\" line=\"1\">\/\/--------------------------------------------------------------\r\n\/\/ File     : main.c\r\n\/\/ Datum    : 22.03.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 ADC-Injected-Group-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_adc2_ig.h\"\r\n#include \"stm32_ub_led.h\"\r\n\r\nint main(void)\r\n{\r\n  uint16_t adc_wert;\r\n\r\n  SystemInit(); \/\/ Quarz Einstellungen aktivieren\r\n\r\n  \/\/ Init vom ADC2 und start der Dauermessung\r\n  UB_ADC2_IG_Init();\r\n  \/\/ Init der LEDs\r\n  UB_Led_Init();\r\n\r\n  while(1)\r\n  {\r\n    \/\/ ADC-Kanal an PA3 messen und die Blaue LED entsprechend schalten\r\n    adc_wert=UB_ADC2_IG_Read(ADC_PA3);\r\n    if(adc_wert&gt;2048) UB_Led_On(LED_BLUE); else UB_Led_Off(LED_BLUE);\r\n    \/\/ ADC-Kanal an PC4 messen und die rote LED entsprechend schalten\r\n    adc_wert=UB_ADC2_IG_Read(ADC_PC4);\r\n    if(adc_wert&gt;2048) UB_Led_On(LED_RED); else UB_Led_Off(LED_RED);\r\n    \/\/ ADC-Kanal an PC5 messen und die gruene LED entsprechend schalten\r\n    adc_wert=UB_ADC2_IG_Read(ADC_PC5);\r\n    if(adc_wert&gt;2048) UB_Led_On(LED_GREEN); else UB_Led_Off(LED_GREEN);\r\n  }\r\n}\r\n<\/pre>\n<p>Hier die Library zum\u00a0<strong>Download :<\/strong><\/p>\n<p><a href=\"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-content\/uploads\/2013\/03\/ub_stm32f4_adc_injected_v100.zip\">ub_stm32f4_adc_injected_v100<\/a><\/p>\n<p>Hier der komplette CooCox-Projektordner zum\u00a0<strong>Download :<\/strong><\/p>\n<p><a href=\"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-content\/uploads\/2013\/03\/Demo_21_ADC_InjGroup.zip\">Demo_21_ADC_InjGroup<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Diese Library betreibt die AD-Wandler im Injected-Group-Mode. In diesem Mode k\u00f6nnen bis zu 4 AD-Kan\u00e4le in einer Liste angelegt werden, die dann zyklisch gemessen werden. Die CPU muss dann nur noch die Messwerte abfragen. die ADC-Pins die benutzt werden sollen, &hellip; <a href=\"https:\/\/mikrocontroller.bplaced.net\/wordpress\/stm32f4\/komplette-library-liste-stm32f4\/21-adc_injected-group-library-stm32f4\/\">Weiterlesen <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":144,"menu_order":21,"comment_status":"open","ping_status":"closed","template":"","meta":{"footnotes":""},"categories":[128],"tags":[20,9,7],"class_list":["post-241","page","type-page","status-publish","hentry","category-stm32f4","tag-adc","tag-library","tag-stm32f4"],"_links":{"self":[{"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/pages\/241","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=241"}],"version-history":[{"count":5,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/pages\/241\/revisions"}],"predecessor-version":[{"id":3672,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/pages\/241\/revisions\/3672"}],"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=241"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/categories?post=241"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/tags?post=241"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}