{"id":304,"date":"2017-11-23T20:53:36","date_gmt":"2017-11-23T19:53:36","guid":{"rendered":"http:\/\/mikrocontroller.bplaced.net\/wordpress\/?page_id=304"},"modified":"2017-12-30T19:29:42","modified_gmt":"2017-12-30T18:29:42","slug":"11-adc_injected-group-library-stm32f429","status":"publish","type":"page","link":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/stm32f429\/komplette-library-liste-stm32f429\/11-adc_injected-group-library-stm32f429\/","title":{"rendered":"11-ADC_Injected-Group-Library (STM32F429)"},"content":{"rendered":"<p><div id=\"nav-below\" class=\"navigation\"><div class=\"nav-previous\"><a href=\"https:\/\/mikrocontroller.bplaced.net\/wordpress\/stm32f429\/komplette-library-liste-stm32f429\/10-adc_dma-mode-stm32f429\/\" title=\"10-ADC_DMA-Mode (STM32F429)\"><span class=\"meta-nav\">\u2190<\/span> 10-ADC_DMA-Mode (STM32F429)<\/a><\/div><\/div><!-- #nav-below --><div id=\"nav-below\" class=\"navigation\"><div class=\"nav-next\"><a href=\"https:\/\/mikrocontroller.bplaced.net\/wordpress\/stm32f429\/komplette-library-liste-stm32f429\/12-uart-library-stm32f429\/\" title=\"12-UART-Library (STM32F429)\">12-UART-Library (STM32F429) <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 drei identische Libs f\u00fcr ADC1, ADC2 und ADC3<br \/>\n(sie unterscheiden sich nur in den verwendeten Variabelnnamen)<\/p>\n<p>im Beispiel wurden 2 Pins als Analog-IN definiert und per ADC2 gemessen<\/p>\n<pre lang=\"c\" line=\"1\">PA5, PC3<\/pre>\n<p><strong>Enumerationen (f\u00fcr ADC1) :<\/strong><\/p>\n<pre lang=\"c\" line=\"1\">typedef enum {\r\n  ADC_PA5 = 0,  \/\/ PA5\r\n  ADC_PC3 = 1   \/\/ PC3\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    : 31.10.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      : STM32F429\r\n\/\/ IDE      : CooCox CoIDE 1.7.4\r\n\/\/ GCC      : 4.7 2012q4\r\n\/\/ Module   : CMSIS_BOOT, M4_CMSIS_CORE\r\n\/\/ Funktion : Demo der ADC-Injected-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\/\/ In Configuration diese Define hinzuf\u00fcgen :\r\n\/\/ \"STM32F429_439xx\" , \"__ASSEMBLY__\" , \"USE_STDPERIPH_DRIVER\"\r\n\/\/--------------------------------------------------------------\r\n\r\n#include \"main.h\"\r\n#include \"stm32_ub_lcd_ili9341.h\"\r\n#include \"stm32_ub_font.h\"\r\n#include \"stm32_ub_adc1_ig.h\"\r\n#include &lt;stdio.h&gt;\r\n\r\nint main(void)\r\n{\r\n  uint16_t adc_wert;\r\n  char buf[20];\r\n\r\n  SystemInit(); \/\/ Quarz Einstellungen aktivieren\r\n\r\n  \/\/ Init vom LCD\r\n  UB_LCD_Init();\r\n  \/\/ Init vom ADC (Injected-Group)\r\n  UB_ADC1_IG_Init();\r\n\r\n  \/\/ Init der Layer\r\n  UB_LCD_LayerInit_Fullscreen();\r\n  \/\/ auf Hintergrund schalten\r\n  UB_LCD_SetLayer_1();\r\n  \/\/ Hintergrund komplett mit einer Farbe f\u00fcllen\r\n  UB_LCD_FillLayer(RGB_COL_WHITE);\r\n  \/\/ auf Vordergrund schalten\r\n  UB_LCD_SetLayer_2();\r\n  \/\/ Vordergrund komplett mit einer Farbe f\u00fcllen\r\n  UB_LCD_FillLayer(RGB_COL_GREEN);\r\n\r\n  \/\/ Ueberschrift\r\n  UB_Font_DrawString(10,10,\"Demo_11 :    \",&amp;Arial_11x18,RGB_COL_WHITE,RGB_COL_RED);\r\n  UB_Font_DrawString(10,30,\"ADC-Injected \",&amp;Arial_11x18,RGB_COL_WHITE,RGB_COL_RED);\r\n\r\n  while(1)\r\n  {\r\n    \/\/ ADC-Wert auslesen\r\n    adc_wert=UB_ADC1_IG_Read(ADC_PA5);\r\n    sprintf(buf,\"PA5 = %4d\",adc_wert);\r\n    UB_Font_DrawString(10,100,buf,&amp;Arial_11x18,RGB_COL_BLACK,RGB_COL_GREEN);\r\n\r\n    \/\/ ADC-Wert auslesen\r\n    adc_wert=UB_ADC1_IG_Read(ADC_PC3);\r\n    sprintf(buf,\"PC3 = %4d\",adc_wert);\r\n    UB_Font_DrawString(10,150,buf,&amp;Arial_11x18,RGB_COL_BLACK,RGB_COL_GREEN);\r\n  }\r\n}\r\n<\/pre>\n<p>Hier die Library zum\u00a0<strong>Download :<\/strong><\/p>\n<p><a href=\"wp-content\/uploads\/2013\/10\/adc_injected_f429_v100.zip\">adc_injected_f429_v100<\/a><\/p>\n<p>Hier der komplette CooCox-Projektordner zum\u00a0<strong>Download :<\/strong><\/p>\n<p><a href=\"wp-content\/uploads\/2013\/10\/Demo_F429_11.zip\">Demo_F429_11<\/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\/stm32f429\/komplette-library-liste-stm32f429\/11-adc_injected-group-library-stm32f429\/\">Weiterlesen <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":3,"featured_media":0,"parent":160,"menu_order":11,"comment_status":"open","ping_status":"closed","template":"","meta":{"footnotes":""},"categories":[129],"tags":[20,255,9,102],"class_list":["post-304","page","type-page","status-publish","hentry","category-stm32f429","tag-adc","tag-injected","tag-library","tag-stm32f429"],"_links":{"self":[{"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/pages\/304","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\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/comments?post=304"}],"version-history":[{"count":4,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/pages\/304\/revisions"}],"predecessor-version":[{"id":1673,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/pages\/304\/revisions\/1673"}],"up":[{"embeddable":true,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/pages\/160"}],"wp:attachment":[{"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/media?parent=304"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/categories?post=304"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/tags?post=304"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}