{"id":245,"date":"2017-11-23T00:11:37","date_gmt":"2017-11-22T23:11:37","guid":{"rendered":"http:\/\/mikrocontroller.bplaced.net\/wordpress\/?page_id=245"},"modified":"2023-03-05T00:00:29","modified_gmt":"2023-03-04T23:00:29","slug":"23-dac-library-stm32f4","status":"publish","type":"page","link":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/?page_id=245","title":{"rendered":"23-DAC-Library (STM32F4)"},"content":{"rendered":"<p><div id=\"nav-below\" class=\"navigation\"><div class=\"nav-previous\"><a href=\"https:\/\/mikrocontroller.bplaced.net\/wordpress\/?page_id=243\" title=\"22-SysCheck-Library (STM32F4)\"><span class=\"meta-nav\">\u2190<\/span> 22-SysCheck-Library (STM32F4)<\/a><\/div><\/div><!-- #nav-below --><div id=\"nav-below\" class=\"navigation\"><div class=\"nav-next\"><a href=\"https:\/\/mikrocontroller.bplaced.net\/wordpress\/?page_id=247\" title=\"24-DAC_DMA-Library (STM32F4)\">24-DAC_DMA-Library (STM32F4) <span class=\"meta-nav\">&rarr;<\/span><\/a><\/div><\/div><!-- #nav-below --><\/p>\n<p>Mit dieser Library k\u00f6nnen die beiden internen 12bit DA-Wandler (DAC1 und DAC2) der STM32F4-CPU benutzt werden.<\/p>\n<p>Beim initialisieren muss angegeben werden ob nur ein DAC oder beide benutzt werden soll.<\/p>\n<p>Wenn beide DACs benutzt werden gibt es eine extra Funktion um beide DA-Werte gleichzeitig an den Pins auszugeben.<\/p>\n<p><strong><strong>Beispielbild :<\/strong><\/strong><\/p>\n<p><a href=\"http:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-content\/uploads\/2013\/03\/dac.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-992\" src=\"http:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-content\/uploads\/2013\/03\/dac-300x179.jpg\" alt=\"dac\" width=\"300\" height=\"179\" \/><\/a><\/p>\n<p>Die DA-Wandler liegen an festen Pins der CPU :<\/p>\n<pre lang=\"c\" line=\"1\">DAC1 an PA4\r\nDAC2 an PA5<\/pre>\n<p><strong>Voraussetzungen :<\/strong><\/p>\n<pre lang=\"c\" line=\"1\">Benutzte Module der CooCox-IDE : GPIO, DAC\r\nBenutzte Librarys : keine<\/pre>\n<p><strong>Enumerationen :<\/strong><\/p>\n<pre lang=\"c\" line=\"1\">typedef enum {\r\n  SINGLE_DAC1 = 0, \/\/ nur DAC1 an PA4 benutzen\r\n  SINGLE_DAC2,     \/\/ nur DAC2 an PA5 benutzen\r\n  DUAL_DAC         \/\/ DAC1 (PA4) und DAC2 (PA5) benutzen\r\n}DAC_MODE_t;<\/pre>\n<p><strong>Funktionen :<\/strong><\/p>\n<pre lang=\"c\" line=\"1\">void UB_DAC_Init(DAC_MODE_t mode);                             \/\/ um den DAC zu initialisieren\r\nvoid UB_DAC_SetDAC1(uint16_t wert);                            \/\/ um einen Wert an DAC2 auszugeben\r\nvoid UB_DAC_SetDAC2(uint16_t wert);                            \/\/ um einen Wert an DAC2 auszugeben\r\nvoid UB_DAC_SetDAC1u2(uint16_t dacwert_1, uint16_t dacwert_2); \/\/ um beide DACs gleichzeitig zu beschreiben<\/pre>\n<p><strong>Beispiel :<\/strong><\/p>\n<pre lang=\"c\" line=\"1\">\/\/--------------------------------------------------------------\r\n\/\/ File     : main.c\r\n\/\/ Datum    : 23.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 DAC-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_dac.h\"\r\n\r\nint main(void)\r\n{\r\n  uint16_t wert;\r\n\r\n  SystemInit(); \/\/ Quarz Einstellungen aktivieren\r\n\r\n  \/\/ init vom DAC (nur DAC-1)\r\n  UB_DAC_Init(SINGLE_DAC1);\r\n\r\n  while(1)\r\n  {\r\n    \/\/ erzeugen eines S\u00e4gezahn-Signals\r\n    \/\/ von 0 bis 3,3V an PA4\r\n    \/\/ mit einer Periodendauer von ca T=2ms (f=ca 500Hz)\r\n    for(wert=0;wert&lt;4096;wert++) {\r\n      UB_DAC_SetDAC1(wert);\r\n    }\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_dac_v100.zip\">ub_stm32f4_dac_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_23_DAC.zip\">Demo_23_DAC<\/a><\/p>\n<h3 id=\"comments-title\">Eine Antwort auf <em>23-DAC-Library (STM32F4)<\/em><\/h3>\n<ol class=\"commentlist\">\n<li id=\"li-comment-1855\" class=\"comment even thread-even depth-1\">\n<div id=\"comment-1855\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/240ae96a792f189ba17805c89832c191?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">marcel<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">11. Juni 2014 um 01:08<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>hi, tolle seite, komme immer mal gern wieder vorbei <img decoding=\"async\" class=\"wp-smiley\" src=\"wp-includes\/images\/smilies\/icon_smile.gif\" alt=\":)\" \/><\/p>\n<p>was mir aufgefallen ist: aktualisier doch in den headern deiner dateien mal deine website!<\/p>\n<p>gr\u00fc\u00dfe<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>Mit dieser Library k\u00f6nnen die beiden internen 12bit DA-Wandler (DAC1 und DAC2) der STM32F4-CPU benutzt werden. Beim initialisieren muss angegeben werden ob nur ein DAC oder beide benutzt werden soll. Wenn beide DACs benutzt werden gibt es eine extra Funktion &hellip; <a href=\"https:\/\/mikrocontroller.bplaced.net\/wordpress\/?page_id=245\">Weiterlesen <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":144,"menu_order":23,"comment_status":"open","ping_status":"closed","template":"","meta":{"footnotes":""},"categories":[128],"tags":[181,9,7],"class_list":["post-245","page","type-page","status-publish","hentry","category-stm32f4","tag-dac","tag-library","tag-stm32f4"],"_links":{"self":[{"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/index.php?rest_route=\/wp\/v2\/pages\/245","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=245"}],"version-history":[{"count":4,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/index.php?rest_route=\/wp\/v2\/pages\/245\/revisions"}],"predecessor-version":[{"id":3675,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/index.php?rest_route=\/wp\/v2\/pages\/245\/revisions\/3675"}],"up":[{"embeddable":true,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/index.php?rest_route=\/wp\/v2\/pages\/144"}],"wp:attachment":[{"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=245"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=245"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=245"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}