{"id":626,"date":"2017-11-25T20:06:54","date_gmt":"2017-11-25T19:06:54","guid":{"rendered":"http:\/\/mikrocontroller.bplaced.net\/wordpress\/?page_id=626"},"modified":"2017-12-30T19:47:59","modified_gmt":"2017-12-30T18:47:59","slug":"11-twi_ds1307-library-atmega","status":"publish","type":"page","link":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/?page_id=626","title":{"rendered":"11-TWI_DS1307-Library (ATMega)"},"content":{"rendered":"<p><div id=\"nav-below\" class=\"navigation\"><div class=\"nav-previous\"><a href=\"https:\/\/mikrocontroller.bplaced.net\/wordpress\/?page_id=622\" title=\"10-TWI_LM75-Library (ATMega)\"><span class=\"meta-nav\">\u2190<\/span> 10-TWI_LM75-Library (ATMega)<\/a><\/div><\/div><!-- #nav-below --><div id=\"nav-below\" class=\"navigation\"><div class=\"nav-next\"><a href=\"https:\/\/mikrocontroller.bplaced.net\/wordpress\/?page_id=628\" title=\"12-TWI_M24C02-Library (ATMega)\">12-TWI_M24C02-Library (ATMega) <span class=\"meta-nav\">&rarr;<\/span><\/a><\/div><\/div><!-- #nav-below --><\/p>\n<p>-diese Library dient zum ansteuern eines <a href=\"https:\/\/www.reichelt.de\/Real-Time-Clock\/DS-1307\/3\/index.html?ACTION=3&amp;GROUPID=2949&amp;ARTICLE=58149\" target=\"_blank\" rel=\"noopener\">DS1307 RealTimeClock IC<\/a>s<br \/>\nvon einem externen Modul das per TWI-Bus an die CPU angeschlossen ist<br \/>\n(z.B. das Modul von myAVR \u201c<a href=\"http:\/\/shop.myavr.de\/?sp=article.sp.php&amp;artID=70\" target=\"_blank\" rel=\"noopener\">myTWI Echtzeituhr<\/a>\u201d)<\/p>\n<p>-es kann nur ein DS1307 gleichzeitig angesteuert werden<\/p>\n<p>-das externe Modul ist an den TWI-Bus angeschlossen,<br \/>\naus dem Grund wird auch der TWI-Treiber<br \/>\n\u201cMK3_2560_TWI.h\u201d benoetigt<\/p>\n<p>-Es gibt noch einen anderen Treiber fuer das PCF8583 RTC-IC<\/p>\n<p><strong>Funktionen :<\/strong><\/p>\n<pre lang=\"c\" line=\"1\">void EXT_INIT_DS1307(void);      \/\/ zum initialisieren des DS1307\r\nvoid EXT_DS1307_READ_UHR(void);  \/\/ zum auslesen der UHR\r\nvoid EXT_DS1307_WRITE_UHR(void); \/\/ zum beschreiben der UHR\r\nvoid EXT_DS1307_START_UHR(void); \/\/ zum starten der Uhr\r\nvoid EXT_DS1307_STOP_UHR(void);  \/\/ zum anhalten der Uhr<\/pre>\n<p><strong>Beispiel :<\/strong><\/p>\n<pre lang=\"c\" line=\"1\">\/\/-----------------------------------------------------------------------------\r\n\/\/ Title      : bsp_ub023_mk3_ext_ds1307\r\n\/\/-----------------------------------------------------------------------------\r\n\/\/ Funktion   : Externes TWI-Modul : RealTimeClock\r\n\/\/ Schaltung  : myAVR MK3 + myTWI-AddOn-EchtzeitUhr\r\n\/\/-----------------------------------------------------------------------------\r\n\/\/ Prozessor  : ATMega2560\r\n\/\/ Takt       : 16 MHz\r\n\/\/ Sprache    : C\r\n\/\/ Date       : 20.11.2010\r\n\/\/ Version    : 1.1\r\n\/\/ Autor      : UB\r\n\/\/-----------------------------------------------------------------------------\r\n#define F_CPU 16000000\r\n#include &lt;avr\/io.h&gt;\r\n#include &lt;ub_ext_module\/EXT_TWI_DS1307.h&gt;\r\n#include &lt;ub_mk3_2560\/MK3_2560_LED.h&gt;\r\n\r\n\/\/-----------------------------------------------------------------------------\r\n\/\/ Hinweis :\r\n\/\/ &gt; Quick-Jumper Port-L muss gesetzt sein\r\n\/\/ &gt; externes TWI-Modul muss am Stecker rechts unten angeschlossen sein\r\n\/\/ &gt; TWI-Port-Pins (D0+D1) werden benoetigt\r\n\/\/ - das Programm liest zyklisch die Uhrzeit ein und zeigt\r\n\/\/   die Sekunden als Binaerwert an den LEDs an\r\n\/\/ - bei einem Fehler wird 0x55 angezeigt\r\n\/\/-----------------------------------------------------------------------------\r\nint main (void)\r\n{\r\n  char wert=0;\r\n  unsigned int p=0;\r\n\r\n  MK3_INIT_LED(); \/\/ init der LEDs\r\n  EXT_INIT_DS1307(); \/\/ init vom externen DS1307\r\n\r\n  while (true)\r\n  {\r\n    \/\/ auslesen der aktuellen uhrzeit\r\n    EXT_DS1307_READ_UHR();\r\n\r\n    if(EXT_DS1307_OK==true) {\r\n      \/\/ wenn alles ok\r\n\r\n      \/\/ anzeigen des sekundenwertes\r\n      wert=EXT_DS1307.sekunden;\r\n      MK3_LED_ZAHL(wert);\r\n    }\r\n    else {\r\n      \/\/ 0x55 wird als FEHLER angezeigt\r\n      MK3_LED_ZAHL(0x55);\r\n    }\r\n\r\n    for(p=0;p&lt;60000;p++) {\r\n      \/\/ kleine Pause\r\n    }\r\n  }\r\n  return 0;\r\n}\r\n<\/pre>\n<p>Hier die Library zum download :<\/p>\n<p><a href=\"wp-content\/uploads\/2013\/03\/UB_EXT_TWI_DS1307_v105.zip\">UB_EXT_TWI_DS1307_v105<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>-diese Library dient zum ansteuern eines DS1307 RealTimeClock ICs von einem externen Modul das per TWI-Bus an die CPU angeschlossen ist (z.B. das Modul von myAVR \u201cmyTWI Echtzeituhr\u201d) -es kann nur ein DS1307 gleichzeitig angesteuert werden -das externe Modul ist &hellip; <a href=\"https:\/\/mikrocontroller.bplaced.net\/wordpress\/?page_id=626\">Weiterlesen <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":554,"menu_order":11,"comment_status":"open","ping_status":"closed","template":"","meta":{"footnotes":""},"categories":[127],"tags":[11,29,9,31,30],"class_list":["post-626","page","type-page","status-publish","hentry","category-atmega","tag-atmega2650","tag-ds1307","tag-library","tag-mytwi-echtzeituhr","tag-realtimeclock"],"_links":{"self":[{"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/index.php?rest_route=\/wp\/v2\/pages\/626","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=626"}],"version-history":[{"count":4,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/index.php?rest_route=\/wp\/v2\/pages\/626\/revisions"}],"predecessor-version":[{"id":947,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/index.php?rest_route=\/wp\/v2\/pages\/626\/revisions\/947"}],"up":[{"embeddable":true,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/index.php?rest_route=\/wp\/v2\/pages\/554"}],"wp:attachment":[{"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=626"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=626"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=626"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}