{"id":665,"date":"2017-11-26T19:42:28","date_gmt":"2017-11-26T18:42:28","guid":{"rendered":"http:\/\/mikrocontroller.bplaced.net\/wordpress\/?page_id=665"},"modified":"2017-12-30T19:50:14","modified_gmt":"2017-12-30T18:50:14","slug":"29-counter-library-atmega","status":"publish","type":"page","link":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/?page_id=665","title":{"rendered":"29-Counter-Library (ATMega)"},"content":{"rendered":"<p><div id=\"nav-below\" class=\"navigation\"><div class=\"nav-previous\"><a href=\"https:\/\/mikrocontroller.bplaced.net\/wordpress\/?page_id=663\" title=\"28-PWM-Library (ATMega)\"><span class=\"meta-nav\">\u2190<\/span> 28-PWM-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=667\" title=\"30-TWI_MyEth-Library (ATMega)\">30-TWI_MyEth-Library (ATMega) <span class=\"meta-nav\">&rarr;<\/span><\/a><\/div><\/div><!-- #nav-below --><\/p>\n<p>-die Library implementiert Funktionen um Impulszeiten und Periodendauern zu messen.<\/p>\n<p>-es wird ein 16Bit-Timer und ein Interrupt-Eingang daf\u00fcr benutzt.<\/p>\n<p><strong>Funktionen :<\/strong><\/p>\n<pre lang=\"c\" line=\"1\">void MK3_INIT_COUNTER(void);                              \/\/ zum initialisieren\r\nvoid MK3_COUNTER_SET(CNT_TYP c_typ, START_TRG c_on, STOP_TRG c_off);  \/\/ zum setzen\r\nvoid MK3_COUNTER_START(void);                             \/\/ zum starten\r\nvoid MK3_COUNTER_STOP(void);                              \/\/ zum stoppen\r\nbool MK3_COUNTER_CHECK(void);                             \/\/ test auf Event\r\nCNT_EVENT MK3_COUNTER_READ_EVENT(void);                   \/\/ Event auslesen\r\nunsigned int MK3_COUNTER_READ_TIME(void);                 \/\/ Wert auslesen<\/pre>\n<p><strong>Beispiel :<\/strong><\/p>\n<pre lang=\"c\" line=\"1\">\/\/-----------------------------------------------------------------------------\r\n\/\/ Title      : bsp_ub050_mk3_counter3\r\n\/\/-----------------------------------------------------------------------------\r\n\/\/ Funktion   : Counter Test3\r\n\/\/ Schaltung  : myAVR MK3\r\n\/\/-----------------------------------------------------------------------------\r\n\/\/ Prozessor  : ATMega2560\r\n\/\/ Takt       : 16 MHz\r\n\/\/ Sprache    : C\r\n\/\/ Date       : 16.06.2012\r\n\/\/ Version    : 1.0\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_mk3_2560\/MK3_2560_COUNTER.h&gt;\r\n#include &lt;ub_mk3_2560\/MK3_2560_LCD.h&gt;\r\n#include &lt;UB_MK3_2560\/MK3_2560_PWM.h&gt;\r\n\r\n\/\/-----------------------------------------------------------------------------\r\n\/\/ Hinweis :\r\n\/\/ - Quick-Jumper Port-C+A muss gesetzt sein\r\n\/\/ - Verbindung vom PWM-2 (Port-G, Bit-5)\r\n\/\/   zum ICP1-Pin (Port-D, Bit-4) muss gemacht werden\r\n\/\/ - benutzt Counter Funktion um eine\r\n\/\/   Periodendauer am ICP-1 Pin zu messen\r\n\/\/ - Frq wird per PWM Nr.2 erzeugt\r\n\/\/\r\n\/\/-----------------------------------------------------------------------------\r\nint main (void)\r\n{\r\n  float a=0.0;\r\n  float b=123.4;\r\n  float c=5678.9;\r\n  unsigned int n=0;\r\n\r\n  MK3_INIT_COUNTER(); \/\/ init vom Counter\r\n  MK3_INIT_LCD(); \/\/ Init vom Display\r\n\r\n  MK3_INIT_PWM(PWM_2,PWM_LO);\r\n  MK3_PWM_SET(PWM_2,128);\r\n\r\n  MK3_LCD_CLEAR();\r\n  MK3_LCD_LIGHT(true);\r\n\r\n  MK3_LCD_STRING_AT(0,0,\"Counter-Test 3\");\r\n  MK3_LCD_STRING_AT(0,16,\"Messung : ICP-1\");\r\n\r\n  \/\/ Counter starten im Mode : Millisekunden\r\n  \/\/ und Periodenmessung an ICP1-Pin\r\n  MK3_COUNTER_SET(TYP_US_10000,START_NOW,CYCLE_ICP);\r\n\r\n  while (true)\r\n  {\r\n    \/\/ Daueranzeige vom Ergebnis\r\n    \/\/ Ergebnis muesste ca 250 us sein\r\n    if(MK3_COUNTER_CHECK()==true) {\r\n      n=MK3_COUNTER_READ_TIME();\r\n      MK3_LCD_UINT_AT(0,40,n);\r\n      MK3_LCD_STRING_AT(35,40,\"us\");\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\/02\/UB_MK3_2560_COUNTER_v100.zip\">UB_MK3_2560_COUNTER_v100<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>-die Library implementiert Funktionen um Impulszeiten und Periodendauern zu messen. -es wird ein 16Bit-Timer und ein Interrupt-Eingang daf\u00fcr benutzt. Funktionen : void MK3_INIT_COUNTER(void); \/\/ zum initialisieren void MK3_COUNTER_SET(CNT_TYP c_typ, START_TRG c_on, STOP_TRG c_off); \/\/ zum setzen void MK3_COUNTER_START(void); \/\/ zum &hellip; <a href=\"https:\/\/mikrocontroller.bplaced.net\/wordpress\/?page_id=665\">Weiterlesen <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":554,"menu_order":29,"comment_status":"open","ping_status":"closed","template":"","meta":{"footnotes":""},"categories":[127],"tags":[11,58,9,55],"class_list":["post-665","page","type-page","status-publish","hentry","category-atmega","tag-atmega2650","tag-counter","tag-library","tag-timer"],"_links":{"self":[{"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/index.php?rest_route=\/wp\/v2\/pages\/665","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=665"}],"version-history":[{"count":3,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/index.php?rest_route=\/wp\/v2\/pages\/665\/revisions"}],"predecessor-version":[{"id":1232,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/index.php?rest_route=\/wp\/v2\/pages\/665\/revisions\/1232"}],"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=665"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=665"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=665"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}