{"id":22375,"date":"2019-07-05T18:14:42","date_gmt":"2019-07-05T10:14:42","guid":{"rendered":"\/blog\/?p=22375"},"modified":"2019-07-05T18:14:46","modified_gmt":"2019-07-05T10:14:46","slug":"u8g2-for-seeeduino-boards","status":"publish","type":"post","link":"https:\/\/www.seeedstudio.com\/blog\/2019\/07\/05\/u8g2-for-seeeduino-boards\/","title":{"rendered":"U8g2 for Seeeduino boards"},"content":{"rendered":"\n<html>\n<head>\n<meta charset='UTF-8'><meta name='viewport' content='width=device-width initial-scale=1'>\n<title>U8g2_Seeed<\/title><link href='https:\/\/fonts.loli.net\/css?family=Open+Sans:400italic,700italic,700,400&#038;subset=latin,latin-ext' rel='stylesheet' type='text\/css' \/><style type='text\/css'>html {overflow-x: initial !important;}:root { --bg-color:#ffffff; --text-color:#333333; --select-text-bg-color:#B5D6FC; --select-text-font-color:auto; --monospace:\"Lucida Console\",Consolas,\"Courier\",monospace; }\nhtml { font-size: 14px; background-color: var(--bg-color); color: var(--text-color); font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif; -webkit-font-smoothing: antialiased; }\nbody { margin: 0px; padding: 0px; height: auto; bottom: 0px; top: 0px; left: 0px; right: 0px; font-size: 1rem; line-height: 1.42857; overflow-x: hidden; background: inherit; tab-size: 4; }\niframe { margin: auto; }\na.url { word-break: break-all; }\na:active, a:hover { outline: 0px; }\n.in-text-selection, ::selection { text-shadow: none; background: var(--select-text-bg-color); color: var(--select-text-font-color); }\n#write { margin: 0px auto; height: auto; width: inherit; word-break: normal; word-wrap: break-word; position: relative; white-space: normal; overflow-x: visible; padding-top: 40px; }\n#write.first-line-indent p { text-indent: 2em; }\n#write.first-line-indent li p, #write.first-line-indent p * { text-indent: 0px; }\n#write.first-line-indent li { margin-left: 2em; }\n.for-image #write { padding-left: 8px; padding-right: 8px; }\nbody.typora-export { padding-left: 30px; padding-right: 30px; }\n.typora-export .footnote-line, .typora-export li, .typora-export p { white-space: pre-wrap; }\n@media screen and (max-width: 500px) {\n  body.typora-export { padding-left: 0px; padding-right: 0px; }\n  #write { padding-left: 20px; padding-right: 20px; }\n  .CodeMirror-sizer { margin-left: 0px !important; }\n  .CodeMirror-gutters { display: none !important; }\n}\n#write li > figure:first-child { margin-top: -20px; }\n#write ol, #write ul { position: relative; }\nimg { max-width: 100%; vertical-align: middle; }\nbutton, input, select, textarea { color: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; }\ninput[type=\"checkbox\"], input[type=\"radio\"] { line-height: normal; padding: 0px; }\n*, ::after, ::before { box-sizing: border-box; }\n#write h1, #write h2, #write h3, #write h4, #write h5, #write h6, #write p, #write pre { width: inherit; }\n#write h1, #write h2, #write h3, #write h4, #write h5, #write h6, #write p { position: relative; }\nh1, h2, h3, h4, h5, h6 { break-after: avoid-page; break-inside: avoid; orphans: 2; }\np { orphans: 4; }\nh1 { font-size: 2rem; }\nh2 { font-size: 1.8rem; }\nh3 { font-size: 1.6rem; }\nh4 { font-size: 1.4rem; }\nh5 { font-size: 1.2rem; }\nh6 { font-size: 1rem; }\n.md-math-block, .md-rawblock, h1, h2, h3, h4, h5, h6, p { margin-top: 1rem; margin-bottom: 1rem; }\n.hidden { display: none; }\n.md-blockmeta { color: rgb(204, 204, 204); font-weight: 700; font-style: italic; }\na { cursor: pointer; }\nsup.md-footnote { padding: 2px 4px; background-color: rgba(238, 238, 238, 0.7); color: rgb(85, 85, 85); border-radius: 4px; cursor: pointer; }\nsup.md-footnote a, sup.md-footnote a:hover { color: inherit; text-transform: inherit; text-decoration: inherit; }\n#write input[type=\"checkbox\"] { cursor: pointer; width: inherit; height: inherit; }\nfigure { overflow-x: auto; margin: 1.2em 0px; max-width: calc(100% + 16px); padding: 0px; }\nfigure > table { margin: 0px !important; }\ntr { break-inside: avoid; break-after: auto; }\nthead { display: table-header-group; }\ntable { border-collapse: collapse; border-spacing: 0px; width: 100%; overflow: auto; break-inside: auto; text-align: left; }\ntable.md-table td { min-width: 32px; }\n.CodeMirror-gutters { border-right: 0px; background-color: inherit; }\n.CodeMirror-linenumber { user-select: none; }\n.CodeMirror { text-align: left; }\n.CodeMirror-placeholder { opacity: 0.3; }\n.CodeMirror pre { padding: 0px 4px; }\n.CodeMirror-lines { padding: 0px; }\ndiv.hr:focus { cursor: none; }\n#write pre { white-space: pre-wrap; }\n#write.fences-no-line-wrapping pre { white-space: pre; }\n#write pre.ty-contain-cm { white-space: normal; }\n.CodeMirror-gutters { margin-right: 4px; }\n.md-fences { font-size: 0.9rem; display: block; break-inside: avoid; text-align: left; overflow: visible; white-space: pre; background: inherit; position: relative !important; }\n.md-diagram-panel { width: 100%; margin-top: 10px; text-align: center; padding-top: 0px; padding-bottom: 8px; overflow-x: auto; }\n#write .md-fences.mock-cm { white-space: pre-wrap; }\n.md-fences.md-fences-with-lineno { padding-left: 0px; }\n#write.fences-no-line-wrapping .md-fences.mock-cm { white-space: pre; overflow-x: auto; }\n.md-fences.mock-cm.md-fences-with-lineno { padding-left: 8px; }\n.CodeMirror-line, twitterwidget { break-inside: avoid; }\n.footnotes { opacity: 0.8; font-size: 0.9rem; margin-top: 1em; margin-bottom: 1em; }\n.footnotes + .footnotes { margin-top: 0px; }\n.md-reset { margin: 0px; padding: 0px; border: 0px; outline: 0px; vertical-align: top; background: 0px 0px; text-decoration: none; text-shadow: none; float: none; position: static; width: auto; height: auto; white-space: nowrap; cursor: inherit; -webkit-tap-highlight-color: transparent; line-height: normal; font-weight: 400; text-align: left; box-sizing: content-box; direction: ltr; }\nli div { padding-top: 0px; }\nblockquote { margin: 1rem 0px; }\nli .mathjax-block, li p { margin: 0.5rem 0px; }\nli { margin: 0px; position: relative; }\nblockquote > :last-child { margin-bottom: 0px; }\nblockquote > :first-child, li > :first-child { margin-top: 0px; }\n.footnotes-area { color: rgb(136, 136, 136); margin-top: 0.714rem; padding-bottom: 0.143rem; white-space: normal; }\n#write .footnote-line { white-space: pre-wrap; }\n@media print {\n  body, html { border: 1px solid transparent; height: 99%; break-after: avoid; break-before: avoid; }\n  #write { margin-top: 0px; padding-top: 0px; border-color: transparent !important; }\n  .typora-export * { -webkit-print-color-adjust: exact; }\n  html.blink-to-pdf { font-size: 13px; }\n  .typora-export #write { padding-left: 32px; padding-right: 32px; padding-bottom: 0px; break-after: avoid; }\n  .typora-export #write::after { height: 0px; }\n  @page { margin: 20mm 0px; }\n}\n.footnote-line { margin-top: 0.714em; font-size: 0.7em; }\na img, img a { cursor: pointer; }\npre.md-meta-block { font-size: 0.8rem; min-height: 0.8rem; white-space: pre-wrap; background: rgb(204, 204, 204); display: block; overflow-x: hidden; }\np > .md-image:only-child:not(.md-img-error) img, p > img:only-child { display: block; margin: auto; }\np > .md-image:only-child { display: inline-block; width: 100%; }\n#write .MathJax_Display { margin: 0.8em 0px 0px; }\n.md-math-block { width: 100%; }\n.md-math-block:not(:empty)::after { display: none; }\n[contenteditable=\"true\"]:active, [contenteditable=\"true\"]:focus { outline: 0px; box-shadow: none; }\n.md-task-list-item { position: relative; list-style-type: none; }\n.task-list-item.md-task-list-item { padding-left: 0px; }\n.md-task-list-item > input { position: absolute; top: 0px; left: 0px; margin-left: -1.2em; margin-top: calc(1em - 10px); border: none; }\n.math { font-size: 1rem; }\n.md-toc { min-height: 3.58rem; position: relative; font-size: 0.9rem; border-radius: 10px; }\n.md-toc-content { position: relative; margin-left: 0px; }\n.md-toc-content::after, .md-toc::after { display: none; }\n.md-toc-item { display: block; color: rgb(65, 131, 196); }\n.md-toc-item a { text-decoration: none; }\n.md-toc-inner:hover { text-decoration: underline; }\n.md-toc-inner { display: inline-block; cursor: pointer; }\n.md-toc-h1 .md-toc-inner { margin-left: 0px; font-weight: 700; }\n.md-toc-h2 .md-toc-inner { margin-left: 2em; }\n.md-toc-h3 .md-toc-inner { margin-left: 4em; }\n.md-toc-h4 .md-toc-inner { margin-left: 6em; }\n.md-toc-h5 .md-toc-inner { margin-left: 8em; }\n.md-toc-h6 .md-toc-inner { margin-left: 10em; }\n@media screen and (max-width: 48em) {\n  .md-toc-h3 .md-toc-inner { margin-left: 3.5em; }\n  .md-toc-h4 .md-toc-inner { margin-left: 5em; }\n  .md-toc-h5 .md-toc-inner { margin-left: 6.5em; }\n  .md-toc-h6 .md-toc-inner { margin-left: 8em; }\n}\na.md-toc-inner { font-size: inherit; font-style: inherit; font-weight: inherit; line-height: inherit; }\n.footnote-line a:not(.reversefootnote) { color: inherit; }\n.md-attr { display: none; }\n.md-fn-count::after { content: \".\"; }\ncode, pre, samp, tt { font-family: var(--monospace); }\nkbd { margin: 0px 0.1em; padding: 0.1em 0.6em; font-size: 0.8em; color: rgb(36, 39, 41); background: rgb(255, 255, 255); border: 1px solid rgb(173, 179, 185); border-radius: 3px; box-shadow: rgba(12, 13, 14, 0.2) 0px 1px 0px, rgb(255, 255, 255) 0px 0px 0px 2px inset; white-space: nowrap; vertical-align: middle; }\n.md-comment { color: rgb(162, 127, 3); opacity: 0.8; font-family: var(--monospace); }\ncode { text-align: left; vertical-align: initial; }\na.md-print-anchor { white-space: pre !important; border-width: initial !important; border-style: none !important; border-color: initial !important; display: inline-block !important; position: absolute !important; width: 1px !important; right: 0px !important; outline: 0px !important; background: 0px 0px !important; text-decoration: initial !important; text-shadow: initial !important; }\n.md-inline-math .MathJax_SVG .noError { display: none !important; }\n.html-for-mac .inline-math-svg .MathJax_SVG { vertical-align: 0.2px; }\n.md-math-block .MathJax_SVG_Display { text-align: center; margin: 0px; position: relative; text-indent: 0px; max-width: none; max-height: none; min-height: 0px; min-width: 100%; width: auto; overflow-y: hidden; display: block !important; }\n.MathJax_SVG_Display, .md-inline-math .MathJax_SVG_Display { width: auto; margin: inherit; display: inline-block !important; }\n.MathJax_SVG .MJX-monospace { font-family: var(--monospace); }\n.MathJax_SVG .MJX-sans-serif { font-family: sans-serif; }\n.MathJax_SVG { display: inline; font-style: normal; font-weight: 400; line-height: normal; zoom: 90%; text-indent: 0px; text-align: left; text-transform: none; letter-spacing: normal; word-spacing: normal; word-wrap: normal; white-space: nowrap; float: none; direction: ltr; max-width: none; max-height: none; min-width: 0px; min-height: 0px; border: 0px; padding: 0px; margin: 0px; }\n.MathJax_SVG * { transition: none; }\n.MathJax_SVG_Display svg { vertical-align: middle !important; margin-bottom: 0px !important; }\n.os-windows.monocolor-emoji .md-emoji { font-family: \"Segoe UI Symbol\", sans-serif; }\n.md-diagram-panel > svg { max-width: 100%; }\n[lang=\"mermaid\"] svg, [lang=\"flow\"] svg { max-width: 100%; }\n[lang=\"mermaid\"] .node text { font-size: 1rem; }\ntable tr th { border-bottom: 0px; }\nvideo { max-width: 100%; display: block; margin: 0px auto; }\niframe { max-width: 100%; width: 100%; border: none; }\n.highlight td, .highlight tr { border: 0px; }\n\n\n.CodeMirror { height: auto; }\n.CodeMirror.cm-s-inner { background: inherit; }\n.CodeMirror-scroll { overflow-y: hidden; overflow-x: auto; z-index: 3; }\n.CodeMirror-gutter-filler, .CodeMirror-scrollbar-filler { background-color: rgb(255, 255, 255); }\n.CodeMirror-gutters { border-right: 1px solid rgb(221, 221, 221); background: inherit; white-space: nowrap; }\n.CodeMirror-linenumber { padding: 0px 3px 0px 5px; text-align: right; color: rgb(153, 153, 153); }\n.cm-s-inner .cm-keyword { color: rgb(119, 0, 136); }\n.cm-s-inner .cm-atom, .cm-s-inner.cm-atom { color: rgb(34, 17, 153); }\n.cm-s-inner .cm-number { color: rgb(17, 102, 68); }\n.cm-s-inner .cm-def { color: rgb(0, 0, 255); }\n.cm-s-inner .cm-variable { color: rgb(0, 0, 0); }\n.cm-s-inner .cm-variable-2 { color: rgb(0, 85, 170); }\n.cm-s-inner .cm-variable-3 { color: rgb(0, 136, 85); }\n.cm-s-inner .cm-string { color: rgb(170, 17, 17); }\n.cm-s-inner .cm-property { color: rgb(0, 0, 0); }\n.cm-s-inner .cm-operator { color: rgb(152, 26, 26); }\n.cm-s-inner .cm-comment, .cm-s-inner.cm-comment { color: rgb(170, 85, 0); }\n.cm-s-inner .cm-string-2 { color: rgb(255, 85, 0); }\n.cm-s-inner .cm-meta { color: rgb(85, 85, 85); }\n.cm-s-inner .cm-qualifier { color: rgb(85, 85, 85); }\n.cm-s-inner .cm-builtin { color: rgb(51, 0, 170); }\n.cm-s-inner .cm-bracket { color: rgb(153, 153, 119); }\n.cm-s-inner .cm-tag { color: rgb(17, 119, 0); }\n.cm-s-inner .cm-attribute { color: rgb(0, 0, 204); }\n.cm-s-inner .cm-header, .cm-s-inner.cm-header { color: rgb(0, 0, 255); }\n.cm-s-inner .cm-quote, .cm-s-inner.cm-quote { color: rgb(0, 153, 0); }\n.cm-s-inner .cm-hr, .cm-s-inner.cm-hr { color: rgb(153, 153, 153); }\n.cm-s-inner .cm-link, .cm-s-inner.cm-link { color: rgb(0, 0, 204); }\n.cm-negative { color: rgb(221, 68, 68); }\n.cm-positive { color: rgb(34, 153, 34); }\n.cm-header, .cm-strong { font-weight: 700; }\n.cm-del { text-decoration: line-through; }\n.cm-em { font-style: italic; }\n.cm-link { text-decoration: underline; }\n.cm-error { color: red; }\n.cm-invalidchar { color: red; }\n.cm-constant { color: rgb(38, 139, 210); }\n.cm-defined { color: rgb(181, 137, 0); }\ndiv.CodeMirror span.CodeMirror-matchingbracket { color: rgb(0, 255, 0); }\ndiv.CodeMirror span.CodeMirror-nonmatchingbracket { color: rgb(255, 34, 34); }\n.cm-s-inner .CodeMirror-activeline-background { background: inherit; }\n.CodeMirror { position: relative; overflow: hidden; }\n.CodeMirror-scroll { height: 100%; outline: 0px; position: relative; box-sizing: content-box; background: inherit; }\n.CodeMirror-sizer { position: relative; }\n.CodeMirror-gutter-filler, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler, .CodeMirror-vscrollbar { position: absolute; z-index: 6; display: none; }\n.CodeMirror-vscrollbar { right: 0px; top: 0px; overflow: hidden; }\n.CodeMirror-hscrollbar { bottom: 0px; left: 0px; overflow: hidden; }\n.CodeMirror-scrollbar-filler { right: 0px; bottom: 0px; }\n.CodeMirror-gutter-filler { left: 0px; bottom: 0px; }\n.CodeMirror-gutters { position: absolute; left: 0px; top: 0px; padding-bottom: 30px; z-index: 3; }\n.CodeMirror-gutter { white-space: normal; height: 100%; box-sizing: content-box; padding-bottom: 30px; margin-bottom: -32px; display: inline-block; }\n.CodeMirror-gutter-wrapper { position: absolute; z-index: 4; background: 0px 0px !important; border: none !important; }\n.CodeMirror-gutter-background { position: absolute; top: 0px; bottom: 0px; z-index: 4; }\n.CodeMirror-gutter-elt { position: absolute; cursor: default; z-index: 4; }\n.CodeMirror-lines { cursor: text; }\n.CodeMirror pre { border-radius: 0px; border-width: 0px; background: 0px 0px; font-family: inherit; font-size: inherit; margin: 0px; white-space: pre; word-wrap: normal; color: inherit; z-index: 2; position: relative; overflow: visible; }\n.CodeMirror-wrap pre { word-wrap: break-word; white-space: pre-wrap; word-break: normal; }\n.CodeMirror-code pre { border-right: 30px solid transparent; width: fit-content; }\n.CodeMirror-wrap .CodeMirror-code pre { border-right: none; width: auto; }\n.CodeMirror-linebackground { position: absolute; left: 0px; right: 0px; top: 0px; bottom: 0px; z-index: 0; }\n.CodeMirror-linewidget { position: relative; z-index: 2; overflow: auto; }\n.CodeMirror-wrap .CodeMirror-scroll { overflow-x: hidden; }\n.CodeMirror-measure { position: absolute; width: 100%; height: 0px; overflow: hidden; visibility: hidden; }\n.CodeMirror-measure pre { position: static; }\n.CodeMirror div.CodeMirror-cursor { position: absolute; visibility: hidden; border-right: none; width: 0px; }\n.CodeMirror div.CodeMirror-cursor { visibility: hidden; }\n.CodeMirror-focused div.CodeMirror-cursor { visibility: inherit; }\n.cm-searching { background: rgba(255, 255, 0, 0.4); }\n@media print {\n  .CodeMirror div.CodeMirror-cursor { visibility: hidden; }\n}\n\n\n:root { --side-bar-bg-color: #fafafa; --control-text-color: #777; }\nhtml { font-size: 16px; }\nbody { font-family: \"Open Sans\", \"Clear Sans\", \"Helvetica Neue\", Helvetica, Arial, sans-serif; color: rgb(51, 51, 51); line-height: 1.6; }\n#write { max-width: 860px; margin: 0px auto; padding: 30px 30px 100px; }\n#write > ul:first-child, #write > ol:first-child { margin-top: 30px; }\na { color: rgb(65, 131, 196); }\nh1, h2, h3, h4, h5, h6 { position: relative; margin-top: 1rem; margin-bottom: 1rem; font-weight: bold; line-height: 1.4; cursor: text; }\nh1:hover a.anchor, h2:hover a.anchor, h3:hover a.anchor, h4:hover a.anchor, h5:hover a.anchor, h6:hover a.anchor { text-decoration: none; }\nh1 tt, h1 code { font-size: inherit; }\nh2 tt, h2 code { font-size: inherit; }\nh3 tt, h3 code { font-size: inherit; }\nh4 tt, h4 code { font-size: inherit; }\nh5 tt, h5 code { font-size: inherit; }\nh6 tt, h6 code { font-size: inherit; }\nh1 { padding-bottom: 0.3em; font-size: 2.25em; line-height: 1.2; border-bottom: 1px solid rgb(238, 238, 238); }\nh2 { padding-bottom: 0.3em; font-size: 1.75em; line-height: 1.225; border-bottom: 1px solid rgb(238, 238, 238); }\nh3 { font-size: 1.5em; line-height: 1.43; }\nh4 { font-size: 1.25em; }\nh5 { font-size: 1em; }\nh6 { font-size: 1em; color: rgb(119, 119, 119); }\np, blockquote, ul, ol, dl, table { margin: 0.8em 0px; }\nli > ol, li > ul { margin: 0px; }\nhr { height: 2px; padding: 0px; margin: 16px 0px; background-color: rgb(231, 231, 231); border: 0px none; overflow: hidden; box-sizing: content-box; }\nli p.first { display: inline-block; }\nul, ol { padding-left: 30px; }\nul:first-child, ol:first-child { margin-top: 0px; }\nul:last-child, ol:last-child { margin-bottom: 0px; }\nblockquote { border-left: 4px solid rgb(223, 226, 229); padding: 0px 15px; color: rgb(119, 119, 119); }\nblockquote blockquote { padding-right: 0px; }\ntable { padding: 0px; word-break: initial; }\ntable tr { border-top: 1px solid rgb(223, 226, 229); margin: 0px; padding: 0px; }\ntable tr:nth-child(2n), thead { background-color: rgb(248, 248, 248); }\ntable tr th { font-weight: bold; border-width: 1px 1px 0px; border-top-style: solid; border-right-style: solid; border-left-style: solid; border-top-color: rgb(223, 226, 229); border-right-color: rgb(223, 226, 229); border-left-color: rgb(223, 226, 229); border-image: initial; border-bottom-style: initial; border-bottom-color: initial; text-align: left; margin: 0px; padding: 6px 13px; }\ntable tr td { border: 1px solid rgb(223, 226, 229); text-align: left; margin: 0px; padding: 6px 13px; }\ntable tr th:first-child, table tr td:first-child { margin-top: 0px; }\ntable tr th:last-child, table tr td:last-child { margin-bottom: 0px; }\n.CodeMirror-lines { padding-left: 4px; }\n.code-tooltip { box-shadow: rgba(0, 28, 36, 0.3) 0px 1px 1px 0px; border-top: 1px solid rgb(238, 242, 242); }\n.md-fences, code, tt { border: 1px solid rgb(231, 234, 237); background-color: rgb(248, 248, 248); border-radius: 3px; padding: 2px 4px 0px; font-size: 0.9em; }\ncode { background-color: rgb(243, 244, 244); padding: 0px 2px; }\n.md-fences { margin-bottom: 15px; margin-top: 15px; padding-top: 8px; padding-bottom: 6px; }\n.md-task-list-item > input { margin-left: -1.3em; }\n@media print {\n  html { font-size: 13px; }\n  table, pre { break-inside: avoid; }\n  pre { word-wrap: break-word; }\n}\n.md-fences { background-color: rgb(248, 248, 248); }\n#write pre.md-meta-block { padding: 1rem; font-size: 85%; line-height: 1.45; background-color: rgb(247, 247, 247); border: 0px; border-radius: 3px; color: rgb(119, 119, 119); margin-top: 0px !important; }\n.mathjax-block > .code-tooltip { bottom: 0.375rem; }\n.md-mathjax-midline { background: rgb(250, 250, 250); }\n#write > h3.md-focus::before { left: -1.5625rem; top: 0.375rem; }\n#write > h4.md-focus::before { left: -1.5625rem; top: 0.285714rem; }\n#write > h5.md-focus::before { left: -1.5625rem; top: 0.285714rem; }\n#write > h6.md-focus::before { left: -1.5625rem; top: 0.285714rem; }\n.md-image > .md-meta { border-radius: 3px; padding: 2px 0px 0px 4px; font-size: 0.9em; color: inherit; }\n.md-tag { color: rgb(167, 167, 167); opacity: 1; }\n.md-toc { margin-top: 20px; padding-bottom: 20px; }\n.sidebar-tabs { border-bottom: none; }\n#typora-quick-open { border: 1px solid rgb(221, 221, 221); background-color: rgb(248, 248, 248); }\n#typora-quick-open-item { background-color: rgb(250, 250, 250); border-color: rgb(254, 254, 254) rgb(229, 229, 229) rgb(229, 229, 229) rgb(238, 238, 238); border-style: solid; border-width: 1px; }\n.on-focus-mode blockquote { border-left-color: rgba(85, 85, 85, 0.12); }\nheader, .context-menu, .megamenu-content, footer { font-family: \"Segoe UI\", Arial, sans-serif; }\n.file-node-content:hover .file-node-icon, .file-node-content:hover .file-node-open-state { visibility: visible; }\n.mac-seamless-mode #typora-sidebar { background-color: var(--side-bar-bg-color); }\n.md-lang { color: rgb(180, 101, 77); }\n.html-for-mac .context-menu { --item-hover-bg-color: #E6F0FE; }\n#md-notification .btn { border: 0px; }\n.dropdown-menu .divider { border-color: rgb(229, 229, 229); }\n\n\n\n\n\n .typora-export li, .typora-export p, .typora-export,  .footnote-line {white-space: normal;} \n<\/style>\n<\/head>\n<body class='typora-export os-windows' >\n<div  id='write'  class = 'is-node'><h1><a name='header-n0' class='md-header-anchor '><\/a>Overview<\/h1><p>U8g2 is a monochrome graphics library for embedded devices. <a href='https:\/\/github.com\/olikraus'>Provided by Olikraus<\/a><\/p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src='https:\/\/raw.githubusercontent.com\/LynnL4\/res\/master\/Seeed_U8g2\/u8g2.jpg' alt='U8g2' referrerPolicy='no-referrer' \/><\/p><ul><li>Supported Display Controller: SSD1305, SSD1306, SSD1309, SSD1322, SSD1325, SSD1327, SSD1329, SSD1606, SSD1607, SH1106, SH1107, SH1108, SH1122, T6963, RA8835, LC7981, PCD8544, PCF8812, HX1230, UC1601, UC1604, UC1608, UC1610, UC1611, UC1701, ST7565, ST7567, ST7588, ST75256, NT7534, IST3020, ST7920, LD7032, KS0108, SED1520, SBN1661, IL3820, MAX7219 (see here for a full list)<\/li><\/ul><p>U8g2 also includes U8x8 library. Features for U8g2 and U8x8 are:<\/p><ul><li>U8g2\nIncludes all graphics procedures (line\/box\/circle draw).\nSupports many fonts. (Almost) no restriction on the font height.\nRequires some memory in the microcontroller to render the display.<\/li><li>U8x8\nText output only (character) device.\nOnly fonts allowed with fixed size per character (8&#215;8 pixel).\nWrites directly to the display. No buffer in the microcontroller required.\nThere is one more class\/sub-library &quot;U8log&quot;, which emulates an output terminal (like Arduino serial monitor): U8log Reference Manual<\/li><\/ul><hr \/><h3><a name='header-n14' class='md-header-anchor '><\/a>Install U8g2<\/h3><h4><a name='header-n15' class='md-header-anchor '><\/a>The Arduino library U8g2 can be installed from the library manager of the Arduino IDE.<\/h4><ul><li>Open Arduino IDE<\/li><li>Open the Library Manager (Sketch &gt; Include Library &gt; manage Libraries&#8230;)<\/li><\/ul><p><img src='https:\/\/raw.githubusercontent.com\/LynnL4\/res\/master\/Seeed_U8g2\/1.png' alt='1' referrerPolicy='no-referrer' \/><\/p><ul><li>Enter &quot;u8g2&quot; into the search field<\/li><li>Select latest version<\/li><li>Click &quot;Install&quot; button<\/li><\/ul><p><img src='https:\/\/raw.githubusercontent.com\/LynnL4\/res\/master\/Seeed_U8g2\/2.png' alt='2' referrerPolicy='no-referrer' \/><\/p><h4><a name='header-n30' class='md-header-anchor '><\/a>If you want to use the latest U8g2 library, click on the link: <a href='https:\/\/github.com\/olikraus\/U8g2_Arduino'>U8g2_Arduino<\/a><\/h4><ul><li>Open Arduino IDE<\/li><li>Open the Library Manager (Sketch &gt; Include Library &gt; Add .ZIP Library&#8230;).<\/li><li>Select the most recently downloaded U8g2 library.\n<img src='https:\/\/raw.githubusercontent.com\/LynnL4\/res\/master\/Seeed_U8g2\/3.png' alt='3' referrerPolicy='no-referrer' \/><\/li><\/ul><h4><a name='header-n38' class='md-header-anchor '><\/a>The U8g2 library can be seen in Examples after successful installation<\/h4><p><img src='https:\/\/raw.githubusercontent.com\/LynnL4\/res\/master\/Seeed_U8g2\/4.png' alt='4' referrerPolicy='no-referrer' \/><\/p><p>&nbsp;<\/p><p>&nbsp;<\/p><p>&nbsp;<\/p><h1><a name='header-n43' class='md-header-anchor '><\/a>How to connect a display to U8g2 Library?<\/h1><h3><a name='header-n44' class='md-header-anchor '><\/a>Identify the display<\/h3><p>You need to know the controller and the size of your display (Note: &quot;Controllerless&quot; displays are not supported by U8g2). In this example, we will use a Seeed_128x128 128&#215;64 display, and  K210 Pi as controller.<\/p><p>For U8g2 you have to select a matching constructor for the correct initialization of the display. Select a constructor from this page: <a href='https:\/\/github.com\/olikraus\/u8g2\/wiki\/u8g2setupcpp'>C++ Setup\/Arduino Constructor List.<\/a><\/p><h3><a name='header-n47' class='md-header-anchor '><\/a>Select a physical bus<\/h3><p>Graphics information has to be sent to the display. This information is received by the display controller through a physical bus (usually two or more data lines),\na communication protocol and a command sequence. Often a display supports more than one physical bus. You have to select and setup the correct bus.\nTypically the busses are:<\/p><ul><li>3SPI, 3-wire SPI: Serial Peripheral Interface with three signals: Clock, Data and Chip-Select.<\/li><li>4SPI, 4-Wire SPI: Same as 3SPI, but with one additional line for commands and data (often labeled as D\/C, RS or A0)<\/li><li>I2C, IIC or TWI: Inter-Integrated Circuit Bus which has two signals: Clock (SCL) and Data (SDA).<\/li><li>8080: A 8-Bit bus which requires 8 data lines, chip select and a write strobe signal.<\/li><li>6800: Another 8-Bit bus, but with a different protocol.<\/li><\/ul><p>Because Seeed_128X128 display USES I2C as the physical bus, we connect OLED display with K210 PI through I2C.<\/p><h3><a name='header-n61' class='md-header-anchor '><\/a>U8g2 initialization<\/h3><p>U8g2 needs to know which output pin is connected to which input of the display: The pin numbers are provided as list of arguments to the U8g2 constructor. The position within the list is important and indicates the function\/purpose of the pin.<\/p><p>From the table here, the constructor has the following template:<\/p><pre spellcheck=\"false\" class=\"md-fences md-end-block ty-contain-cm modeLoaded\" lang=\"\"><div class=\"CodeMirror cm-s-inner CodeMirror-wrap\" lang=\"\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 0px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"><\/textarea><\/div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><\/div><div class=\"CodeMirror-measure\"><\/div><div style=\"position: relative; z-index: 1;\"><\/div><div class=\"CodeMirror-code\" role=\"presentation\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"><\/div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">U8G2_SH1107_SEEED_128X128_F_HW_I2C u8g2(U8G2_R0, \/* reset=*\/ U8X8_PIN_NONE); <\/span><\/pre><\/div><\/div><\/div><\/div><\/div><\/div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 23px;\"><\/div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 23px;\"><\/div><\/div><\/div><\/pre><pre spellcheck=\"false\" class=\"md-fences md-end-block ty-contain-cm modeLoaded\" lang=\"\"><div class=\"CodeMirror cm-s-inner CodeMirror-wrap\" lang=\"\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 0px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"><\/textarea><\/div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx<\/span><\/pre><\/div><div class=\"CodeMirror-measure\"><\/div><div style=\"position: relative; z-index: 1;\"><\/div><div class=\"CodeMirror-code\" role=\"presentation\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"><\/div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">U8G2_SH1107_SEEED_128X128_F_SW_I2C u8g2(U8G2_R0, \/* clock=*\/ SCL, \/* data=*\/ SDA, \/* reset=*\/ U8X8_PIN_NONE);<\/span><\/pre><\/div><\/div><\/div><\/div><\/div><\/div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 46px;\"><\/div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 46px;\"><\/div><\/div><\/div><\/pre><p>The first parameter is the rotation option, the constructor expects the pin number for the clock line(SCL) and the data line(SDA) . The reset line can be provided optionally.If you are using hardware I2C, you do not need to specify SCL and SDA.<\/p><p><strong>Get more Info:<\/strong> <a href='https:\/\/github.com\/olikraus\/u8g2\/wiki\/u8g2setupcpp#buffer-size'>U8g2 Setup<\/a> <\/p><p>A complete example will look like this:<\/p><pre spellcheck=\"false\" class=\"md-fences md-end-block ty-contain-cm modeLoaded\" lang=\"\" style=\"break-inside: unset;\"><div class=\"CodeMirror cm-s-inner CodeMirror-wrap\" lang=\"\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 0px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"><\/textarea><\/div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><span><span>\u200b<\/span>x<\/span><\/div><div class=\"CodeMirror-measure\"><\/div><div style=\"position: relative; z-index: 1;\"><\/div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"><\/div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">#include &lt;Arduino.h&gt;<\/span><\/pre><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">#include &lt;U8g2lib.h&gt;<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">#include &lt;Wire.h&gt;<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">\u200b<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">U8G2_SH1107_SEEED_128X128_F_HW_I2C u8g2(U8G2_R0, \/* clock=*\/ SCL, \/* data=*\/ SDA, \/* reset=*\/ U8X8_PIN_NONE); \/\/use the hardware I2C.<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">\u200b<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">void setup(void) {<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  u8g2.begin();<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">}<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">\u200b<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">void loop(void) {<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  8g2.clearBuffer();<span class=\"cm-tab\" role=\"presentation\" cm-text=\"\t\">    <\/span><span class=\"cm-tab\" role=\"presentation\" cm-text=\"\t\">    <\/span><span class=\"cm-tab\" role=\"presentation\" cm-text=\"\t\">    <\/span><span class=\"cm-tab\" role=\"presentation\" cm-text=\"\t\">    <\/span><span class=\"cm-tab\" role=\"presentation\" cm-text=\"\t\">    <\/span>\/\/ clear the internal memory<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  u8g2.setFont(u8g2_font_ncenB08_tr);<span class=\"cm-tab\" role=\"presentation\" cm-text=\"\t\">   <\/span>\/\/ choose a suitable font<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  u8g2.drawStr(0,10,\"Hello World!\");<span class=\"cm-tab\" role=\"presentation\" cm-text=\"\t\">    <\/span>\/\/ write something to the internal memory<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  u8g2.sendBuffer();<span class=\"cm-tab\" role=\"presentation\" cm-text=\"\t\">    <\/span><span class=\"cm-tab\" role=\"presentation\" cm-text=\"\t\">    <\/span><span class=\"cm-tab\" role=\"presentation\" cm-text=\"\t\">    <\/span><span class=\"cm-tab\" role=\"presentation\" cm-text=\"\t\">    <\/span><span class=\"cm-tab\" role=\"presentation\" cm-text=\"\t\">    <\/span>\/\/ transfer internal memory to the display<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  delay(1000); &nbsp;<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">}<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">\u200b<\/span><\/span><\/pre><\/div><\/div><\/div><\/div><\/div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 437px;\"><\/div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 437px;\"><\/div><\/div><\/div><\/pre><h4><a name='header-n70' class='md-header-anchor '><\/a>Start a U8g2 Arduino project on K210 PI<\/h4><p><img src='https:\/\/raw.githubusercontent.com\/LynnL4\/res\/master\/Seeed_U8g2\/0.jpg' alt='5' referrerPolicy='no-referrer' \/><\/p><p>In order for K210 PI to run the U8g2 library,  must download the latest <a href='https:\/\/github.com\/Seeed-Studio\/ArduinoCore-k210\/tree\/dev'>K210 PI library<\/a> and <a href='https:\/\/github.com\/olikraus\/u8g2'>U8g2 library<\/a>. <\/p><p>In addition, you may get an error prompt of &quot;The command  line is too long&quot; at compile time. You can solve this problem by deleting the.c file in the \\src\\clib directory for display configuration,and only keep the current display file.<\/p><ul><li>The format of the display configuration file is: u8x8_d_<strong>display<\/strong>_<strong>size<\/strong>.c.<\/li><\/ul><p>The bold part is the specific display model and size.<\/p><p>For example, this time we used the following display configuration file is: <strong>u8x8_d_sh1107.c<\/strong>.<\/p><p>&nbsp;<\/p><p>&nbsp;<\/p><p>&nbsp;<\/p><h1><a name='header-n82' class='md-header-anchor '><\/a>API Reference<\/h1><p>U8g2 library provides a large number of apis for users to use.\nThe following table shows the most commonly used apis and their descriptions.    <\/p><figure><table><thead><tr><th style='text-align:left;' >API<\/th><th style='text-align:left;' >Description<\/th><\/tr><\/thead><tbody><tr><td style='text-align:left;' ><a href='#header-n165'>begin<\/a><\/td><td style='text-align:left;' >start a display.<\/td><\/tr><tr><td style='text-align:left;' ><a href='#header-n165'>clear<\/a><\/td><td style='text-align:left;' >Clears all pixel on the display and the buffer.<\/td><\/tr><tr><td style='text-align:left;' >initDisplay<\/td><td style='text-align:left;' >Reset and configure the display.<\/td><\/tr><tr><td style='text-align:left;' ><a href='#header-n165'>sendBuffer<\/a><\/td><td style='text-align:left;' >Send the content of the memory frame buffer to the display.<\/td><\/tr><tr><td style='text-align:left;' ><a href='#header-n165'>clearBuffer<\/a><\/td><td style='text-align:left;' >Clears all pixel in the memory frame buffer.<\/td><\/tr><tr><td style='text-align:left;' >clearDisplay<\/td><td style='text-align:left;' >Clears all pixel in the internal buffer AND on the connected display.<\/td><\/tr><tr><td style='text-align:left;' ><a href='#header-n165'>drawPixel<\/a><\/td><td style='text-align:left;' >Draw a pixel at the specified x\/y position.<\/td><\/tr><tr><td style='text-align:left;' ><a href='#header-n165'>drawLine<\/a><\/td><td style='text-align:left;' >Draw a line between two points.<\/td><\/tr><tr><td style='text-align:left;' ><a href='#header-n165'>drawBox<\/a><\/td><td style='text-align:left;' >Draw a box (filled frame), starting at x\/y position (upper left edge).<\/td><\/tr><tr><td style='text-align:left;' ><a href='#header-n165'>drawCircle<\/a><\/td><td style='text-align:left;' >Draw a circle with radus rad at position (x0, y0).<\/td><\/tr><tr><td style='text-align:left;' ><a href='#header-n165'>drawDisc<\/a><\/td><td style='text-align:left;' >Draw a filled circle with radus rad at position (x0, y0).<\/td><\/tr><tr><td style='text-align:left;' ><a href='#header-n165'>drawEllipse<\/a><\/td><td style='text-align:left;' >Draw ellipse with radus rx and &#39;ry&#39; at position (x0, y0).<\/td><\/tr><tr><td style='text-align:left;' ><a href='#header-n165'>drawFilledEllipse<\/a><\/td><td style='text-align:left;' >Draw a filled ellipse with radus rx and &#39;ry&#39; at position (x0, y0).<\/td><\/tr><tr><td style='text-align:left;' ><a href='#header-n165'>drawFrame<\/a><\/td><td style='text-align:left;' >Draw a frame (empty box), starting at x\/y<\/td><\/tr><tr><td style='text-align:left;' ><a href='#header-n165'>drawTriangle<\/a><\/td><td style='text-align:left;' >Draw a triangle (filled polygon)position (upper left edge).<\/td><\/tr><tr><td style='text-align:left;' ><a href='#header-n172'>setFont<\/a><\/td><td style='text-align:left;' >Define a u8g2 font for the glyph and string drawing functions.<\/td><\/tr><tr><td style='text-align:left;' ><a href='#header-n172'>drawGlyph<\/a><\/td><td style='text-align:left;' >Draw a single character.<\/td><\/tr><tr><td style='text-align:left;' ><a href='#header-n172'>drawStr<\/a><\/td><td style='text-align:left;' >Draw a string. The first character is placed at position x andy.<\/td><\/tr><tr><td style='text-align:left;' ><a href='#header-n183'><del>drawBitmap<\/del><\/a><\/td><td style='text-align:left;' >Draw a bitmap at the specified x\/y position (upper left corner of the bitmap). ==deprecated==<\/td><\/tr><tr><td style='text-align:left;' ><a href='#header-n183'>drawXBM<\/a><\/td><td style='text-align:left;' >Draw a XBM Bitmap. Position (x,y) is the upper left corner of the bitmap.<\/td><\/tr><tr><td style='text-align:left;' >firstPage<\/td><td style='text-align:left;' >This command is part of the (picture) loop which renders the content of the display.<\/td><\/tr><tr><td style='text-align:left;' >nextPage<\/td><td style='text-align:left;' >This command is part of the (picture) loop which renders the content of the display.<\/td><\/tr><tr><td style='text-align:left;' >setBitmapMode<\/td><td style='text-align:left;' >Set the bitmap transparent or soild.<\/td><\/tr><tr><td style='text-align:left;' >setCursor<\/td><td style='text-align:left;' >Define the cursor for the print function. Any output of the print function will start at this position.<\/td><\/tr><tr><td style='text-align:left;' >setDisplayRotation<\/td><td style='text-align:left;' >Changes the display rotation.<\/td><\/tr><\/tbody><\/table><\/figure><h4><a name='header-n163' class='md-header-anchor '><\/a>More information about U8g2 API can be found <a href='https:\/\/github.com\/olikraus\/u8g2\/wiki\/u8g2reference'>here<\/a>.<\/h4><h2><a name='header-n164' class='md-header-anchor '><\/a>Demonstration<\/h2><h3><a name='header-n165' class='md-header-anchor '><\/a>Basic<\/h3><p>The following shows how to use and display the basic drawing functions provided by U8g2.<\/p><h4><a name='header-n167' class='md-header-anchor '><\/a>src <\/h4><pre spellcheck=\"false\" class=\"md-fences md-end-block ty-contain-cm modeLoaded\" lang=\"c\" style=\"break-inside: unset;\"><div class=\"CodeMirror cm-s-inner CodeMirror-wrap\" lang=\"c\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 0px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"><\/textarea><\/div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx<\/span><\/pre><\/div><div class=\"CodeMirror-measure\"><\/div><div style=\"position: relative; z-index: 1;\"><\/div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"><\/div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-meta\">#include &lt;Arduino.h&gt;<\/span><\/span><\/pre><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-meta\">#include &lt;U8g2lib.h&gt;<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">\u200b<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-variable\">U8G2_SH1107_SEEED_128X128_F_HW_I2C<\/span> <span class=\"cm-def\">u8g2<\/span>(<span class=\"cm-variable\">U8G2_R0<\/span>, <span class=\"cm-comment\">\/* reset=*\/<\/span> <span class=\"cm-variable\">U8X8_PIN_NONE<\/span>);<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">\u200b<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">\u200b<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-variable-3\">void<\/span> <span class=\"cm-def\">setup<\/span>(<span class=\"cm-variable-3\">void<\/span>) {<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">begin<\/span>(); &nbsp;<span class=\"cm-comment\">\/\/ start a display.<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">}<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">\u200b<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">\u200b<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\">\/\/<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-variable-3\">void<\/span> <span class=\"cm-def\">drawPixels<\/span>()<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">{<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">clearBuffer<\/span>(); &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-comment\">\/\/ clear the internal memory<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-keyword\">for<\/span>(<span class=\"cm-variable-3\">int<\/span> <span class=\"cm-variable\">i<\/span> <span class=\"cm-operator\">=<\/span> <span class=\"cm-number\">0<\/span>; <span class=\"cm-variable\">i<\/span> <span class=\"cm-operator\">&lt;<\/span> <span class=\"cm-number\">100<\/span>; <span class=\"cm-variable\">i<\/span><span class=\"cm-operator\">++<\/span>){<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-comment\">\/\/ generate 100 points randomly<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">drawPixel<\/span>(<span class=\"cm-variable\">random<\/span>(<span class=\"cm-number\">128<\/span>), <span class=\"cm-variable\">random<\/span>(<span class=\"cm-number\">128<\/span>)); <\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">sendBuffer<\/span>(); &nbsp; &nbsp;<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-variable\">delay<\/span>(<span class=\"cm-number\">5<\/span>); <\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  }<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">}<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">\u200b<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-variable-3\">void<\/span> <span class=\"cm-def\">drawLines<\/span>()<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">{<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">clearBuffer<\/span>(); &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-comment\">\/\/ clear the internal memory<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">drawLine<\/span>(<span class=\"cm-number\">0<\/span>,<span class=\"cm-number\">0<\/span>, <span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">getDisplayWidth<\/span>(), <span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">getDisplayHeight<\/span>());<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">sendBuffer<\/span>(); &nbsp; &nbsp;<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">delay<\/span>(<span class=\"cm-number\">1000<\/span>);<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">drawLine<\/span>(<span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">getDisplayWidth<\/span>(),<span class=\"cm-number\">0<\/span>, <span class=\"cm-number\">0<\/span>, <span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">getDisplayHeight<\/span>());<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">sendBuffer<\/span>(); &nbsp; &nbsp;<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">delay<\/span>(<span class=\"cm-number\">1000<\/span>);<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">drawLine<\/span>(<span class=\"cm-number\">0<\/span>, <span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">getDisplayHeight<\/span>()<span class=\"cm-operator\">\/<\/span><span class=\"cm-number\">2<\/span>, <span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">getDisplayWidth<\/span>(), <span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">getDisplayHeight<\/span>()<span class=\"cm-operator\">\/<\/span><span class=\"cm-number\">2<\/span>);<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">sendBuffer<\/span>(); &nbsp; <\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">delay<\/span>(<span class=\"cm-number\">1000<\/span>);<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">drawLine<\/span>(<span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">getDisplayWidth<\/span>()<span class=\"cm-operator\">\/<\/span><span class=\"cm-number\">2<\/span>,<span class=\"cm-number\">0<\/span>, <span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">getDisplayWidth<\/span>()<span class=\"cm-operator\">\/<\/span><span class=\"cm-number\">2<\/span>, <span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">getDisplayHeight<\/span>());<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">sendBuffer<\/span>(); &nbsp; <\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">}<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">\u200b<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-variable-3\">void<\/span> <span class=\"cm-def\">drawBoxes<\/span>()<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">{<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">clearBuffer<\/span>(); &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-comment\">\/\/ clear the internal memory<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">drawBox<\/span>(<span class=\"cm-number\">0<\/span>, <span class=\"cm-number\">0<\/span>, <span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">getDisplayWidth<\/span>()<span class=\"cm-operator\">\/<\/span><span class=\"cm-number\">2<\/span><span class=\"cm-operator\">-<\/span><span class=\"cm-number\">5<\/span>,<span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">getDisplayHeight<\/span>()<span class=\"cm-operator\">\/<\/span><span class=\"cm-number\">2<\/span><span class=\"cm-operator\">-<\/span><span class=\"cm-number\">5<\/span>);<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">sendBuffer<\/span>(); &nbsp; &nbsp;<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">delay<\/span>(<span class=\"cm-number\">1000<\/span>);<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">drawBox<\/span>(<span class=\"cm-number\">0<\/span>, <span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">getDisplayHeight<\/span>()<span class=\"cm-operator\">\/<\/span><span class=\"cm-number\">2<\/span><span class=\"cm-operator\">+<\/span><span class=\"cm-number\">5<\/span>, <span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">getDisplayWidth<\/span>()<span class=\"cm-operator\">\/<\/span><span class=\"cm-number\">2<\/span><span class=\"cm-operator\">-<\/span><span class=\"cm-number\">5<\/span>,<span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">getDisplayHeight<\/span>());<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">sendBuffer<\/span>(); &nbsp; &nbsp;<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">delay<\/span>(<span class=\"cm-number\">1000<\/span>);<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">drawBox<\/span>(<span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">getDisplayWidth<\/span>()<span class=\"cm-operator\">\/<\/span><span class=\"cm-number\">2<\/span><span class=\"cm-operator\">+<\/span><span class=\"cm-number\">5<\/span>, <span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">getDisplayHeight<\/span>()<span class=\"cm-operator\">\/<\/span><span class=\"cm-number\">2<\/span><span class=\"cm-operator\">+<\/span><span class=\"cm-number\">5<\/span>, <span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">getDisplayWidth<\/span>(),<span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">getDisplayHeight<\/span>());<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">sendBuffer<\/span>(); &nbsp; &nbsp;<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">delay<\/span>(<span class=\"cm-number\">1000<\/span>);<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">drawBox<\/span>(<span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">getDisplayWidth<\/span>()<span class=\"cm-operator\">\/<\/span><span class=\"cm-number\">2<\/span><span class=\"cm-operator\">+<\/span><span class=\"cm-number\">5<\/span>, <span class=\"cm-number\">0<\/span>, <span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">getDisplayWidth<\/span>(),<span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">getDisplayHeight<\/span>()<span class=\"cm-operator\">\/<\/span><span class=\"cm-number\">2<\/span><span class=\"cm-operator\">-<\/span><span class=\"cm-number\">5<\/span>);<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">sendBuffer<\/span>(); &nbsp; &nbsp;<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">}<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">\u200b<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-variable-3\">void<\/span> <span class=\"cm-def\">drawFrames<\/span>()<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">{<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">clearBuffer<\/span>(); &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-comment\">\/\/ clear the internal memory<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">drawFrame<\/span>(<span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">getDisplayWidth<\/span>()<span class=\"cm-operator\">\/<\/span><span class=\"cm-number\">2<\/span><span class=\"cm-operator\">-<\/span><span class=\"cm-number\">10<\/span>, <span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">getDisplayHeight<\/span>()<span class=\"cm-operator\">\/<\/span><span class=\"cm-number\">2<\/span><span class=\"cm-operator\">-<\/span><span class=\"cm-number\">10<\/span>, <span class=\"cm-number\">20<\/span>, <span class=\"cm-number\">20<\/span>);<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">sendBuffer<\/span>(); &nbsp; &nbsp;<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">delay<\/span>(<span class=\"cm-number\">1000<\/span>);<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">drawFrame<\/span>(<span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">getDisplayWidth<\/span>()<span class=\"cm-operator\">\/<\/span><span class=\"cm-number\">2<\/span><span class=\"cm-operator\">-<\/span><span class=\"cm-number\">20<\/span>, <span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">getDisplayHeight<\/span>()<span class=\"cm-operator\">\/<\/span><span class=\"cm-number\">2<\/span><span class=\"cm-operator\">-<\/span><span class=\"cm-number\">20<\/span>, <span class=\"cm-number\">40<\/span>, <span class=\"cm-number\">40<\/span>);<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">sendBuffer<\/span>(); &nbsp; &nbsp;<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">delay<\/span>(<span class=\"cm-number\">1000<\/span>);<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">drawFrame<\/span>(<span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">getDisplayWidth<\/span>()<span class=\"cm-operator\">\/<\/span><span class=\"cm-number\">2<\/span><span class=\"cm-operator\">-<\/span><span class=\"cm-number\">30<\/span>, <span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">getDisplayHeight<\/span>()<span class=\"cm-operator\">\/<\/span><span class=\"cm-number\">2<\/span><span class=\"cm-operator\">-<\/span><span class=\"cm-number\">30<\/span>, <span class=\"cm-number\">60<\/span>, <span class=\"cm-number\">60<\/span>);<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">sendBuffer<\/span>(); &nbsp; &nbsp;<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">delay<\/span>(<span class=\"cm-number\">1000<\/span>);<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">drawFrame<\/span>(<span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">getDisplayWidth<\/span>()<span class=\"cm-operator\">\/<\/span><span class=\"cm-number\">2<\/span><span class=\"cm-operator\">-<\/span><span class=\"cm-number\">40<\/span>, <span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">getDisplayHeight<\/span>()<span class=\"cm-operator\">\/<\/span><span class=\"cm-number\">2<\/span><span class=\"cm-operator\">-<\/span><span class=\"cm-number\">40<\/span>, <span class=\"cm-number\">80<\/span>, <span class=\"cm-number\">80<\/span>);<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">sendBuffer<\/span>(); &nbsp; &nbsp;<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">delay<\/span>(<span class=\"cm-number\">1000<\/span>);<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">drawFrame<\/span>(<span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">getDisplayWidth<\/span>()<span class=\"cm-operator\">\/<\/span><span class=\"cm-number\">2<\/span><span class=\"cm-operator\">-<\/span><span class=\"cm-number\">50<\/span>, <span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">getDisplayHeight<\/span>()<span class=\"cm-operator\">\/<\/span><span class=\"cm-number\">2<\/span><span class=\"cm-operator\">-<\/span><span class=\"cm-number\">50<\/span>, <span class=\"cm-number\">100<\/span>, <span class=\"cm-number\">100<\/span>);<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">sendBuffer<\/span>(); &nbsp; <\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">}<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">\u200b<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-variable-3\">void<\/span> <span class=\"cm-def\">drawCircles<\/span>()<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">{<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; <span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">clearBuffer<\/span>(); &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-comment\">\/\/ clear the internal memory<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; <span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">drawCircle<\/span>(<span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">getDisplayWidth<\/span>()<span class=\"cm-operator\">\/<\/span><span class=\"cm-number\">2<\/span>, <span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">getDisplayHeight<\/span>()<span class=\"cm-operator\">\/<\/span><span class=\"cm-number\">2<\/span>, <span class=\"cm-number\">30<\/span>, <span class=\"cm-variable\">U8G2_DRAW_UPPER_RIGHT<\/span>);<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; <span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">sendBuffer<\/span>(); &nbsp; &nbsp;<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; <span class=\"cm-variable\">delay<\/span>(<span class=\"cm-number\">1000<\/span>);<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; <span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">drawCircle<\/span>(<span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">getDisplayWidth<\/span>()<span class=\"cm-operator\">\/<\/span><span class=\"cm-number\">2<\/span>, <span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">getDisplayHeight<\/span>()<span class=\"cm-operator\">\/<\/span><span class=\"cm-number\">2<\/span>, <span class=\"cm-number\">30<\/span>, <span class=\"cm-variable\">U8G2_DRAW_UPPER_LEFT<\/span>);<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; <span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">sendBuffer<\/span>(); &nbsp; &nbsp;<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; <span class=\"cm-variable\">delay<\/span>(<span class=\"cm-number\">1000<\/span>);<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; <span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">drawCircle<\/span>(<span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">getDisplayWidth<\/span>()<span class=\"cm-operator\">\/<\/span><span class=\"cm-number\">2<\/span>, <span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">getDisplayHeight<\/span>()<span class=\"cm-operator\">\/<\/span><span class=\"cm-number\">2<\/span>, <span class=\"cm-number\">30<\/span>, <span class=\"cm-variable\">U8G2_DRAW_LOWER_LEFT<\/span>);<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; <span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">sendBuffer<\/span>(); &nbsp; &nbsp;<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; <span class=\"cm-variable\">delay<\/span>(<span class=\"cm-number\">1000<\/span>);<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; <span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">drawCircle<\/span>(<span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">getDisplayWidth<\/span>()<span class=\"cm-operator\">\/<\/span><span class=\"cm-number\">2<\/span>, <span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">getDisplayHeight<\/span>()<span class=\"cm-operator\">\/<\/span><span class=\"cm-number\">2<\/span>, <span class=\"cm-number\">30<\/span>, <span class=\"cm-variable\">U8G2_DRAW_LOWER_RIGHT<\/span>);<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; <span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">sendBuffer<\/span>(); &nbsp; &nbsp;<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; <span class=\"cm-variable\">delay<\/span>(<span class=\"cm-number\">1000<\/span>);<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; <span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">drawCircle<\/span>(<span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">getDisplayWidth<\/span>()<span class=\"cm-operator\">\/<\/span><span class=\"cm-number\">2<\/span>, <span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">getDisplayHeight<\/span>()<span class=\"cm-operator\">\/<\/span><span class=\"cm-number\">2<\/span>, <span class=\"cm-number\">50<\/span>, <span class=\"cm-variable\">U8G2_DRAW_ALL<\/span>);<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; <span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">sendBuffer<\/span>(); &nbsp; &nbsp;<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">}<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">\u200b<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-variable-3\">void<\/span> <span class=\"cm-def\">loop<\/span>(<span class=\"cm-variable-3\">void<\/span>) {<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> <\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">drawPixels<\/span>();<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">delay<\/span>(<span class=\"cm-number\">2000<\/span>);<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">drawLines<\/span>();<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">delay<\/span>(<span class=\"cm-number\">2000<\/span>);<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">drawFrames<\/span>();<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">delay<\/span>(<span class=\"cm-number\">2000<\/span>);<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">drawCircles<\/span>();<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">delay<\/span>(<span class=\"cm-number\">2000<\/span>);<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">drawBoxes<\/span>();<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">delay<\/span>(<span class=\"cm-number\">2000<\/span>);<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">}<\/span><\/pre><\/div><\/div><\/div><\/div><\/div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 2668px;\"><\/div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 2668px;\"><\/div><\/div><\/div><\/pre><h4><a name='header-n169' class='md-header-anchor '><\/a>demo<\/h4><video src=\"res\/demo_basic.mp4\" controls=\"controls\" onerror=\"this.style.display = 'none';\">\n<\/video><h3><a name='header-n172' class='md-header-anchor '><\/a>String<\/h3><p>U8g2 provides powerful text output capabilities, it can not only change the size of the output text but also the font format. <\/p><ul><li>setFont(const uint8_t *font). <a href='https:\/\/github.com\/olikraus\/u8g2\/wiki\/u8g2reference#setfont'>more<\/a><\/li><li>drawStr(u8g2_uint_t x, u8g2_uint_t y, const char *s). <a href='https:\/\/github.com\/olikraus\/u8g2\/wiki\/u8g2reference#drawstr'>more<\/a>  <\/li><\/ul><h4><a name='header-n179' class='md-header-anchor '><\/a>src<\/h4><pre spellcheck=\"false\" class=\"md-fences md-end-block ty-contain-cm modeLoaded\" lang=\"c\" style=\"break-inside: unset;\"><div class=\"CodeMirror cm-s-inner CodeMirror-wrap\" lang=\"c\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 0px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"><\/textarea><\/div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx<\/span><\/pre><\/div><div class=\"CodeMirror-measure\"><\/div><div style=\"position: relative; z-index: 1;\"><\/div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"><\/div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-meta\">#include &lt;Arduino.h&gt;<\/span><\/span><\/pre><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-meta\">#include &lt;U8g2lib.h&gt;<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">\u200b<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-variable\">U8G2_SH1107_SEEED_128X128_F_HW_I2C<\/span> <span class=\"cm-def\">u8g2<\/span>(<span class=\"cm-variable\">U8G2_R0<\/span>, <span class=\"cm-comment\">\/* reset=*\/<\/span> <span class=\"cm-variable\">U8X8_PIN_NONE<\/span>);<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">\u200b<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-variable-3\">void<\/span> <span class=\"cm-def\">setup<\/span>(<span class=\"cm-variable-3\">void<\/span>) {<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">begin<\/span>();<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">}<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">\u200b<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-variable-3\">void<\/span> <span class=\"cm-def\">loop<\/span>(<span class=\"cm-variable-3\">void<\/span>) {<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">clearBuffer<\/span>(); &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-comment\">\/\/ clear the internal memory<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">setFont<\/span>(<span class=\"cm-variable\">u8g2_font_ncenB08_tr<\/span>); <span class=\"cm-comment\">\/\/ choose a suitable font<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">drawStr<\/span>(<span class=\"cm-number\">0<\/span>,<span class=\"cm-number\">10<\/span>,<span class=\"cm-string\">\"Hello World!\"<\/span>); &nbsp;<span class=\"cm-comment\">\/\/ write something to the internal memory<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">setFont<\/span>(<span class=\"cm-variable\">u8g2_font_ncenB18_tr<\/span>); <span class=\"cm-comment\">\/\/ choose a suitable font<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">drawStr<\/span>(<span class=\"cm-number\">0<\/span>,<span class=\"cm-number\">40<\/span>,<span class=\"cm-string\">\"Hello World!\"<\/span>); &nbsp;<span class=\"cm-comment\">\/\/ write something to the internal memory<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">setFont<\/span>(<span class=\"cm-variable\">u8g2_font_pieceofcake_mel_tr<\/span>); <span class=\"cm-comment\">\/\/ choose a suitable font<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">drawStr<\/span>(<span class=\"cm-number\">0<\/span>,<span class=\"cm-number\">60<\/span>,<span class=\"cm-string\">\"Hello World!\"<\/span>); &nbsp;<span class=\"cm-comment\">\/\/ write something to the internal memory<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">setCursor<\/span>(<span class=\"cm-number\">40<\/span>, <span class=\"cm-number\">80<\/span>);<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">setFont<\/span>(<span class=\"cm-variable\">u8g2_font_ncenB08_tr<\/span>); <span class=\"cm-comment\">\/\/ choose a suitable font<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">print<\/span>(<span class=\"cm-string\">\"Hello World!\"<\/span>);<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; <span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">setFont<\/span>(<span class=\"cm-variable\">u8g2_font_unifont_t_symbols<\/span>);<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">drawGlyph<\/span>(<span class=\"cm-number\">40<\/span>, <span class=\"cm-number\">100<\/span>, <span class=\"cm-number\">0x2603<\/span>);<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">sendBuffer<\/span>(); &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-comment\">\/\/ transfer internal memory to the display<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">delay<\/span>(<span class=\"cm-number\">1000<\/span>); &nbsp;<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">}<\/span><\/pre><\/div><\/div><\/div><\/div><\/div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 575px;\"><\/div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 575px;\"><\/div><\/div><\/div><\/pre><h4><a name='header-n181' class='md-header-anchor '><\/a>demo<\/h4><p><img src='https:\/\/raw.githubusercontent.com\/LynnL4\/res\/master\/Seeed_U8g2\/string.jpg' alt='string' referrerPolicy='no-referrer' \/><\/p><h3><a name='header-n183' class='md-header-anchor '><\/a>Image<\/h3><p>U8g2 library provides two functions to display images.<\/p><ul><li><del>drawBitmap()<\/del>(deprecated).<\/li><li>drawXBM().<\/li><\/ul><p>In order to display the image on monochrome OLED, we need to convert the image to XBM format. You can convert  online via the WEB, or use any tool you know.<\/p><p><img src='https:\/\/raw.githubusercontent.com\/LynnL4\/res\/master\/Seeed_U8g2\/logo.png' alt='logo' referrerPolicy='no-referrer' \/><\/p><pre spellcheck=\"false\" class=\"md-fences md-end-block ty-contain-cm modeLoaded\" lang=\"c\" style=\"break-inside: unset;\"><div class=\"CodeMirror cm-s-inner CodeMirror-wrap\" lang=\"c\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 0px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"><\/textarea><\/div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx<\/span><\/pre><\/div><div class=\"CodeMirror-measure\"><\/div><div style=\"position: relative; z-index: 1;\"><\/div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"><\/div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-keyword\">static<\/span> <span class=\"cm-keyword\">const<\/span> <span class=\"cm-variable-3\">unsigned<\/span> <span class=\"cm-variable-3\">char<\/span> <span class=\"cm-variable\">logo_2018_horizontal_bits<\/span>[] <span class=\"cm-operator\">=<\/span> {<\/span><\/pre><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x20<\/span>, <span class=\"cm-number\">0x00<\/span>, <\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x38<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x38<\/span>, <span class=\"cm-number\">0x02<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0xC0<\/span>, <span class=\"cm-number\">0x40<\/span>, <span class=\"cm-number\">0x00<\/span>, <\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x80<\/span>, <span class=\"cm-number\">0x02<\/span>, <span class=\"cm-number\">0x80<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x40<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x80<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x38<\/span>, <span class=\"cm-number\">0x00<\/span>, <\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x80<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0xE0<\/span>, <span class=\"cm-number\">0x0F<\/span>, <span class=\"cm-number\">0xF8<\/span>, <span class=\"cm-number\">0x07<\/span>, <span class=\"cm-number\">0xF8<\/span>, <span class=\"cm-number\">0x07<\/span>, <span class=\"cm-number\">0xF8<\/span>, <\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-number\">0x07<\/span>, <span class=\"cm-number\">0xF0<\/span>, <span class=\"cm-number\">0x39<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x60<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x01<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0xF0<\/span>, <span class=\"cm-number\">0x3F<\/span>, <span class=\"cm-number\">0xFC<\/span>, <\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-number\">0x0F<\/span>, <span class=\"cm-number\">0xFC<\/span>, <span class=\"cm-number\">0x0F<\/span>, <span class=\"cm-number\">0xFC<\/span>, <span class=\"cm-number\">0x0F<\/span>, <span class=\"cm-number\">0xFC<\/span>, <span class=\"cm-number\">0x3B<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x20<\/span>, <span class=\"cm-number\">0x80<\/span>, <span class=\"cm-number\">0x02<\/span>, <\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x38<\/span>, <span class=\"cm-number\">0x18<\/span>, <span class=\"cm-number\">0x3E<\/span>, <span class=\"cm-number\">0x1E<\/span>, <span class=\"cm-number\">0x3E<\/span>, <span class=\"cm-number\">0x1E<\/span>, <span class=\"cm-number\">0x3E<\/span>, <span class=\"cm-number\">0x1F<\/span>, <span class=\"cm-number\">0xFE<\/span>, <span class=\"cm-number\">0x3F<\/span>, <span class=\"cm-number\">0x00<\/span>, <\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x10<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x38<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x0E<\/span>, <span class=\"cm-number\">0x3C<\/span>, <span class=\"cm-number\">0x0F<\/span>, <span class=\"cm-number\">0x3C<\/span>, <span class=\"cm-number\">0x0F<\/span>, <\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-number\">0x3C<\/span>, <span class=\"cm-number\">0x1F<\/span>, <span class=\"cm-number\">0x3F<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x10<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x01<\/span>, <span class=\"cm-number\">0x04<\/span>, <span class=\"cm-number\">0x78<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x0F<\/span>, <\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-number\">0x38<\/span>, <span class=\"cm-number\">0x0F<\/span>, <span class=\"cm-number\">0x38<\/span>, <span class=\"cm-number\">0x0F<\/span>, <span class=\"cm-number\">0x38<\/span>, <span class=\"cm-number\">0x0F<\/span>, <span class=\"cm-number\">0x3C<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x28<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x06<\/span>, <\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0xF8<\/span>, <span class=\"cm-number\">0x07<\/span>, <span class=\"cm-number\">0xEF<\/span>, <span class=\"cm-number\">0x3F<\/span>, <span class=\"cm-number\">0xDF<\/span>, <span class=\"cm-number\">0x3F<\/span>, <span class=\"cm-number\">0xF7<\/span>, <span class=\"cm-number\">0x3F<\/span>, <span class=\"cm-number\">0x07<\/span>, <span class=\"cm-number\">0x3C<\/span>, <span class=\"cm-number\">0x02<\/span>, <\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-number\">0x10<\/span>, <span class=\"cm-number\">0x28<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x04<\/span>, <span class=\"cm-number\">0x04<\/span>, <span class=\"cm-number\">0xF0<\/span>, <span class=\"cm-number\">0x1F<\/span>, <span class=\"cm-number\">0xFF<\/span>, <span class=\"cm-number\">0x3F<\/span>, <span class=\"cm-number\">0xFF<\/span>, <span class=\"cm-number\">0x3F<\/span>, <span class=\"cm-number\">0xFF<\/span>, <\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-number\">0xBF<\/span>, <span class=\"cm-number\">0x07<\/span>, <span class=\"cm-number\">0x38<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x03<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0xC0<\/span>, <span class=\"cm-number\">0x3F<\/span>, <span class=\"cm-number\">0xFF<\/span>, <\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-number\">0x7F<\/span>, <span class=\"cm-number\">0xFF<\/span>, <span class=\"cm-number\">0x7F<\/span>, <span class=\"cm-number\">0xFF<\/span>, <span class=\"cm-number\">0xBF<\/span>, <span class=\"cm-number\">0x07<\/span>, <span class=\"cm-number\">0x3C<\/span>, <span class=\"cm-number\">0x08<\/span>, <span class=\"cm-number\">0x18<\/span>, <span class=\"cm-number\">0x10<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x06<\/span>, <\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-number\">0x02<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x38<\/span>, <span class=\"cm-number\">0x0F<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x07<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x07<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x07<\/span>, <span class=\"cm-number\">0x3C<\/span>, <span class=\"cm-number\">0x00<\/span>, <\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x28<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x04<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x78<\/span>, <span class=\"cm-number\">0x0F<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x0F<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x0F<\/span>, <\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x0F<\/span>, <span class=\"cm-number\">0x3C<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x20<\/span>, <span class=\"cm-number\">0x10<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x06<\/span>, <span class=\"cm-number\">0x04<\/span>, <span class=\"cm-number\">0x38<\/span>, <span class=\"cm-number\">0x38<\/span>, <span class=\"cm-number\">0x1E<\/span>, <\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-number\">0x0C<\/span>, <span class=\"cm-number\">0x1E<\/span>, <span class=\"cm-number\">0x0C<\/span>, <span class=\"cm-number\">0x1E<\/span>, <span class=\"cm-number\">0x0C<\/span>, <span class=\"cm-number\">0x1F<\/span>, <span class=\"cm-number\">0x3F<\/span>, <span class=\"cm-number\">0x04<\/span>, <span class=\"cm-number\">0x18<\/span>, <span class=\"cm-number\">0x28<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x01<\/span>, <\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-number\">0x01<\/span>, <span class=\"cm-number\">0xF8<\/span>, <span class=\"cm-number\">0x3F<\/span>, <span class=\"cm-number\">0xFC<\/span>, <span class=\"cm-number\">0x1F<\/span>, <span class=\"cm-number\">0xFC<\/span>, <span class=\"cm-number\">0x1F<\/span>, <span class=\"cm-number\">0xFC<\/span>, <span class=\"cm-number\">0x1F<\/span>, <span class=\"cm-number\">0xFE<\/span>, <span class=\"cm-number\">0x3F<\/span>, <span class=\"cm-number\">0x00<\/span>, <\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x20<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x04<\/span>, <span class=\"cm-number\">0x02<\/span>, <span class=\"cm-number\">0xF8<\/span>, <span class=\"cm-number\">0x1F<\/span>, <span class=\"cm-number\">0xF8<\/span>, <span class=\"cm-number\">0x0F<\/span>, <span class=\"cm-number\">0xF8<\/span>, <span class=\"cm-number\">0x0F<\/span>, <span class=\"cm-number\">0xF8<\/span>, <\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-number\">0x1F<\/span>, <span class=\"cm-number\">0xFC<\/span>, <span class=\"cm-number\">0x3B<\/span>, <span class=\"cm-number\">0x01<\/span>, <span class=\"cm-number\">0x60<\/span>, <span class=\"cm-number\">0x10<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x82<\/span>, <span class=\"cm-number\">0x02<\/span>, <span class=\"cm-number\">0xC0<\/span>, <span class=\"cm-number\">0x07<\/span>, <span class=\"cm-number\">0xE0<\/span>, <\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-number\">0x03<\/span>, <span class=\"cm-number\">0xE0<\/span>, <span class=\"cm-number\">0x03<\/span>, <span class=\"cm-number\">0xE0<\/span>, <span class=\"cm-number\">0x03<\/span>, <span class=\"cm-number\">0xF0<\/span>, <span class=\"cm-number\">0x39<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x40<\/span>, <span class=\"cm-number\">0x20<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x42<\/span>, <\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-number\">0x02<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-number\">0xA0<\/span>, <span class=\"cm-number\">0x60<\/span>, <span class=\"cm-number\">0x80<\/span>, <span class=\"cm-number\">0x40<\/span>, <span class=\"cm-number\">0x01<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x40<\/span>, <span class=\"cm-number\">0x02<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x01<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x80<\/span>, <span class=\"cm-number\">0xC0<\/span>, <span class=\"cm-number\">0x80<\/span>, <span class=\"cm-number\">0xB0<\/span>, <\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x58<\/span>, <span class=\"cm-number\">0x80<\/span>, <span class=\"cm-number\">0x60<\/span>, <span class=\"cm-number\">0x10<\/span>, <span class=\"cm-number\">0x40<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x03<\/span>, <span class=\"cm-number\">0x88<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x02<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x48<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0xD8<\/span>, <span class=\"cm-number\">0x88<\/span>, <span class=\"cm-number\">0x64<\/span>, <span class=\"cm-number\">0x14<\/span>, <span class=\"cm-number\">0x40<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x10<\/span>, <\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-number\">0x21<\/span>, <span class=\"cm-number\">0x88<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x09<\/span>, <span class=\"cm-number\">0x20<\/span>, <span class=\"cm-number\">0x28<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x98<\/span>, <span class=\"cm-number\">0x95<\/span>, <span class=\"cm-number\">0x2A<\/span>, <\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-number\">0xDE<\/span>, <span class=\"cm-number\">0x7D<\/span>, <span class=\"cm-number\">0xDD<\/span>, <span class=\"cm-number\">0x2E<\/span>, <span class=\"cm-number\">0x7B<\/span>, <span class=\"cm-number\">0xBB<\/span>, <span class=\"cm-number\">0x36<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x04<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x04<\/span>, <\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x50<\/span>, <span class=\"cm-number\">0x9F<\/span>, <span class=\"cm-number\">0x2A<\/span>, <span class=\"cm-number\">0xD6<\/span>, <span class=\"cm-number\">0x57<\/span>, <span class=\"cm-number\">0xAD<\/span>, <span class=\"cm-number\">0x3A<\/span>, <span class=\"cm-number\">0x91<\/span>, <span class=\"cm-number\">0xAB<\/span>, <span class=\"cm-number\">0x17<\/span>, <span class=\"cm-number\">0x00<\/span>, <\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x50<\/span>, <span class=\"cm-number\">0x80<\/span>, <span class=\"cm-number\">0x02<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x50<\/span>, <span class=\"cm-number\">0x99<\/span>, <span class=\"cm-number\">0x6E<\/span>, <span class=\"cm-number\">0xD4<\/span>, <span class=\"cm-number\">0x75<\/span>, <span class=\"cm-number\">0xEF<\/span>, <span class=\"cm-number\">0x1A<\/span>, <\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-number\">0xAF<\/span>, <span class=\"cm-number\">0xBB<\/span>, <span class=\"cm-number\">0x36<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, <span class=\"cm-number\">0x00<\/span>, };<\/span><\/pre><\/div><\/div><\/div><\/div><\/div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 1012px;\"><\/div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 1012px;\"><\/div><\/div><\/div><\/pre><h4><a name='header-n193' class='md-header-anchor '><\/a>src <\/h4><pre spellcheck=\"false\" class=\"md-fences md-end-block ty-contain-cm modeLoaded\" lang=\"C\"><div class=\"CodeMirror cm-s-inner CodeMirror-wrap\" lang=\"c\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 0px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"><\/textarea><\/div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx<\/span><\/pre><\/div><div class=\"CodeMirror-measure\"><\/div><div style=\"position: relative; z-index: 1;\"><\/div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"><\/div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-variable-3\">void<\/span> <span class=\"cm-def\">setup<\/span>(<span class=\"cm-variable-3\">void<\/span>) {<\/span><\/pre><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">begin<\/span>();<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">Serial<\/span>.<span class=\"cm-variable\">begin<\/span>(<span class=\"cm-number\">115200<\/span>);<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">}<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">\u200b<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-variable-3\">void<\/span> <span class=\"cm-def\">loop<\/span>(<span class=\"cm-variable-3\">void<\/span>) {<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">clearBuffer<\/span>(); &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-comment\">\/\/ clear the internal memory<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">drawXBM<\/span>(<span class=\"cm-number\">0<\/span>,<span class=\"cm-number\">0<\/span>, <span class=\"cm-number\">128<\/span>, <span class=\"cm-number\">32<\/span>, <span class=\"cm-variable\">logo_2018_horizontal_bits<\/span>);<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">sendBuffer<\/span>(); &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-comment\">\/\/ transfer internal memory to the display<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-comment\">\/\/Serial.println(sizeof(ironman_bits));<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">Serial<\/span>.<span class=\"cm-variable\">println<\/span>(<span class=\"cm-string\">\"work\"<\/span>);<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">delay<\/span>(<span class=\"cm-number\">1000<\/span>); &nbsp;<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">}<\/span><\/pre><\/div><\/div><\/div><\/div><\/div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 299px;\"><\/div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 299px;\"><\/div><\/div><\/div><\/pre><h4><a name='header-n195' class='md-header-anchor '><\/a>demo<\/h4><p><img src='https:\/\/raw.githubusercontent.com\/LynnL4\/res\/master\/Seeed_U8g2\/u8g2.jpg' alt='u8g2' referrerPolicy='no-referrer' \/><\/p><h3><a name='header-n197' class='md-header-anchor '><\/a>Performance<\/h3><p>According to the kendryte k210 datasheet,  I2C can work in following modes:<\/p><ul><li>Standard mode (0 to 100Kb\/s).<\/li><li>Fast mode (&lt;= 400Kb\/s).<\/li><\/ul><p>U8g2  Examples include Example of performance testing. <\/p><ul><li>Open the example: FPS (File &gt; Examples  &gt; U8g2 &gt; full_buffer &gt; FPS).<\/li><li>Unccomment the Corresponding  contructor line.<\/li><\/ul><pre spellcheck=\"false\" class=\"md-fences md-end-block ty-contain-cm modeLoaded\" lang=\"C\"><div class=\"CodeMirror cm-s-inner CodeMirror-wrap\" lang=\"c\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 0px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"><\/textarea><\/div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx<\/span><\/pre><\/div><div class=\"CodeMirror-measure\"><\/div><div style=\"position: relative; z-index: 1;\"><\/div><div class=\"CodeMirror-code\" role=\"presentation\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"><\/div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-variable\">U8G2_SH1107_SEEED_128X128_F_HW_I2C<\/span> <span class=\"cm-def\">u8g2<\/span>(<span class=\"cm-variable\">U8G2_R0<\/span>, <span class=\"cm-comment\">\/* reset=*\/<\/span> <span class=\"cm-variable\">U8X8_PIN_NONE<\/span>); <\/span><\/pre><\/div><\/div><\/div><\/div><\/div><\/div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 23px;\"><\/div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 23px;\"><\/div><\/div><\/div><\/pre><ul><li>Call u8g2.setBusClock() before the first call to u8g2.begin().  <\/li><\/ul><pre spellcheck=\"false\" class=\"md-fences md-end-block ty-contain-cm modeLoaded\" lang=\"c\"><div class=\"CodeMirror cm-s-inner CodeMirror-wrap\" lang=\"c\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 0px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"><\/textarea><\/div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx<\/span><\/pre><\/div><div class=\"CodeMirror-measure\"><\/div><div style=\"position: relative; z-index: 1;\"><\/div><div class=\"CodeMirror-code\" role=\"presentation\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"><\/div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">setBusClock<\/span>(<span class=\"cm-number\">100000<\/span>); <span class=\"cm-comment\">\/\/Set the clock frequency of I2C to 100Khz<\/span><\/span><\/pre><\/div><\/div><\/div><\/div><\/div><\/div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 23px;\"><\/div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 23px;\"><\/div><\/div><\/div><\/pre><ul><li>Compile and run to see the results.<\/li><\/ul><h4><a name='header-n218' class='md-header-anchor '><\/a>demo<\/h4><video src=\"https:\/\/raw.githubusercontent.com\/LynnL4\/res\/master\/Seeed_U8g2\/demo_fps_100Khz.mp4\" controls=\"controls\" onerror=\"this.style.display = 'none';\">\n<\/video><p>We can notice that FPS is around 15\uff0cwhich can meet a large number of application scenarios. <\/p><pre spellcheck=\"false\" class=\"md-fences md-end-block ty-contain-cm modeLoaded\" lang=\"c\"><div class=\"CodeMirror cm-s-inner CodeMirror-wrap\" lang=\"c\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 0px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"><\/textarea><\/div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx<\/span><\/pre><\/div><div class=\"CodeMirror-measure\"><\/div><div style=\"position: relative; z-index: 1;\"><\/div><div class=\"CodeMirror-code\" role=\"presentation\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"><\/div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-variable\">u8g2<\/span>.<span class=\"cm-variable\">setBusClock<\/span>(<span class=\"cm-number\">400000<\/span>); <span class=\"cm-comment\">\/\/Set the clock frequency of I2C to 400Khz.<\/span><\/span><\/pre><\/div><\/div><\/div><\/div><\/div><\/div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 23px;\"><\/div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 23px;\"><\/div><\/div><\/div><\/pre><h4><a name='header-n222' class='md-header-anchor '><\/a>demo<\/h4><video src=\"https:\/\/raw.githubusercontent.com\/LynnL4\/res\/master\/Seeed_U8g2\/demo_fps_100Khz.mp4\/demo_fps_400Khz.mp4\" controls=\"controls\" onerror=\"this.style.display = 'none';\">\n<\/video><p>When the working frequency of I2C is in 400Khz mode, the FPS reaches about 25.In practice, I2C frequencies can be even faster, but the CPU may be unstable, so use it with caution.<\/p><h4><a name='header-n225' class='md-header-anchor '><\/a>This article demonstrates some of the most common features of the U8g2 library. For more information, click <a href='https:\/\/github.com\/olikraus\/u8g2\/wiki'>here<\/a>.<\/h4><\/div>\n<\/body>\n<\/html>\n","protected":false},"excerpt":{"rendered":"<p>U8g2_Seeed Overview U8g2 is a monochrome graphics library for embedded devices. Provided by Olikraus &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/p>\n","protected":false},"author":200,"featured_media":22865,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_lmt_disableupdate":"","_lmt_disable":"","_price":"","_stock":"","_tribe_ticket_header":"","_tribe_default_ticket_provider":"","_tribe_ticket_capacity":"0","_ticket_start_date":"","_ticket_end_date":"","_tribe_ticket_show_description":"","_tribe_ticket_show_not_going":false,"_tribe_ticket_use_global_stock":"","_tribe_ticket_global_stock_level":"","_global_stock_mode":"","_global_stock_cap":"","_tribe_rsvp_for_event":"","_tribe_ticket_going_count":"","_tribe_ticket_not_going_count":"","_tribe_tickets_list":"[]","_tribe_ticket_has_attendee_info_fields":false,"iawp_total_views":0,"footnotes":""},"categories":[1],"tags":[12],"class_list":["post-22375","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news","tag-seeeduino"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.0 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>U8g2 for Seeeduino boards - Latest News from Seeed Studio<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.seeedstudio.com\/blog\/2019\/07\/05\/u8g2-for-seeeduino-boards\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"U8g2 for Seeeduino boards - Latest News from Seeed Studio\" \/>\n<meta property=\"og:description\" content=\"U8g2_Seeed Overview U8g2 is a monochrome graphics library for embedded devices. Provided by Olikraus &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.seeedstudio.com\/blog\/2019\/07\/05\/u8g2-for-seeeduino-boards\/\" \/>\n<meta property=\"og:site_name\" content=\"Latest News from Seeed Studio\" \/>\n<meta property=\"article:published_time\" content=\"2019-07-05T10:14:42+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-07-05T10:14:46+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2019\/07\/\u5c4f\u5e55\u5feb\u7167-2019-07-05-\u4e0b\u53486.13.08.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1038\" \/>\n\t<meta property=\"og:image:height\" content=\"760\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Elaine Wu\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Elaine Wu\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"14 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.seeedstudio.com\/blog\/2019\/07\/05\/u8g2-for-seeeduino-boards\/\",\"url\":\"https:\/\/www.seeedstudio.com\/blog\/2019\/07\/05\/u8g2-for-seeeduino-boards\/\",\"name\":\"U8g2 for Seeeduino boards - Latest News from Seeed Studio\",\"isPartOf\":{\"@id\":\"https:\/\/www.seeedstudio.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.seeedstudio.com\/blog\/2019\/07\/05\/u8g2-for-seeeduino-boards\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.seeedstudio.com\/blog\/2019\/07\/05\/u8g2-for-seeeduino-boards\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2019\/07\/\u5c4f\u5e55\u5feb\u7167-2019-07-05-\u4e0b\u53486.13.08.png\",\"datePublished\":\"2019-07-05T10:14:42+00:00\",\"dateModified\":\"2019-07-05T10:14:46+00:00\",\"author\":{\"@id\":\"https:\/\/www.seeedstudio.com\/blog\/#\/schema\/person\/61c04bed5bbe2d098f04195c6e48fb11\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.seeedstudio.com\/blog\/2019\/07\/05\/u8g2-for-seeeduino-boards\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.seeedstudio.com\/blog\/2019\/07\/05\/u8g2-for-seeeduino-boards\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.seeedstudio.com\/blog\/2019\/07\/05\/u8g2-for-seeeduino-boards\/#primaryimage\",\"url\":\"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2019\/07\/\u5c4f\u5e55\u5feb\u7167-2019-07-05-\u4e0b\u53486.13.08.png\",\"contentUrl\":\"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2019\/07\/\u5c4f\u5e55\u5feb\u7167-2019-07-05-\u4e0b\u53486.13.08.png\",\"width\":1038,\"height\":760,\"caption\":\"U8g2 for Seeeduino boards\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.seeedstudio.com\/blog\/2019\/07\/05\/u8g2-for-seeeduino-boards\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.seeedstudio.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"U8g2 for Seeeduino boards\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.seeedstudio.com\/blog\/#website\",\"url\":\"https:\/\/www.seeedstudio.com\/blog\/\",\"name\":\"Latest News from Seeed Studio\",\"description\":\"Emerging IoT, AI and Autonomous Applications on the Edge\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.seeedstudio.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.seeedstudio.com\/blog\/#\/schema\/person\/61c04bed5bbe2d098f04195c6e48fb11\",\"name\":\"Elaine Wu\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.seeedstudio.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/184af8ef71f0d6b64c276f9bb38b992e?s=96&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/184af8ef71f0d6b64c276f9bb38b992e?s=96&r=g\",\"caption\":\"Elaine Wu\"},\"description\":\"Head of AI Robotics @seeed Every day holds new magic \u2728 on ne sait jamais\u2601\ufe0f\",\"sameAs\":[\"https:\/\/www.linkedin.com\/in\/elaine1994\/\"],\"url\":\"https:\/\/www.seeedstudio.com\/blog\/author\/elaine\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"U8g2 for Seeeduino boards - Latest News from Seeed Studio","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":"https:\/\/www.seeedstudio.com\/blog\/2019\/07\/05\/u8g2-for-seeeduino-boards\/","og_locale":"en_US","og_type":"article","og_title":"U8g2 for Seeeduino boards - Latest News from Seeed Studio","og_description":"U8g2_Seeed Overview U8g2 is a monochrome graphics library for embedded devices. Provided by Olikraus &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;","og_url":"https:\/\/www.seeedstudio.com\/blog\/2019\/07\/05\/u8g2-for-seeeduino-boards\/","og_site_name":"Latest News from Seeed Studio","article_published_time":"2019-07-05T10:14:42+00:00","article_modified_time":"2019-07-05T10:14:46+00:00","og_image":[{"width":1038,"height":760,"url":"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2019\/07\/\u5c4f\u5e55\u5feb\u7167-2019-07-05-\u4e0b\u53486.13.08.png","type":"image\/png"}],"author":"Elaine Wu","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Elaine Wu","Est. reading time":"14 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.seeedstudio.com\/blog\/2019\/07\/05\/u8g2-for-seeeduino-boards\/","url":"https:\/\/www.seeedstudio.com\/blog\/2019\/07\/05\/u8g2-for-seeeduino-boards\/","name":"U8g2 for Seeeduino boards - Latest News from Seeed Studio","isPartOf":{"@id":"https:\/\/www.seeedstudio.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.seeedstudio.com\/blog\/2019\/07\/05\/u8g2-for-seeeduino-boards\/#primaryimage"},"image":{"@id":"https:\/\/www.seeedstudio.com\/blog\/2019\/07\/05\/u8g2-for-seeeduino-boards\/#primaryimage"},"thumbnailUrl":"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2019\/07\/\u5c4f\u5e55\u5feb\u7167-2019-07-05-\u4e0b\u53486.13.08.png","datePublished":"2019-07-05T10:14:42+00:00","dateModified":"2019-07-05T10:14:46+00:00","author":{"@id":"https:\/\/www.seeedstudio.com\/blog\/#\/schema\/person\/61c04bed5bbe2d098f04195c6e48fb11"},"breadcrumb":{"@id":"https:\/\/www.seeedstudio.com\/blog\/2019\/07\/05\/u8g2-for-seeeduino-boards\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.seeedstudio.com\/blog\/2019\/07\/05\/u8g2-for-seeeduino-boards\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.seeedstudio.com\/blog\/2019\/07\/05\/u8g2-for-seeeduino-boards\/#primaryimage","url":"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2019\/07\/\u5c4f\u5e55\u5feb\u7167-2019-07-05-\u4e0b\u53486.13.08.png","contentUrl":"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2019\/07\/\u5c4f\u5e55\u5feb\u7167-2019-07-05-\u4e0b\u53486.13.08.png","width":1038,"height":760,"caption":"U8g2 for Seeeduino boards"},{"@type":"BreadcrumbList","@id":"https:\/\/www.seeedstudio.com\/blog\/2019\/07\/05\/u8g2-for-seeeduino-boards\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.seeedstudio.com\/blog\/"},{"@type":"ListItem","position":2,"name":"U8g2 for Seeeduino boards"}]},{"@type":"WebSite","@id":"https:\/\/www.seeedstudio.com\/blog\/#website","url":"https:\/\/www.seeedstudio.com\/blog\/","name":"Latest News from Seeed Studio","description":"Emerging IoT, AI and Autonomous Applications on the Edge","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.seeedstudio.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.seeedstudio.com\/blog\/#\/schema\/person\/61c04bed5bbe2d098f04195c6e48fb11","name":"Elaine Wu","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.seeedstudio.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/184af8ef71f0d6b64c276f9bb38b992e?s=96&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/184af8ef71f0d6b64c276f9bb38b992e?s=96&r=g","caption":"Elaine Wu"},"description":"Head of AI Robotics @seeed Every day holds new magic \u2728 on ne sait jamais\u2601\ufe0f","sameAs":["https:\/\/www.linkedin.com\/in\/elaine1994\/"],"url":"https:\/\/www.seeedstudio.com\/blog\/author\/elaine\/"}]}},"modified_by":"Elaine Wu","views":25919,"featured_image_urls":{"full":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2019\/07\/\u5c4f\u5e55\u5feb\u7167-2019-07-05-\u4e0b\u53486.13.08.png",1038,760,false],"thumbnail":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2019\/07\/\u5c4f\u5e55\u5feb\u7167-2019-07-05-\u4e0b\u53486.13.08-80x80.png",80,80,true],"medium":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2019\/07\/\u5c4f\u5e55\u5feb\u7167-2019-07-05-\u4e0b\u53486.13.08-300x220.png",300,220,true],"medium_large":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2019\/07\/\u5c4f\u5e55\u5feb\u7167-2019-07-05-\u4e0b\u53486.13.08-768x562.png",640,468,true],"large":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2019\/07\/\u5c4f\u5e55\u5feb\u7167-2019-07-05-\u4e0b\u53486.13.08-1030x754.png",640,469,true],"1536x1536":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2019\/07\/\u5c4f\u5e55\u5feb\u7167-2019-07-05-\u4e0b\u53486.13.08.png",1038,760,false],"2048x2048":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2019\/07\/\u5c4f\u5e55\u5feb\u7167-2019-07-05-\u4e0b\u53486.13.08.png",1038,760,false],"visody_icon":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2019\/07\/\u5c4f\u5e55\u5feb\u7167-2019-07-05-\u4e0b\u53486.13.08.png",32,23,false],"magazine-7-slider-full":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2019\/07\/\u5c4f\u5e55\u5feb\u7167-2019-07-05-\u4e0b\u53486.13.08.png",1038,760,false],"magazine-7-slider-center":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2019\/07\/\u5c4f\u5e55\u5feb\u7167-2019-07-05-\u4e0b\u53486.13.08.png",936,685,false],"magazine-7-featured":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2019\/07\/\u5c4f\u5e55\u5feb\u7167-2019-07-05-\u4e0b\u53486.13.08.png",1024,750,false],"magazine-7-medium":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2019\/07\/\u5c4f\u5e55\u5feb\u7167-2019-07-05-\u4e0b\u53486.13.08.png",519,380,false],"magazine-7-medium-square":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2019\/07\/\u5c4f\u5e55\u5feb\u7167-2019-07-05-\u4e0b\u53486.13.08.png",615,450,false]},"author_info":{"display_name":"Elaine Wu","author_link":"https:\/\/www.seeedstudio.com\/blog\/author\/elaine\/"},"category_info":"<a href=\"https:\/\/www.seeedstudio.com\/blog\/category\/news\/\" rel=\"category tag\">News<\/a>","tag_info":"News","comment_count":"0","_links":{"self":[{"href":"https:\/\/www.seeedstudio.com\/blog\/wp-json\/wp\/v2\/posts\/22375","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.seeedstudio.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.seeedstudio.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.seeedstudio.com\/blog\/wp-json\/wp\/v2\/users\/200"}],"replies":[{"embeddable":true,"href":"https:\/\/www.seeedstudio.com\/blog\/wp-json\/wp\/v2\/comments?post=22375"}],"version-history":[{"count":3,"href":"https:\/\/www.seeedstudio.com\/blog\/wp-json\/wp\/v2\/posts\/22375\/revisions"}],"predecessor-version":[{"id":22866,"href":"https:\/\/www.seeedstudio.com\/blog\/wp-json\/wp\/v2\/posts\/22375\/revisions\/22866"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.seeedstudio.com\/blog\/wp-json\/wp\/v2\/media\/22865"}],"wp:attachment":[{"href":"https:\/\/www.seeedstudio.com\/blog\/wp-json\/wp\/v2\/media?parent=22375"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.seeedstudio.com\/blog\/wp-json\/wp\/v2\/categories?post=22375"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.seeedstudio.com\/blog\/wp-json\/wp\/v2\/tags?post=22375"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}