{"id":675,"date":"2017-11-26T19:48:19","date_gmt":"2017-11-26T18:48:19","guid":{"rendered":"http:\/\/mikrocontroller.bplaced.net\/wordpress\/?page_id=675"},"modified":"2017-12-30T19:50:48","modified_gmt":"2017-12-30T18:50:48","slug":"33-irrc-library-atmega","status":"publish","type":"page","link":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/atmega2560\/komplette-library-liste-atmega\/33-irrc-library-atmega\/","title":{"rendered":"33-IRRC-Library (ATMega)"},"content":{"rendered":"<p><div id=\"nav-below\" class=\"navigation\"><div class=\"nav-previous\"><a href=\"https:\/\/mikrocontroller.bplaced.net\/wordpress\/atmega2560\/komplette-library-liste-atmega\/32-wav-library-atmega\/\" title=\"32-WAV-Library (ATMega)\"><span class=\"meta-nav\">\u2190<\/span> 32-WAV-Library (ATMega)<\/a><\/div><\/div><!-- #nav-below --><div id=\"nav-below\" class=\"navigation\"><div class=\"nav-next\"><a href=\"https:\/\/mikrocontroller.bplaced.net\/wordpress\/atmega2560\/komplette-library-liste-atmega\/34-menu-library-atmega\/\" title=\"34-Menu-Library (ATMega)\">34-Menu-Library (ATMega) <span class=\"meta-nav\">&rarr;<\/span><\/a><\/div><\/div><!-- #nav-below --><\/p>\n<p>-diese Library kann mit Hilfe eines IR-Decoder-ICs (z.B. SFH 5110) die IR-Codes<br \/>\nvon Fernbedienungen auslesen.<\/p>\n<p>-es wird ein 8bit-Timer benutzt<\/p>\n<p>-es gibt eine Library f\u00fcr den IR-Code : \u201cRC5\u2033 und<br \/>\neine andere Library f\u00fcr den IR-Code : \u201cSIRCS\u201d<\/p>\n<p><strong>Funktionen :<\/strong><\/p>\n<pre lang=\"c\" line=\"1\">void MK3_INIT_IRRC(void);            \/\/ zum initialisieren der IRRC-Funktionen\r\nIRRC_Status_t MK3_IRRC_check(void);  \/\/ check ob ein IR-RC-Code empfangen wurde<\/pre>\n<p><strong>Beispiel :<\/strong><\/p>\n<pre lang=\"c\" line=\"1\">\/\/-----------------------------------------------------------------------------\r\n\/\/ Title      : bsp_ub056_mk3_ir_sircs\r\n\/\/-----------------------------------------------------------------------------\r\n\/\/ Funktion   : Infrarot-Daten auslesen und anzeigen (SIRCS)\r\n\/\/ Schaltung  : myAVR MK3\r\n\/\/-----------------------------------------------------------------------------\r\n\/\/ Prozessor  : ATMega2560\r\n\/\/ Takt       : 16 MHz\r\n\/\/ Sprache    : C\r\n\/\/ Date       : 09.11.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_LCD.h&gt;\r\n#include &lt;ub_mk3_2560\/MK3_2560_IR_SIRCS.h&gt;\r\n\r\n\/\/-----------------------------------------------------------------------------\r\n\/\/ Hinweis : Quick-Jumper Port-C+A muss gesetzt sein\r\n\/\/ - ein IR-Sensor (z.B. SFH-5110) muss an Port-L Bit-4 angeschlossen sein\r\n\/\/ - eine Fernbedienung mit Code-Typ : SIRCS muss benutzt werden\r\n\/\/-----------------------------------------------------------------------------\r\nint main (void)\r\n{\r\n  IRRC_Status_t status;\r\n  unsigned int n;\r\n  unsigned char m=0;\r\n\r\n  MK3_INIT_LCD(); \/\/ init des LCD\r\n  MK3_LCD_CLEAR(); \/\/ LCD loeschen\r\n  MK3_LCD_LIGHT(true); \/\/ beleuchtung einschalten\r\n\r\n  MK3_LCD_STRING_AT(0,0,\"IR-Test [Code:SIRCS]\");\r\n\r\n  \/\/ IR-Funktion initialisieren\r\n  MK3_INIT_IRRC();\r\n\r\n  while (true)\r\n  {\r\n    \/\/ IR-Status abfragen\r\n    status=MK3_IRRC_check();\r\n    if(status!=IRRC_NO_CMD) {\r\n      \/\/ wenn ein IR-Commando empfangen wurde\r\n      if(status==IRRC_CMD_OK)     MK3_LCD_STRING_AT(0,16,\"RX=OK    \");\r\n      if(status==IRRC_CMD_REPEAT) MK3_LCD_STRING_AT(0,16,\"RX=Repeat\");\r\n      if(status==IRRC_CMD_ERR)    MK3_LCD_STRING_AT(0,16,\"RX=Error \");\r\n      if(status==IRRC_TYP_ERR)    MK3_LCD_STRING_AT(0,16,\"TYP=Error\");\r\n\r\n      \/\/ anzeigen der empfangenen Bytes\r\n      MK3_LCD_STRING_AT(0,24,\"Data=\");\r\n      for(n=0;n&lt;IRRC_DATA_BYTES;n++) { MK3_LCD_PRINT_UTYP(IRRC.ir_code[n],HEX_U2); MK3_LCD_PRINT_STRING(\",\"); } \/\/ Typ anzeigen if(IRRC.ir_typ==IRRC_SIRCS) MK3_LCD_STRING_AT(0,32,\"Typ=SIRCS\"); if(IRRC.ir_typ==IRRC_RC5) MK3_LCD_STRING_AT(0,32,\"Typ=RC5 \"); if(IRRC.ir_typ==IRRC_UNDEFINED) MK3_LCD_STRING_AT(0,32,\"Typ=? \"); \/\/ Symbol anzeigen m++; if(m&gt;3) m=0;\r\n      if(m==0) MK3_LCD_STRING_AT(0,48,\".   \");\r\n      if(m==1) MK3_LCD_STRING_AT(0,48,\"..  \");\r\n      if(m==2) MK3_LCD_STRING_AT(0,48,\"... \");\r\n      if(m==3) MK3_LCD_STRING_AT(0,48,\"....\");\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_IRRC_v100.zip\">UB_MK3_2560_IRRC_v100<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>-diese Library kann mit Hilfe eines IR-Decoder-ICs (z.B. SFH 5110) die IR-Codes von Fernbedienungen auslesen. -es wird ein 8bit-Timer benutzt -es gibt eine Library f\u00fcr den IR-Code : \u201cRC5\u2033 und eine andere Library f\u00fcr den IR-Code : \u201cSIRCS\u201d Funktionen : &hellip; <a href=\"https:\/\/mikrocontroller.bplaced.net\/wordpress\/atmega2560\/komplette-library-liste-atmega\/33-irrc-library-atmega\/\">Weiterlesen <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":554,"menu_order":33,"comment_status":"open","ping_status":"closed","template":"","meta":{"footnotes":""},"categories":[127],"tags":[11,63,9,62],"class_list":["post-675","page","type-page","status-publish","hentry","category-atmega","tag-atmega2650","tag-ir-decoder-ic","tag-library","tag-sfh-5110"],"_links":{"self":[{"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/pages\/675","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\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/comments?post=675"}],"version-history":[{"count":3,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/pages\/675\/revisions"}],"predecessor-version":[{"id":1236,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/pages\/675\/revisions\/1236"}],"up":[{"embeddable":true,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/pages\/554"}],"wp:attachment":[{"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/media?parent=675"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/categories?post=675"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/tags?post=675"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}