{"id":464,"date":"2017-11-24T23:45:56","date_gmt":"2017-11-24T22:45:56","guid":{"rendered":"http:\/\/mikrocontroller.bplaced.net\/wordpress\/?page_id=464"},"modified":"2017-12-30T19:38:24","modified_gmt":"2017-12-30T18:38:24","slug":"66-spi_hd-tm1638-library-stm32f4","status":"publish","type":"page","link":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/?page_id=464","title":{"rendered":"66-SPI_HD-TM1638-Library (STM32F4)"},"content":{"rendered":"<p><div id=\"nav-below\" class=\"navigation\"><div class=\"nav-previous\"><a href=\"https:\/\/mikrocontroller.bplaced.net\/wordpress\/?page_id=462\" title=\"65-SPI_LoLevel_HalfDuplex-Library (STM32F4)\"><span class=\"meta-nav\">\u2190<\/span> 65-SPI_LoLevel_HalfDuplex-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=466\" title=\"67-LCD_ILI9341_SPI-Library (STM32F4)\">67-LCD_ILI9341_SPI-Library (STM32F4) <span class=\"meta-nav\">&rarr;<\/span><\/a><\/div><\/div><!-- #nav-below --><\/p>\n<p>Wer bei Ebay (oder wo auch immer) eine externe IO-Platine mit dem TM1638-Chip gekauft hat, kann diese Library benutzen.<\/p>\n<p>Auf der Platine sind (neben dem Controller) :<br \/>\n8x 7Segment-Anzeige<br \/>\n8x rote LEDs<br \/>\n8x Buttons<\/p>\n<p>Der Controller wird \u00fcber SPI (im Half-Duplex-Mode) angesteuert, aus dem Grund wird die LoLevel-Library (STM32_SPI_HD) ben\u00f6tigt. Im Beispiel habe ich SPI2 benutzt.<\/p>\n<p>Die Funktionen sollten eigentlich selbsterkl\u00e4rend sein. Im Notfall im Quellcode die Kommentare lesen.<\/p>\n<p><strong>Beispielbild :<\/strong><\/p>\n<p><a href=\"http:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-content\/uploads\/2013\/10\/tm1638.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-2658\" src=\"http:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-content\/uploads\/2013\/10\/tm1638-300x179.jpg\" alt=\"tm1638\" width=\"300\" height=\"179\" \/><\/a><\/p>\n<p><strong>Benutzte Pins :<\/strong><\/p>\n<pre lang=\"c\" line=\"1\">SCK an PB13\r\nDIO an PB15\r\nChipSelect an PB12<\/pre>\n<p><strong>Voraussetzungen :<\/strong><\/p>\n<pre lang=\"c\" line=\"1\">Benutzte Module der CooCox-IDE : GPIO\r\nBenutzte Librarys : STM32_UB_SPI2_HD<\/pre>\n<p><strong>Funktionen :<\/strong><\/p>\n<pre lang=\"c\" line=\"1\">ErrorStatus UB_TM1638_Init(void);                               \/\/ init vom TM1638\r\nvoid UB_TM1638_Display_Off(void);                               \/\/ Display ausschalten\r\nvoid UB_TM1638_Display_On(uint8_t pwm);                         \/\/ Display einschalten (mit Helligkeit)\r\nvoid UB_TM1638_LED_On(uint8_t led_nr);                          \/\/ um eine einzelne LED einzuschalten\r\nvoid UB_TM1638_LED_Off(uint8_t led_nr);                         \/\/ um eine einzelne LED auszuschalten\r\nvoid UB_TM1638_LED_Value(uint8_t wert);                         \/\/ um eine 8bit-Zahl an den LEDs auszugeben\r\nvoid UB_TM1638_7Seg_Ziffer(uint8_t segment_nr, uint8_t ziffer); \/\/ um eine einzelne 7Segment anzusteuern\r\nvoid UB_TM1638_7Seg_Dec(uint32_t wert);                         \/\/ eine Dezimalzahl an den 7Segment ausgeben\r\nvoid UB_TM1638_7Seg_Hex(uint32_t wert);                         \/\/ eine Hex-Zahl an den 7Segment ausgeben\r\nuint8_t UB_MT1638_Get_Key(void);                                \/\/ um alle 8Buttons einzulesen<\/pre>\n<p><strong>Beispiel :<\/strong><\/p>\n<pre lang=\"c\" line=\"1\">\/\/--------------------------------------------------------------\r\n\/\/ File     : main.c\r\n\/\/ Datum    : 01.01.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.4\r\n\/\/ GCC      : 4.7 2012q4\r\n\/\/ Module   : CMSIS_BOOT, M4_CMSIS_CORE\r\n\/\/ Funktion : Demo der TM1638-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_tm1638.h\"\r\n\r\nint main(void)\r\n{\r\n  uint8_t wert;\r\n\r\n  SystemInit(); \/\/ Quarz Einstellungen aktivieren\r\n\r\n  \/\/ init vom TM1638\r\n  UB_TM1638_Init();\r\n\r\n  \/\/ Display einschalten (niedrigste Helligkeit)\r\n  UB_TM1638_Display_On(0);\r\n\r\n  \/\/ 8Stellige Hex-Zahl anzeigen\r\n  UB_TM1638_7Seg_Hex(0x1234ABCD);\r\n\r\n  while(1)\r\n  {\r\n    \/\/ status der 8Tasten abfragen\r\n    wert=UB_MT1638_Get_Key();\r\n    \/\/ an den 8LEDs ausgeben\r\n    UB_TM1638_LED_Value(wert);\r\n  }\r\n}\r\n<\/pre>\n<p>Hier die Library zum\u00a0<strong>Download :<\/strong><\/p>\n<p><a href=\"http:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-content\/uploads\/2013\/10\/ub_stm32f4_spi_hd_tm1638_v100.zip\">ub_stm32f4_spi_hd_tm1638_v100<\/a><\/p>\n<p>Hier der komplette CooCox-Projektordner zum\u00a0<strong>Download :<\/strong><\/p>\n<p><a href=\"http:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-content\/uploads\/2013\/10\/Demo_66_SPI_HD_TM1638.zip\">Demo_66_SPI_HD_TM1638<\/a><\/p>\n<hr \/>\n<h3 id=\"comments-title\">6 Antworten auf <em>66-SPI_HD-TM1638-Library (STM32F4)<\/em><\/h3>\n<ol class=\"commentlist\">\n<li id=\"li-comment-888\" class=\"comment even thread-even depth-1\">\n<div id=\"comment-888\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/1.gravatar.com\/avatar\/5383f0e79efdf859ea090a082bb02f76?s=40&amp;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">ManiB<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">16. Oktober 2013 um 22:38<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Hi Uwe,<\/p>\n<p>tolle Umsetzung!<\/p>\n<p>Das LED KEY Modul gibt\u2019s zur Zeit bei eBay f\u00fcr 7,29 \u20ac:<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<li id=\"li-comment-889\" class=\"comment odd alt thread-odd thread-alt depth-1\">\n<div id=\"comment-889\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/1.gravatar.com\/avatar\/b894d67379dd0647dd316009f47155d2?s=40&amp;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">Joerg<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">17. Oktober 2013 um 00:10<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Auf Ebay.com noch 2 \u20ac g\u00fcnstiger<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-1220\" class=\"comment even depth-2\">\n<div id=\"comment-1220\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/1.gravatar.com\/avatar\/b894d67379dd0647dd316009f47155d2?s=40&amp;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">Joerg<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">27. Dezember 2013 um 14:40<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>wow das war mal schnell, am 17.Okt. bestellt und heute in der Post <img decoding=\"async\" class=\"wp-smiley\" src=\"wp-includes\/images\/smilies\/icon_biggrin.gif\" alt=\":D\" \/><\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ul>\n<\/li>\n<li id=\"li-comment-934\" class=\"comment odd alt thread-even depth-1\">\n<div id=\"comment-934\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/1.gravatar.com\/avatar\/9fd3d5bde6304cf9f30120d717721ef9?s=40&amp;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">Fabrice Muller<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">5. November 2013 um 13:11<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Hallo ,<br \/>\nIch habe diese Modul zeit heute morgen aber mit der stm429 Discovery ist der<br \/>\nSPI2 nicht frei <img decoding=\"async\" class=\"wp-smiley\" src=\"wp-includes\/images\/smilies\/icon_smile.gif\" alt=\":)\" \/><br \/>\nAls ich sehen der SPI4 wurde ok aber deine neues library ist f\u00fcr full duplex Mode und<br \/>\ndie alter SPI f\u00fcr stm407 was f\u00fcr half-Duplex Mode <img decoding=\"async\" class=\"wp-smiley\" src=\"wp-includes\/images\/smilies\/icon_smile.gif\" alt=\":)\" \/><br \/>\nIst hier m\u00f6glich das einfach zu benutzen mit deine neues SPI library ?<\/p>\n<p>MFG.<\/p>\n<p>Fabrice.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-938\" class=\"comment even depth-2\">\n<div id=\"comment-938\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/1.gravatar.com\/avatar\/9fd3d5bde6304cf9f30120d717721ef9?s=40&amp;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">Fabrice Muller<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">5. November 2013 um 15:27<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Erledigt <img decoding=\"async\" class=\"wp-smiley\" src=\"wp-includes\/images\/smilies\/icon_smile.gif\" alt=\":)\" \/><br \/>\nIch sende dir der spi4_hd und tm1638 lib f\u00fcr stm429 via gmail.<\/p>\n<p>MFG.<\/p>\n<p>Fabrice.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-947\" class=\"comment byuser comment-author-admin_ub bypostauthor odd alt depth-3\">\n<div id=\"comment-947\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/67426419ead44d5afa132e92685bb460?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\">admin_ub<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">5. November 2013 um 21:49<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Danke, gesehen und upgedated.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>Wer bei Ebay (oder wo auch immer) eine externe IO-Platine mit dem TM1638-Chip gekauft hat, kann diese Library benutzen. Auf der Platine sind (neben dem Controller) : 8x 7Segment-Anzeige 8x rote LEDs 8x Buttons Der Controller wird \u00fcber SPI (im &hellip; <a href=\"https:\/\/mikrocontroller.bplaced.net\/wordpress\/?page_id=464\">Weiterlesen <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":144,"menu_order":66,"comment_status":"open","ping_status":"closed","template":"","meta":{"footnotes":""},"categories":[128],"tags":[214,9,49,7,215],"class_list":["post-464","page","type-page","status-publish","hentry","category-stm32f4","tag-half-duplex","tag-library","tag-spi","tag-stm32f4","tag-tm1638"],"_links":{"self":[{"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/index.php?rest_route=\/wp\/v2\/pages\/464","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=464"}],"version-history":[{"count":3,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/index.php?rest_route=\/wp\/v2\/pages\/464\/revisions"}],"predecessor-version":[{"id":1605,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/index.php?rest_route=\/wp\/v2\/pages\/464\/revisions\/1605"}],"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=464"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=464"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=464"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}