{"id":1127,"date":"2016-01-25T13:33:56","date_gmt":"2016-01-25T13:33:56","guid":{"rendered":"http:\/\/wp.andreas.bieri.name\/myblog\/?p=1127"},"modified":"2016-01-25T13:33:56","modified_gmt":"2016-01-25T13:33:56","slug":"democode-serielle-lcd-ansteuerung-bit-bang","status":"publish","type":"post","link":"http:\/\/52.29.166.97\/myblog\/2016\/01\/25\/democode-serielle-lcd-ansteuerung-bit-bang\/","title":{"rendered":"Democode: serielle LCD Ansteuerung (bit bang)"},"content":{"rendered":"<p>Optimierter Code f\u00fcr die parallele Ansteuerung eines LCD Moduls \u00fcber 2 Leitungen und ein Schieberegister (Autor: Roland Elmiger).<\/p>\n<pre>\n\/\/-------------------------------------------------------------------------\n\/\/ LCD-Routine f\u00fcr LC-Meter (2-Bit)\n\/\/-------------------------------------------------------------------------\n\/\/ Roland Elmiger, HB9GAA\n\/\/ Letzter Update : 25.09.2007\n\/\/-------------------------------------------------------------------------\n#include \"Includes.h\"\n\n#define\t\tLCD_Daten\tLATBbits.LATB5\t\t\/\/LCD-Daten Ausgang\n#define\t\tLCD_Clock\tLATBbits.LATB4\t\t\/\/LCD-Clock Ausgang\n\n#define\t\tZeile1\t\t\t0x00\t\t\t\t\t\/\/1. LCD-Zeile\n#define\t\tZeile2\t\t\t0x40\t\t\t\t\t\/\/2. LCD-Zeile\n\n#define\t\tFunc_Set\t\t0b00101000\t\t\/\/2 Zeilen und 5x7 Zeichen, 4 Bit\n#define\t\tDisp_On\t\t\t0b00001100\t\t\/\/Anzeige ein\n#define\t\tDisp_On_C\t\t0b00001110\t\t\/\/Anzeige ein, Cursor ein\n#define\t\tDisp_On_B\t\t0b00001111\t\t\/\/Anzeige ein, Cursor ein und blinken\n#define\t\tDisp_Off\t\t0b00001000\t\t\/\/Anzeige aus\n#define\t\tClr_Disp\t\t0b00000001\t\t\/\/Anzeige l\u00f6schen\n#define\t\tEntry_Inc\t\t0b00000110\t\t\/\/Auto-Inkrement\n#define\t\tEntry_Inc_S\t0b00000111\t\t\t\/\/Auto-Inkrement, Anzeige schieben\n#define\t\tEntry_Dec\t\t0b00000100\t\t\/\/Auto-Dekrement\n#define\t\tEntry_Dec_S\t0b00000101\t\t\t\/\/Auto-Dekrement, Anzeige schieben\n#define\t\tCGRAM\t\t\t\t0b01000000\t\/\/CGRAM, Least Significant 6-bit are for address\n#define\t\tDD_Ram_Addr\t0b10000000\t\t\t\/\/Least Significant 7-bit are for address\n#define\t\tDD_Ram_UL\t\t0b10000000\t\t\/\/Upper Left coner of the Display\n\n\n\/\/ Ein Clock senden\n\/\/-------------------------------------------------------------------------\n\nvoid Clock (void)\n\t{\n\t  LCD_Clock=1;\n\t\tNop();\n\t  LCD_Clock=0;\n\t}\n\n\n\/\/ Ein Nibble senden (unteres Nibble von n, c=0 als Cmd, c=1 als Char)\n\/\/-------------------------------------------------------------------------\n\nvoid NibbleOut(unsigned char n, unsigned char c)\t\/\/ein nibble an LCD senden\n\t{\t\t\n\tchar Temp, i;\n\tTemp=n & 0x0F;\t\t\t\t\t\t\t\t\/\/das nibble speichern und hinausschieben\n\t\n\tfor (i=8; i>0; --i)\t\t\t\t\t\t\t\/\/das Shift Register l\u00f6schen\n\t{\n  Clock();\t\t\t\t\t\t\t\t\t\t\/\/Clock ausgeben\n\t}\n\t\t\n\/\/Bit-7 -----------------------------------------\n\tLCD_Daten=1;\t\t\t\t\t\t\t\t\/\/das Gate Bit setzen\t\t\t\n  Clock();\t\t\t\t\t\t\t\t\t\t\/\/Clock ausgeben\n\t\t  \t\n\/\/Bit-6 -----------------------------------------\n\tLCD_Daten=0;\t\t\t\t\t\t\t\t\/\/das Lamp-Bit zur\u00fccksetzen\n\tif (Flag1bits.Lamp_On==1u)\t\t\t\t\t\/\/Test, ist LAMP-Bit 1 oder 0?\n\t  LCD_Daten=1;\t\t\t\t\t\t\t\t\/\/das Lamp-Bit setzen\n  Clock();\t\t\t\t\t\t\t\t\t\t\/\/Clock ausgeben\n\t\t  \t\n\/\/Bit-5 -----------------------------------------\n\tLCD_Daten=0;\t\t\t\t\t\t\t\t\/\/das PowerOnOff-Bit zur\u00fccksetzen\n\tif (Flag1bits.PowerOnOff==1u)\t\t\t\t\/\/Test, ist PowerOnOff-Bit 1 oder 0?\n\t  LCD_Daten=1;\t\t\t\t\t\t\t\t\/\/das PowerOnOff-Bit setzen\n  Clock();\t\t\t\t\t\t\t\t\t\t\/\/Clock ausgeben\n\t\t  \t\n\/\/Bit-4 -----------------------------------------\n\tLCD_Daten=0;\t\t\t\t\t\t\t\t\/\/das RS Bit setzen\n\tif (c==1u)\t\t\t\t\t\t\t\t\t\/\/wenn c = 1\n\t  LCD_Daten=1;\n  Clock();\t\t\t\t\t\t\t\t\t\t\/\/Clock ausgeben\n\t\n\/\/Bit-3 bis 0 ------------------------------------\n\tfor (i=4;i>0;--i)\n\t\t{\n\t  LCD_Daten=0;\t  \n\t  if (Temp & 0x08)\t\t\t\t\t\t\t\/\/das nibble zum Output schieben\n\t    LCD_Daten=1;\t\t\n\t\tTemp=Temp<<1;\n  \tClock();\t\t\t\t\t\t\t\t\t\/\/Clock ausgeben\n\t\t}\t\n\n\tLCD_Daten=1;\t\t\t\t\t\t\t\t\/\/Clock auf der Datenleitung ausgeben\n\tNop();\n\tLCD_Daten=0;\n}\n  \n\n\/\/ Ein Kommando an das LCD-Modul senden\n\/\/-------------------------------------------------------------------------\n\t\nvoid Send_Cmd(char c) {\n\t\t\t\t\t\t\t\t\t\t\t\t\/\/zuerst den obere Nibble des Bytes senden\n\tNibbleOut(c>>4,0);\t\t\t\t\t\t\t\/\/RS = 0, Kommandomodus\n\tNibbleOut(c,0);\t\t\t\t\t\t\t\t\/\/sende das untere Nibble des Bytes\n\t}\n\n\n\/\/ Ein Zeichen an das LCD-Modul senden\n\/\/-------------------------------------------------------------------------\n\nvoid Send_Clr_Disp(void) {    \n\tSend_Cmd (Clr_Disp);  \t\t\t\t\t\t\/\/Display l\u00f6schen\n\tDelay100TCYx(164);\t\t\t\t\t\t\t\/\/mindestens 4.1ms warten\n\t}\n\nvoid Send_Dot(void) {\n\tSend_Cmd ('.');  \t\t\t\t\t\t\t\/\/Punkt ausgeben\n\t}\n\nvoid Send_Space(void) {\n\tSend_Cmd (' ');  \t\t\t\t\t\t\t\/\/Leerzeichen ausgeben\n\t}\n\t\nvoid Send_Char(char c) {\n\t\t\t\t\t\t\t\t\t\t\t\t\/\/zuerst den obere Nibble des Bytes senden\n\tNibbleOut(c>>4,1);\t\t\t\t\t\t\t\/\/RS = 1, Datenmodus\n\tNibbleOut(c,1);\t\t\t\t\t\t\t\t\/\/sende das untere Nibble des Bytes\n\t}\n\n\n\/\/ Cursor auf LCD setzen (Adresse in W, 0-27h und 40h-67h\n\/\/-------------------------------------------------------------------------\n\nvoid Set_Cursor(unsigned char x, unsigned char y) \n\t{\n\tunsigned char pos;\t\n\tpos = (y*0x40 + x)|0x80;\t\t\t\/\t\t\/Adresse aufbereiten\n\tSend_Cmd(pos);\t\t\t\t\t\t\t\t\/\/und als Command senden\n\t}\n\n\n\/\/ Data an LCD senden\n\/\/-------------------------------------------------------------------------\n\nvoid Data2Disp(rom char*putstr) \n\t{\n\tunsigned char ps;\n\t\t\n\twhile((ps = *putstr) != 0xFF)\n\t\t{\n\t  putstr++;\n\t  if (ps== 0xFF) break;\n\t\n\t  Send_Char(ps);\n\t\t}\n\t}\n\n\n\/\/ Text an aktueller Cursorposition ausgeben\n\/\/-------------------------------------------------------------------------\n\nvoid DispMsg(char*putstr) \n\t{\n\tchar ps;\n\t\t\n\twhile((ps = *putstr))\n\t\t{\n\t  putstr++;\n\t  if (ps== 0) break;\n\t\n\t  Send_Char(ps);\n\t\t}\n\t}\n\nvoid DispROMMsg(rom char*putstr) \n\t{\n\tchar ps;\n\t\t\n\twhile((ps = *putstr))\n\t\t{\n\t  putstr++;\n\t  if (ps== 0) break;\n\t\n\t  Send_Char(ps);\n\t\t}\n\t}\n\n\n\/\/ Text an Position x,y ausgeben (x = 0..15, y = 0..1\n\/\/-------------------------------------------------------------------------\n\nvoid DispMsg2Pos(char *putstr, unsigned char x, unsigned char y)\t\n\t{\n\tchar ps;\n\n\tSet_Cursor(x, y);\n\n\twhile((ps = *putstr))\n\t\t{\n\t  putstr++;\n\t  if (ps== 0) break;\n\t\n\t  Send_Char(ps);\n\t\t}\n\t}\n\t\n\nvoid DispROMMsg2Pos(rom char *putstr, unsigned char x, unsigned char y)\t\n\t{\n\tchar ps;\n\n\tSet_Cursor(x, y);\n\n\twhile((ps = *putstr))\n\t\t{\n\t  putstr++;\n\t  if (ps== 0) break;\n\t\n\t  Send_Char(ps);\n\t\t}\n\t}\n\n\n\/\/ LCD initialisieren (2 Zeilen)\n\/\/-------------------------------------------------------------------------\n\nvoid Init_LCD() {\n\n    Delay100us(150);\t\t\t\t\t\t\t\/\/15ms warten\n\tNibbleOut(0b00110011,0);\t\t\t\t\t\/\/Reset als Command senden\n    Delay100TCYx(164);\t\t\t\t\t\t\t\/\/mindestens 4.1ms warten\n\n\tNibbleOut(0b00110011,0);\t\t\t\t\t\/\/Reset als Command senden\n    Delay10TCYx(40);\t\t\t\t\t\t\t\/\/100us warten\n\n\tNibbleOut(0b00110011,0);\t\t\t\t\t\/\/Reset als Command senden\n    Delay10TCYx(40);\t\t\t\t\t\t\t\/\/100us warten\n\n\tNibbleOut(0b00100010,0);\t\t\t\t\t\/\/4-Bit Mode setzen\n    Delay10TCYx(40);\t\t\t\t\t\t\t\/\/100us warten\n\n\tSend_Cmd(Func_Set);\t\t\t\t\t\t\t\/\/Befehl f\u00fcr 2 Zeilen und 5x7 Zeichen\n\tSend_Cmd(Disp_On);\t\t\t\t\t\t\t\/\/Anzeige einschalten\n\tSend_Cmd(Entry_Inc);\t\t\t\t\t\t\/\/jedes neue Zeichen wird hinter das letzte\n\n\tSend_Cmd(CGRAM);\t\t\t\t\t\n\tData2Disp(Text3);\t\t\t\t\t\t\t\/\/Spezial Zeichen in LCD laden\n\tSend_Clr_Disp();\t\t\t\t\t\t\t\/\/Anzeige l\u00f6schen\n\n    Delay100us(41);\t\t\t\t\t\t\t\t\/\/mindestens 4.1ms warten\n}\n\n\n\/\/ Verz\u00f6gerungsroutinen\n\/\/-------------------------------------------------------------------------\n\n\/\/ Verz\u00f6gerung ca. n x 100us\n\/\/-------------------------------------------------------------------------\n\nvoid Delay100us(char time)\n\t{\n\tunsigned char i;\n\tfor (i=time;i>0u;i--)\n    Delay10TCYx(40);\t\t\t\t\t\t\t\/\/n x 100us warten\n\t}\n\n\n\/\/ Verz\u00f6gerung ca. n x 0.1s\n\/\/-------------------------------------------------------------------------\n\nvoid Delay0s1(char time)\n\t{\n\tunsigned char i;\n\tfor (i=time;i>0u;i--)\n    Delay10KTCYx(40);\t\t\t\t\t \t\t\/\/n x 100ms warten\n\t}\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Optimierter Code f\u00fcr die parallele Ansteuerung eines LCD Moduls \u00fcber 2 Leitungen und ein Schieberegister (Autor: Roland Elmiger). \/\/&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- \/\/ LCD-Routine f\u00fcr LC-Meter (2-Bit) \/\/&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- \/\/ Roland Elmiger, HB9GAA \/\/ Letzter Update : 25.09.2007 \/\/&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- #include &#8222;Includes.h&#8220; #define LCD_Daten LATBbits.LATB5 \/\/LCD-Daten Ausgang #define LCD_Clock LATBbits.LATB4 \/\/LCD-Clock Ausgang #define Zeile1 0x00 \/\/1. LCD-Zeile #define Zeile2 0x40 [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[11],"tags":[38,71],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v18.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Democode: serielle LCD Ansteuerung (bit bang) - Merkbar.<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"http:\/\/52.29.166.97\/myblog\/2016\/01\/25\/democode-serielle-lcd-ansteuerung-bit-bang\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Democode: serielle LCD Ansteuerung (bit bang) - Merkbar.\" \/>\n<meta property=\"og:description\" content=\"Optimierter Code f\u00fcr die parallele Ansteuerung eines LCD Moduls \u00fcber 2 Leitungen und ein Schieberegister (Autor: Roland Elmiger). \/\/------------------------------------------------------------------------- \/\/ LCD-Routine f\u00fcr LC-Meter (2-Bit) \/\/------------------------------------------------------------------------- \/\/ Roland Elmiger, HB9GAA \/\/ Letzter Update : 25.09.2007 \/\/------------------------------------------------------------------------- #include &quot;Includes.h&quot; #define LCD_Daten LATBbits.LATB5 \/\/LCD-Daten Ausgang #define LCD_Clock LATBbits.LATB4 \/\/LCD-Clock Ausgang #define Zeile1 0x00 \/\/1. LCD-Zeile #define Zeile2 0x40 [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"http:\/\/52.29.166.97\/myblog\/2016\/01\/25\/democode-serielle-lcd-ansteuerung-bit-bang\/\" \/>\n<meta property=\"og:site_name\" content=\"Merkbar.\" \/>\n<meta property=\"article:published_time\" content=\"2016-01-25T13:33:56+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"wp_blogadmin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"http:\/\/ec2-52-29-166-97.eu-central-1.compute.amazonaws.com\/myblog\/#website\",\"url\":\"http:\/\/ec2-52-29-166-97.eu-central-1.compute.amazonaws.com\/myblog\/\",\"name\":\"Merkbar.\",\"description\":\"IT, Elektronik und Mathematik\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"http:\/\/ec2-52-29-166-97.eu-central-1.compute.amazonaws.com\/myblog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"de\"},{\"@type\":\"WebPage\",\"@id\":\"http:\/\/52.29.166.97\/myblog\/2016\/01\/25\/democode-serielle-lcd-ansteuerung-bit-bang\/#webpage\",\"url\":\"http:\/\/52.29.166.97\/myblog\/2016\/01\/25\/democode-serielle-lcd-ansteuerung-bit-bang\/\",\"name\":\"Democode: serielle LCD Ansteuerung (bit bang) - Merkbar.\",\"isPartOf\":{\"@id\":\"http:\/\/ec2-52-29-166-97.eu-central-1.compute.amazonaws.com\/myblog\/#website\"},\"datePublished\":\"2016-01-25T13:33:56+00:00\",\"dateModified\":\"2016-01-25T13:33:56+00:00\",\"author\":{\"@id\":\"http:\/\/ec2-52-29-166-97.eu-central-1.compute.amazonaws.com\/myblog\/#\/schema\/person\/47691942dec3f2eb9d34bb8b5507870d\"},\"breadcrumb\":{\"@id\":\"http:\/\/52.29.166.97\/myblog\/2016\/01\/25\/democode-serielle-lcd-ansteuerung-bit-bang\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"http:\/\/52.29.166.97\/myblog\/2016\/01\/25\/democode-serielle-lcd-ansteuerung-bit-bang\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"http:\/\/52.29.166.97\/myblog\/2016\/01\/25\/democode-serielle-lcd-ansteuerung-bit-bang\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Startseite\",\"item\":\"http:\/\/ec2-52-29-166-97.eu-central-1.compute.amazonaws.com\/myblog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Democode: serielle LCD Ansteuerung (bit bang)\"}]},{\"@type\":\"Person\",\"@id\":\"http:\/\/ec2-52-29-166-97.eu-central-1.compute.amazonaws.com\/myblog\/#\/schema\/person\/47691942dec3f2eb9d34bb8b5507870d\",\"name\":\"wp_blogadmin\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"http:\/\/ec2-52-29-166-97.eu-central-1.compute.amazonaws.com\/myblog\/#personlogo\",\"inLanguage\":\"de\",\"url\":\"http:\/\/1.gravatar.com\/avatar\/d0dc804558b03f640b22e497ec010c9a?s=96&d=mm&r=g\",\"contentUrl\":\"http:\/\/1.gravatar.com\/avatar\/d0dc804558b03f640b22e497ec010c9a?s=96&d=mm&r=g\",\"caption\":\"wp_blogadmin\"},\"url\":\"http:\/\/52.29.166.97\/myblog\/author\/wp_blogadmin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Democode: serielle LCD Ansteuerung (bit bang) - Merkbar.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"http:\/\/52.29.166.97\/myblog\/2016\/01\/25\/democode-serielle-lcd-ansteuerung-bit-bang\/","og_locale":"de_DE","og_type":"article","og_title":"Democode: serielle LCD Ansteuerung (bit bang) - Merkbar.","og_description":"Optimierter Code f\u00fcr die parallele Ansteuerung eines LCD Moduls \u00fcber 2 Leitungen und ein Schieberegister (Autor: Roland Elmiger). \/\/------------------------------------------------------------------------- \/\/ LCD-Routine f\u00fcr LC-Meter (2-Bit) \/\/------------------------------------------------------------------------- \/\/ Roland Elmiger, HB9GAA \/\/ Letzter Update : 25.09.2007 \/\/------------------------------------------------------------------------- #include \"Includes.h\" #define LCD_Daten LATBbits.LATB5 \/\/LCD-Daten Ausgang #define LCD_Clock LATBbits.LATB4 \/\/LCD-Clock Ausgang #define Zeile1 0x00 \/\/1. LCD-Zeile #define Zeile2 0x40 [&hellip;]","og_url":"http:\/\/52.29.166.97\/myblog\/2016\/01\/25\/democode-serielle-lcd-ansteuerung-bit-bang\/","og_site_name":"Merkbar.","article_published_time":"2016-01-25T13:33:56+00:00","twitter_card":"summary","twitter_misc":{"Verfasst von":"wp_blogadmin","Gesch\u00e4tzte Lesezeit":"4 Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebSite","@id":"http:\/\/ec2-52-29-166-97.eu-central-1.compute.amazonaws.com\/myblog\/#website","url":"http:\/\/ec2-52-29-166-97.eu-central-1.compute.amazonaws.com\/myblog\/","name":"Merkbar.","description":"IT, Elektronik und Mathematik","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"http:\/\/ec2-52-29-166-97.eu-central-1.compute.amazonaws.com\/myblog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"de"},{"@type":"WebPage","@id":"http:\/\/52.29.166.97\/myblog\/2016\/01\/25\/democode-serielle-lcd-ansteuerung-bit-bang\/#webpage","url":"http:\/\/52.29.166.97\/myblog\/2016\/01\/25\/democode-serielle-lcd-ansteuerung-bit-bang\/","name":"Democode: serielle LCD Ansteuerung (bit bang) - Merkbar.","isPartOf":{"@id":"http:\/\/ec2-52-29-166-97.eu-central-1.compute.amazonaws.com\/myblog\/#website"},"datePublished":"2016-01-25T13:33:56+00:00","dateModified":"2016-01-25T13:33:56+00:00","author":{"@id":"http:\/\/ec2-52-29-166-97.eu-central-1.compute.amazonaws.com\/myblog\/#\/schema\/person\/47691942dec3f2eb9d34bb8b5507870d"},"breadcrumb":{"@id":"http:\/\/52.29.166.97\/myblog\/2016\/01\/25\/democode-serielle-lcd-ansteuerung-bit-bang\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["http:\/\/52.29.166.97\/myblog\/2016\/01\/25\/democode-serielle-lcd-ansteuerung-bit-bang\/"]}]},{"@type":"BreadcrumbList","@id":"http:\/\/52.29.166.97\/myblog\/2016\/01\/25\/democode-serielle-lcd-ansteuerung-bit-bang\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Startseite","item":"http:\/\/ec2-52-29-166-97.eu-central-1.compute.amazonaws.com\/myblog\/"},{"@type":"ListItem","position":2,"name":"Democode: serielle LCD Ansteuerung (bit bang)"}]},{"@type":"Person","@id":"http:\/\/ec2-52-29-166-97.eu-central-1.compute.amazonaws.com\/myblog\/#\/schema\/person\/47691942dec3f2eb9d34bb8b5507870d","name":"wp_blogadmin","image":{"@type":"ImageObject","@id":"http:\/\/ec2-52-29-166-97.eu-central-1.compute.amazonaws.com\/myblog\/#personlogo","inLanguage":"de","url":"http:\/\/1.gravatar.com\/avatar\/d0dc804558b03f640b22e497ec010c9a?s=96&d=mm&r=g","contentUrl":"http:\/\/1.gravatar.com\/avatar\/d0dc804558b03f640b22e497ec010c9a?s=96&d=mm&r=g","caption":"wp_blogadmin"},"url":"http:\/\/52.29.166.97\/myblog\/author\/wp_blogadmin\/"}]}},"_links":{"self":[{"href":"http:\/\/52.29.166.97\/myblog\/wp-json\/wp\/v2\/posts\/1127"}],"collection":[{"href":"http:\/\/52.29.166.97\/myblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/52.29.166.97\/myblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/52.29.166.97\/myblog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/52.29.166.97\/myblog\/wp-json\/wp\/v2\/comments?post=1127"}],"version-history":[{"count":0,"href":"http:\/\/52.29.166.97\/myblog\/wp-json\/wp\/v2\/posts\/1127\/revisions"}],"wp:attachment":[{"href":"http:\/\/52.29.166.97\/myblog\/wp-json\/wp\/v2\/media?parent=1127"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/52.29.166.97\/myblog\/wp-json\/wp\/v2\/categories?post=1127"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/52.29.166.97\/myblog\/wp-json\/wp\/v2\/tags?post=1127"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}