{"id":478,"date":"2022-12-20T15:14:37","date_gmt":"2022-12-20T07:14:37","guid":{"rendered":"http:\/\/www.huangrongzhen.ink\/?p=478"},"modified":"2023-03-04T19:41:48","modified_gmt":"2023-03-04T11:41:48","slug":"%e5%8d%95%e7%89%87%e6%9c%ba-gui-%e8%ae%be%e8%ae%a1%ef%bc%88%e4%b8%80%ef%bc%89-%e5%9f%ba%e7%a1%80%e7%9f%a5%e8%af%86","status":"publish","type":"post","link":"https:\/\/www.huangrongzhen.ink\/?p=478","title":{"rendered":"\u5355\u7247\u673a GUI \u8bbe\u8ba1\uff08\u4e00\uff09- \u57fa\u7840\u77e5\u8bc6"},"content":{"rendered":"<div class=\"wp-block-post-excerpt\"><p class=\"wp-block-post-excerpt__excerpt\">\u57fa\u4e8e GD32F303ZET6 \u82f9\u679c\u6d3e\u5f00\u53d1\u677f <\/p><\/div>\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E7%AE%80%E4%BB%8B\"><\/span>\u7b80\u4ecb<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>\u5728\u5b66\u4e60 GUI \u4e4b\u524d\uff0c\u9996\u5148\u8981\u4e86\u89e3\u4e00\u4e9b GUI \u7684\u57fa\u672c\u6982\u5ff5\uff0c\u4f8b\u5982\u50cf\u7d20\u70b9\u683c\u5f0f\u3001\u5206\u8fa8\u7387\u3001\u4ee5\u53ca LCD \u63a5\u53e3\u51fd\u6570\u3001\u89e6\u6478\u5c4f\u63a5\u53e3\u51fd\u6570\u7684\u4f7f\u7528\u7b49\u7b49\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E5%83%8F%E7%B4%A0%E7%82%B9%E6%A0%BC%E5%BC%8F\"><\/span>\u50cf\u7d20\u70b9\u683c\u5f0f<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>\u5355\u7247\u673a\u4e2d\u5e38\u7528\u7684\u50cf\u7d20\u70b9\u683c\u5f0f\u6709 ARGB8888\u3001RGB888 \u548c RGB565\uff0c\u6b64\u5904\u4e0d\u8ba8\u8bba OLED \u8fd9\u79cd\u53ea\u6709\u9ed1\u767d\u4e24\u79cd\u989c\u8272\u7684\u60c5\u51b5\u3002<\/p>\n\n\n\n<p>ARGB8888\uff0c\u987e\u540d\u601d\u4e49\uff0c\u5c31\u662f\u4e00\u4e2a\u50cf\u7d20\u70b9\u5360\u636e 4 \u4e2a \u5b57\u8282\uff084 x 8\uff09\uff0cA \u8868\u793a\u900f\u660e\u5ea6\uff0c\u5e38\u5e38\u7528\u4e8e\u989c\u8272\u6df7\u5408\uff0c0 \u8868\u793a\u5b8c\u5168\u900f\u660e\uff0c0xFF \u8868\u793a\u5b8c\u5168\u4e0d\u900f\u660e\u3002R\u3001G\u3001B \u5206\u522b\u662f\u4e09\u539f\u8272\u7ea2\u3001\u7eff\u548c\u84dd\u4e09\u79cd\u5206\u91cf\u3002\u76f8\u6bd4\u4e8e\u5176\u5b83\u50cf\u7d20\u70b9\u683c\u5f0f\uff0c\u663e\u793a\u6548\u679c\u6700\u597d\uff0c\u4f46\u4e5f\u662f\u6700\u8017\u5185\u5b58\u7684\uff0c\u9002\u7528\u4e8e\u663e\u793a\u900f\u660e\u6548\u679c\u3002<\/p>\n\n\n\n<p>\u76f8\u6bd4\u4e8e ARGB8888\uff0cRGB888 \u5c11\u4e86 A\uff0c\u5373\u900f\u660e\u5ea6\uff0c\u8fd9\u4f7f\u5f97 RGB888 \u4e0d\u9002\u7528\u4e8e\u663e\u793a\u900f\u660e\u6548\u679c\uff0c\u4f46\u6b63\u662f\u56e0\u4e3a\u5c11\u4e86\u900f\u660e\u5ea6\u4fe1\u606f\uff0c\u4f7f\u5f97 RGB888 \u6240\u6d88\u8017\u7684\u5185\u5b58\u5927\u5927\u964d\u4f4e\uff0c\u9002\u7528\u4e8e\u663e\u793a\u80cc\u666f\u56fe\u7247\u548c\u65b9\u5757\u3002<\/p>\n\n\n\n<p>\u5b66\u4e60\u8fc7\u5355\u7247\u673a\u56fe\u7247\u663e\u793a\u7684\u540c\u5b66\u53ef\u80fd\u4f1a\u6ce8\u610f\u8fc7\uff0c\u6709\u4e9b\u4f4d\u56fe\uff08BMP\uff09\u662f 24 \u4f4d\u7684\uff0c\u6709\u4e9b\u662f 32 \u4f4d\u7684\u300224 \u4f4d\u7684\u4f4d\u56fe\u5982\u4e0b\u6240\u793a\u3002\u4f4d\u6df1\u5ea6\u4e3a 24 \u8868\u793a\u4e00\u4e2a\u50cf\u7d20\u70b9\u5360\u636e 24Bit\uff0c\u5c5e\u4e8e RGB888\u3002\u56e0\u4e3a\u50cf\u7d20\u70b9\u683c\u5f0f\u662f RGB888\uff0c\u6240\u4ee5\u8be5\u56fe\u7247\u4e0d\u5177\u5907\u900f\u660e\u5ea6\u4fe1\u606f\uff0c\u4e0d\u80fd\u663e\u793a\u51fa\u900f\u660e\u6548\u679c\uff0c\u53ea\u9002\u5408\u505a\u4e3a\u80cc\u666f\u56fe\u7247\uff0c\u6216\u8005\u4e00\u4e2a\u65b9\u5757\u3002<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"421\" height=\"651\" src=\"http:\/\/www.huangrongzhen.ink\/wp-content\/uploads\/2022\/12\/\u4f4d\u6df1\u5ea6\u4e3a-24-\u7684\u4f4d\u56fe.bmp\" alt=\"\" class=\"wp-image-464\"\/><figcaption class=\"wp-element-caption\">\u4f4d\u6df1\u5ea6\u4e3a 24 \u7684\u4f4d\u56fe<\/figcaption><\/figure><\/div>\n\n\n<p>32 \u4f4d\u7684\u4f4d\u56fe\u5982\u4e0b\u6240\u793a\uff0c\u4f4d\u6df1\u5ea6\u4e3a 32 \u8868\u793a\u8be5\u4f4d\u56fe\u4f7f\u7528\u7684\u50cf\u7d20\u70b9\u683c\u5f0f\u4e3a ARGB888\uff0c\u5177\u6709\u900f\u660e\u5ea6\u4fe1\u606f\u3002\u8fd9\u79cd\u56fe\u7247\u56e0\u4e3a\u5e26\u6709\u900f\u660e\u5ea6\u4fe1\u606f\uff0c\u6240\u4ee5\u66f4\u9002\u7528\u4e8e\u56fe\u6807\u3001\u5c0f\u7a97\u53e3\u7b49\u573a\u666f\u3002<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"421\" height=\"651\" src=\"http:\/\/www.huangrongzhen.ink\/wp-content\/uploads\/2022\/12\/\u4f4d\u6df1\u5ea6\u4e3a-32-\u7684\u4f4d\u56fe.bmp\" alt=\"\" class=\"wp-image-465\"\/><figcaption class=\"wp-element-caption\">\u4f4d\u6df1\u5ea6\u4e3a 32 \u7684\u4f4d\u56fe<\/figcaption><\/figure><\/div>\n\n\n<p>\u5355\u7247\u673a\u4e2d\u4f7f\u7528 RGB888 \u4f1a\u5f15\u5165\u4e00\u4e2a\u95ee\u9898\uff0cRGB888 \u90fd\u662f\u5360\u636e 3 \u4e2a\u5b57\u8282\u5927\u5c0f\uff0c\u800c C \u8bed\u8a00\u4e2d\u5e76\u6ca1\u6709 3 \u4e2a\u5b57\u8282\u7684\u6570\u636e\u7c7b\u578b\uff0c\u60f3\u8981\u8868\u8fbe RGB888\uff0c\u53ea\u80fd\u7528\u6570\u7ec4\u6216\u7ed3\u6784\u4f53\u7684\u65b9\u5f0f\uff0c\u5982\u679c\u7528\u4e00\u4e2a 32 \u4f4d\u7684\u6570\u636e\u7c7b\u578b\u5b58\u50a8\u50cf\u7d20\u70b9\uff0c\u5219\u4f1a\u635f\u5931\u4e00\u4e2a\u5b57\u8282\u7684\u5b58\u50a8\u7a7a\u95f4\u3002\u4e09\u4e2a\u5b57\u8282\u7684\u8bbe\u8ba1\u7ed9\u6570\u636e\u5b58\u50a8\u3001\u4f20\u8f93\u3001\u5904\u7406\u5e26\u6765\u4e86\u6781\u5927\u7684\u4e0d\u4fbf\uff0c\u6240\u4ee5\u5355\u7247\u673a\u4e2d\u5927\u591a\u4f7f\u7528 RGB565 \u50cf\u7d20\u70b9\u683c\u5f0f\u3002<\/p>\n\n\n\n<p>\u4e00\u4e2a RGB565 \u50cf\u7d20\u70b9\u4f4d\u5bbd\u4e3a 16 \u4f4d\uff0c\u5360\u636e 2 \u4e2a\u5b57\u8282\u5927\u5c0f\uff0c\u50cf\u7d20\u70b9\u683c\u5f0f\u6309\u7167 [RRRRRGGGGGGBBBBB] \u6392\u5217\u3002\u76f8\u6bd4\u4e8e RGB888\uff0cRGB565 \u53ea\u63d0\u53d6\u4e86 RGB888 \u7ea2\u8272\u5206\u91cf\u7684\u9ad8 5 \u4f4d\uff0c\u7eff\u8272\u5206\u91cf\u7684\u9ad8 6 \u4f4d\u548c\u84dd\u8272\u5206\u91cf\u7684\u9ad8 5 \u4f4d\uff0c\u5c06\u539f\u6765\u9700\u8981\u6d88\u8017 3 \u4e2a\u5b57\u8282\u7684\u5185\u5b58\u7f29\u5c0f\u81f3 2 \u4e2a\u5b57\u8282\uff0c\u6781\u5927\u65b9\u4fbf\u7684\u6570\u636e\u7684\u5b58\u50a8\u548c\u4f20\u8f93\uff0c\u6b64\u65f6\u6211\u4eec\u53ea\u9700\u8981\u4e00\u4e2a\u7b80\u5355\u7684 \u201cunsigned short\u201d\u5373\u53ef\u8868\u8fbe\u4e00\u4e2a\u50cf\u7d20\u70b9\u3002\u56e0\u4e3a RGB565 \u5220\u51cf\u4e86 R\u3001G\u3001B \u4e09\u79cd\u989c\u8272\u7684\u4f4e\u4f4d\u4fe1\u606f\uff0c\u4f7f\u5f97 RGB565 \u5728\u989c\u8272\u5206\u8fa8\u7387\u4e0a\u4e0d\u5982 RGB888\uff0c\u5728\u663e\u793a\u6e10\u53d8\u8272\u80cc\u666f\u65f6\u6548\u679c\u5f88\u5dee\uff0c\u800c\u4e14\u6211\u4eec\u4e5f\u53ef\u4ee5\u53d1\u73b0\uff0c\u597d\u591a\u65f6\u5019\u5728 PC \u7aef\u6574\u7406\u597d\u7684\u56fe\u7247\uff0c\u653e\u5230\u5355\u7247\u673a\u663e\u793a\u7684\u8bdd\u4f1a\u6709\u8272\u5dee\uff0c\u8fd9\u90fd\u662f\u56e0\u4e3a RGB565 \u989c\u8272\u7cbe\u5ea6\u7f3a\u5931\u9020\u6210\u7684\u3002<\/p>\n\n\n\n<p>RGB888 \u8f6c RGB565 \u5982\u4e0b\u6240\u793a\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"cpp\" class=\"language-cpp\">unsigned short RGB888ToRGB565(unsigned char r, unsigned char g, unsigned char b)\n{\n  r = r &gt;&gt; 3;\n  g = g &gt;&gt; 2;\n  b = b &gt;&gt; 3;\n\n  return ((r &lt;&lt; 11) | (g &lt;&lt; 5) | (b &lt;&lt; 0));\n}<\/code><\/pre>\n\n\n\n<p>RGB565 \u8f6c RGB888 \u5982\u4e0b\u6240\u793a\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"cpp\" class=\"language-cpp\">unsigned int RGB565ToRGB888(u16 rgb565)\n{\n  unsigned char r, g, b;\n  r = ((0xF800 &amp; rgb565) &gt;&gt; 11) &amp; 0xFF;\n  g = ((0x07E0 &amp; rgb565) &gt;&gt; 5 ) &amp; 0xFF;\n  b = ((0x001F &amp; rgb565) &gt;&gt; 0 ) &amp; 0xFF;\n  return ((r &lt;&lt; 16) | (g &lt;&lt; 8) | (b &lt;&lt; 0));\n}<\/code><\/pre>\n\n\n\n<p>\u5355\u7247\u673a\u91cc\u5bf8\u571f\u5bf8\u91d1\uff0c\u6781\u5ea6\u7f3a\u4e4f\u5185\u5b58\uff0c\u4e3a\u4e86\u8282\u7701\u6210\u672c\uff0c\u5355\u7247\u673a\u91cc\u4f7f\u7528\u7684\u50cf\u7d20\u70b9\u683c\u5f0f\u5927\u591a\u4e3a RGB565\uff0c\u6240\u4ee5\u672c\u7cfb\u5217\u9ed8\u8ba4\u4f7f\u7528\u7684\u50cf\u7d20\u70b9\u683c\u5f0f\u4e5f\u4e3a RGB565\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E5%B1%8F%E5%B9%95%E5%8F%8A%E5%85%B6%E5%88%86%E8%BE%A8%E7%8E%87\"><\/span>\u5c4f\u5e55\u53ca\u5176\u5206\u8fa8\u7387<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>\u5355\u7247\u673a\u91cc\u4f7f\u7528\u7684\u5c4f\u5e55\u4e3b\u8981\u6709\u4e24\u7c7b\uff0c\u4e00\u7c7b\u662f\u81ea\u5e26\u663e\u5b58\u7684 MCU \u5c4f\uff0c\u53e6\u4e00\u7c7b\u662f\u4e0d\u5e26\u663e\u5b58\u7684 RGB \u5c4f\u3002MCU \u5c4f\u81ea\u5e26\u663e\u5b58\uff0c\u5360\u7528\u8d44\u6e90\u5c11\uff0c\u652f\u6301 8080\u3001SPI \u6216 IIC \u7b49\u901a\u4fe1\u65b9\u5f0f\u3002\u4f7f\u7528 MCU \u5c4f\u7684\u5355\u7247\u673a\u4e0d\u9700\u8981\u989d\u5916\u51c6\u5907\u4e00\u5757\u663e\u5b58\uff0c\u4f7f\u7528\u65f6\u53ea\u9700\u8981\u5c06\u50cf\u7d20\u70b9\u6570\u636e\u5199\u5165\u5c4f\u5e55\uff0c\u66f4\u65b0\u90e8\u5206\u533a\u57df\u5373\u53ef\u3002RGB \u5c4f\u4e0d\u81ea\u5e26\u663e\u5b58\uff0c\u7cfb\u7edf\u4e2d\u9700\u8981\u989d\u5916\u4e00\u5757\u663e\u5b58\u3002\u901a\u5e38\u4f7f\u7528\u5230 RGB \u5c4f\u7684\u5904\u7406\u5668\u90fd\u4f1a\u5916\u62d3\u4e00\u4e2a SDRAM\uff0c\u7528\u4f5c\u663e\u5b58\u3002\u76f8\u5bf9\u800c\u8a00\uff0cMCU \u5c4f\u63a7\u5236\u7b80\u5355\uff0c\u6210\u672c\u4f4e\u5ec9\uff0c\u4f46\u901f\u5ea6\u76f8\u5bf9\u6bd4\u8f83\u6162\uff1bRGB \u5c4f\u6210\u672c\u9ad8\uff0c\u65f6\u5e8f\u590d\u6742\uff0c\u4f46\u53ef\u4ee5\u5b9e\u65f6\u52a8\u6001\u5237\u65b0\uff0c\u663e\u793a\u6548\u679c\u597d\u3002GD32F303ZET6 \u82f9\u679c\u6d3e\u5f00\u53d1\u677f\u4f7f\u7528\u7684\u662f MCU \u5c4f\uff0c\u9002\u5408\u663e\u793a\u9759\u6001\u753b\u9762\uff0c\u4e0d\u9002\u5408\u5b9e\u65f6\u52a8\u6001\u5237\u65b0\u663e\u793a\u573a\u5408\u3002<\/p>\n\n\n\n<p>\u5206\u8fa8\u7387\u4e0d\u540c\u4e8e\u5c3a\u5bf8\uff0c\u662f\u6307\u5c4f\u5e55\u957f\u5bbd\u65b9\u5411\u5404\u6709\u591a\u5c11\u4e2a\u50cf\u7d20\u70b9\u3002\u4e00\u822c\u6211\u4eec\u8bf4\u7684\u5c4f\u5e55\u5206\u8fa8\u7387 800&#215;480\uff0c\u662f\u6307\u5c4f\u5e55\u6a2a\u5411\uff08\u5bbd\uff09\u6709 800 \u4e2a\u50cf\u7d20\u70b9\uff0c\u7eb5\u5411\uff08\u9ad8\uff09\u6709 480 \u4e2a\u50cf\u7d20\u70b9\u3002\u5e38\u7528\u7684\u5c4f\u5e55\u5206\u8fa8\u7387\u6709 320&#215;240\u3001480&#215;320\u3001800&#215;480\u3002\u82f9\u679c\u6d3e\u652f\u6301 800&#215;480 \u5206\u8fa8\u7387\u7684\u5c4f\u5e55\uff0c\u53ef\u4ee5\u663e\u793a\u4e30\u5bcc\u7684\u56fe\u6848\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E5%8E%9F%E7%82%B9%E3%80%81%E5%9D%90%E6%A0%87%E5%92%8C%E5%B1%8F%E5%B9%95%E6%96%B9%E5%90%91\"><\/span>\u539f\u70b9\u3001\u5750\u6807\u548c\u5c4f\u5e55\u65b9\u5411<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>\u4e0d\u8bba\u662f\u5355\u7247\u673a\u7684 GUI \u5f00\u53d1\uff0c\u8fd8\u662f PC \u7aef\u3001\u79fb\u52a8\u7aef\u7684 UI \u5f00\u53d1\uff0c\u90fd\u662f\u9ed8\u8ba4\u5c4f\u5e55\u539f\u70b9\u5728\u5de6\u4e0a\u65b9\uff0c\u5750\u6807\u5219\u4ee5\u50cf\u7d20\u70b9\u4e3a\u5355\u4f4d\u3002\u4ee5 800&#215;480 \u5206\u8fa8\u7387\u7684\u5c4f\u5e55\u4e3a\u4f8b\uff0c\u5c4f\u5e55\u5de6\u4e0a\u65b9\u5b9a\u70b9\u4e3a\u539f\u70b9\uff0c\u5750\u6807\u4e3a\uff080\uff0c0\uff09\uff0c\u6a2a\u5750\u6807\u7684\u53d6\u503c\u8303\u56f4\u4e3a 0 ~ 799\uff0c\u7eb5\u5750\u6807\u53d6\u503c\u8303\u56f4\u4e3a 0 ~ 479\u3002<\/p>\n\n\n\n<p>\u5bf9\u4e8e MCU \u5c4f\u800c\u8a00\uff0c\u53ef\u4ee5\u901a\u8fc7\u6539\u53d8\u5c4f\u5e55\u7684\u626b\u63cf\u65b9\u5411\u5b9e\u73b0\u6a2a\u7ad6\u5c4f\u5207\u6362\u3002\u800c RGB \u5c4f\u7684\u626b\u63cf\u65b9\u5411\u662f\u56fa\u5b9a\u7684\uff0c\u4e0d\u80fd\u4fee\u6539\uff0c\u6240\u4ee5\u53ea\u80fd\u901a\u8fc7\u5750\u6807\u8f6c\u6362\u7684\u65b9\u5f0f\u5b9e\u73b0\u7ad6\u5c4f\u6548\u679c\u3002<strong>\u672c\u7cfb\u5217\u6559\u7a0b\u4ee5\u6a2a\u5c4f\uff0c\u5373\u5bbd 800\u3001\u9ad8 480 \u4e3a\u9ed8\u8ba4\u65b9\u5411<\/strong>\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"LCD_%E9%A9%B1%E5%8A%A8\"><\/span>LCD \u9a71\u52a8<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>\u70b9\u5f00 LCD \u7684\u9a71\u52a8\uff0c\u67e5\u770b LCD \u7684 API \u51fd\u6570\uff0c\u53ef\u4ee5\u770b\u5230\u9a71\u52a8\u63d0\u4f9b\u7684\u6240\u6709 API \u51fd\u6570\uff0c\u5982\u4e0b\u6240\u793a\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"cpp\" class=\"language-cpp\">void LCDWriteCMD(u16 cmd);                                                 \/\/\u5411LCD\u5199\u547d\u4ee4\nvoid LCDWriteData(u16 data);                                               \/\/\u5411LCD\u5199\u6570\u636e\nu16  LCDReadData(void);                                                    \/\/\u4eceLCD\u8bfb\u6570\u636e\nvoid LCDWriteReg(u16 reg, u16 value);                                      \/\/\u5199\u5bc4\u5b58\u5668\nu16  LCDReadReg(u16 reg);                                                  \/\/\u8bfb\u5bc4\u5b58\u5668\nvoid LCDSendWriteGramCMD(void);                                            \/\/\u53d1\u9001\u5f00\u59cb\u5199GRAM\u547d\u4ee4\nvoid LCDWriteRAM(u16 rgb);                                                 \/\/\u5199GRAM\nu16  LCDBGRToRGB(u16 bgr);                                                 \/\/BGR\u8f6cRGB\nu16  LCDReadPoint(u16 x, u16 y);                                           \/\/\u8bfb\u70b9\nvoid LCDDisplayOn(void);                                                   \/\/\u5f00\u663e\u793a\nvoid LCDDisplayOff(void);                                                  \/\/\u5173\u663e\u793a\nvoid LCDSetCursor(u16 x, u16 y);                                           \/\/\u8bbe\u7f6e\u5149\u6807\nvoid LCDScanDir(u8 dir);                                                   \/\/\u8bbe\u7f6e\u5c4f\u626b\u63cf\u65b9\u5411\nvoid LCDDrawPoint(u16 x, u16 y);                                           \/\/\u753b\u70b9\nvoid LCDFastDrawPoint(u16 x, u16 y, u16 color);                            \/\/\u5feb\u901f\u753b\u70b9\nvoid LCDSSDBackLightSet(u8 pwm);                                           \/\/SSD1963 \u80cc\u5149\u63a7\u5236\nvoid LCDDisplayDir(u8 dir);                                                \/\/\u8bbe\u7f6e\u5c4f\u5e55\u663e\u793a\u65b9\u5411\nvoid LCDSetWindow(u16 sx, u16 sy, u16 width, u16 height);                  \/\/\u8bbe\u7f6e\u7a97\u53e3\nvoid InitLCD(void);                                                        \/\/\u521d\u59cb\u5316\nvoid LCDClear(u16 Color);                                                  \/\/\u6e05\u5c4f\nvoid LCDFill(u16 sx, u16 sy, u16 ex, u16 ey, u16 color);                   \/\/\u586b\u5145\u5355\u8272\nvoid LCDColorFill(u16 sx, u16 sy, u16 ex, u16 ey, u16 *color);             \/\/\u586b\u5145\u6307\u5b9a\u989c\u8272\nvoid LCDDrawLine(u16 x1, u16 y1, u16 x2, u16 y2);                          \/\/\u753b\u7ebf\nvoid LCDDrawRectangle(u16 x1, u16 y1, u16 x2, u16 y2);                     \/\/\u753b\u77e9\u5f62\nvoid LCDDrawCircle(u16 x0, u16 y0, u8 r);                                  \/\/\u753b\u5706\nvoid LCDShowChar(u16 x, u16 y, u8 code, u8 size, u8 mode);                 \/\/\u663e\u793a\u4e00\u4e2a\u5b57\u7b26\nu32  LCDPow(u8 m, u8 n);                                                   \/\/m^n\u51fd\u6570\nvoid LCDShowNum(u16 x, u16 y, u32 num, u8 len, u8 size);                   \/\/\u663e\u793a\u4e00\u4e2a\u6570\u5b57\nvoid LCDShowxNum(u16 x, u16 y, u32 num, u8 len, u8 size, u8 mode);         \/\/\u663e\u793a \u6570\u5b57\nvoid LCDShowString(u16 x, u16 y, u16 width, u16 height, u8 size, char* p); \/\/\u663e\u793a\u4e00\u4e2a\u5b57\u7b26\u4e32,12\/16\u5b57\u4f53<\/code><\/pre>\n\n\n\n<p>\u4e0d\u8981\u88ab\u90a3\u4e48\u591a\u7684\u51fd\u6570\u7ed9\u5413\u5230\uff0c\u5176\u5b9e\u771f\u6b63\u9700\u8981\u7528\u5230\u7684\u4e5f\u51e0\u4e2a\u51fd\u6570\u3002<\/p>\n\n\n\n<p>1\u3001InitLCD \u51fd\u6570\uff0c\u8be5\u51fd\u6570\u7528\u4e8e\u521d\u59cb\u5316 LCD\uff0c\u56e0\u4e3a LCD \u6a21\u5757\u4e2d\u4f7f\u7528\u5230\u4e86 EXMC\uff0c\u6240\u4ee5\u5728\u521d\u59cb\u5316\u4e2d\u8fd8\u5f97\u5148\u521d\u59cb\u5316 EXMC \u6a21\u5757\u3002<\/p>\n\n\n\n<p>2\u3001LCDDisplayDir \u51fd\u6570\uff0c\u8be5\u51fd\u6570\u7528\u4e8e\u8bbe\u7f6e\u5c4f\u5e55\u65b9\u5411\uff0c0 \u4e3a\u7ad6\u5c4f\uff0c1 \u4e3a\u6a2a\u5c4f\u3002<\/p>\n\n\n\n<p>3\u3001LCDReadPoint \u51fd\u6570\uff0c\u8be5\u51fd\u6570\u7528\u4e8e\u4ece MCU \u7684\u663e\u5b58\u4e2d\u8bfb\u53d6\u4e00\u4e2a\u50cf\u7d20\u70b9\u3002<\/p>\n\n\n\n<p>4\u3001LCDDrawPoint \u548c LCDFastDrawPoint \u51fd\u6570\uff0c\u8fd9\u4e24\u4e2a\u51fd\u6570\u7528\u4e8e\u663e\u793a\u4e00\u4e2a\u50cf\u7d20\u70b9\u3002<\/p>\n\n\n\n<p>5\u3001LCDClear \u3001LCDFill \u548c LCDColorFill \u51fd\u6570\uff0c\u8fd9\u4e09\u4e2a\u51fd\u6570\u90fd\u662f\u7528\u4e8e\u989c\u8272\u586b\u5145\u3002LCDClear \u51fd\u6570\u7528\u4e8e\u4f7f\u7528\u7eaf\u8272\u586b\u5145\u6574\u4e2a\u5c4f\u5e55\uff0c  LCDFill \u51fd\u6570\u7528\u4e8e\u4f7f\u7528\u7eaf\u8272\u586b\u5145\u533a\u5757\uff0cLCDColorFill \u51fd\u6570\u7528\u4e8e\u5c06\u989c\u8272\u7f13\u51b2\u533a\u91cc\u7684\u6570\u636e\u7ed8\u5236\u5230\u5c4f\u5e55\u4e0a\u3002<\/p>\n\n\n\n<p>6\u3001LCDDrawLine \u548c LCDDrawCircle \u51fd\u6570\uff0c\u7528\u4e8e\u753b\u7ebf\u548c\u753b\u5706\u3002<\/p>\n\n\n\n<p>7\u3001LCDShowChar \u548c LCDShowString \u51fd\u6570\uff0c\u7528\u4e8e\u663e\u793a\u5b57\u7b26\u548c\u5b57\u7b26\u4e32\u3002<\/p>\n\n\n\n<p>\u5e02\u9762\u4e0a\u5927\u90e8\u5206\u5355\u7247\u673a GUI \u5e93\uff0c\u4f8b\u5982 EMWIN\u3001LVGL \u7b49\uff0c\u90fd\u53ea\u9700\u8981\u7528\u6237\u63d0\u4f9b\u8bfb\u70b9\u548c\u753b\u70b9\u8fd9\u4e24\u4e2a\u51fd\u6570\uff0c\u5373\u53ef\u4f7f\u7528\u5b83\u4eec\u63d0\u4f9b\u7684\u5404\u79cd API \u51fd\u6570\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E8%A7%A6%E5%B1%8F%E9%A9%B1%E5%8A%A8\"><\/span>\u89e6\u5c4f\u9a71\u52a8<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>\u76f8\u6bd4\u4e4b\u4e0b\u89e6\u6478\u5c4f\u9a71\u52a8\u7684 API \u51fd\u6570\u5c31\u663e\u5f97\u7b80\u5355\u660e\u4e86\u5982\u4e0b\u6240\u793a\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"cpp\" class=\"language-cpp\">void InitTouch(void);            \/\/\u521d\u59cb\u5316\u89e6\u6478\u5c4f\u68c0\u6d4b\u9a71\u52a8\u6a21\u5757\nu8   ScanTouch(u16* x, u16* y);  \/\/\u89e6\u5c4f\u626b\u63cf<\/code><\/pre>\n\n\n\n<p>InitTouch \u51fd\u6570\u7528\u4e8e\u521d\u59cb\u5316\u89e6\u5c4f\u9a71\u52a8\uff0cScanTouch \u51fd\u6570\u5219\u7528\u4e8e\u89e6\u5c4f\u626b\u63cf\uff0c\u82e5\u68c0\u6d4b\u5230\u624b\u6307\u6309\u4e0b\u5219\u8fd4\u56de 1\uff0c\u5426\u5219\u8fd4\u56de 0\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E5%AE%9E%E9%AA%8C%E7%BB%93%E6%9E%9C\"><\/span>\u5b9e\u9a8c\u7ed3\u679c<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>\u5b9e\u9a8c\u7ed3\u679c\u5982\u4e0b\u6240\u793a\u3002<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"768\" src=\"http:\/\/www.huangrongzhen.ink\/wp-content\/uploads\/2023\/03\/\u5355\u7247\u673a-GUI-\u8bbe\u8ba1\uff08\u4e00\uff09-\u57fa\u7840\u77e5\u8bc6\u6e90\u7801-\u5b9e\u9a8c\u7ed3\u679c-20230304-1024x768.jpg\" alt=\"\" class=\"wp-image-1119\" srcset=\"https:\/\/www.huangrongzhen.ink\/wp-content\/uploads\/2023\/03\/\u5355\u7247\u673a-GUI-\u8bbe\u8ba1\uff08\u4e00\uff09-\u57fa\u7840\u77e5\u8bc6\u6e90\u7801-\u5b9e\u9a8c\u7ed3\u679c-20230304-1024x768.jpg 1024w, https:\/\/www.huangrongzhen.ink\/wp-content\/uploads\/2023\/03\/\u5355\u7247\u673a-GUI-\u8bbe\u8ba1\uff08\u4e00\uff09-\u57fa\u7840\u77e5\u8bc6\u6e90\u7801-\u5b9e\u9a8c\u7ed3\u679c-20230304-300x225.jpg 300w, https:\/\/www.huangrongzhen.ink\/wp-content\/uploads\/2023\/03\/\u5355\u7247\u673a-GUI-\u8bbe\u8ba1\uff08\u4e00\uff09-\u57fa\u7840\u77e5\u8bc6\u6e90\u7801-\u5b9e\u9a8c\u7ed3\u679c-20230304-768x576.jpg 768w, https:\/\/www.huangrongzhen.ink\/wp-content\/uploads\/2023\/03\/\u5355\u7247\u673a-GUI-\u8bbe\u8ba1\uff08\u4e00\uff09-\u57fa\u7840\u77e5\u8bc6\u6e90\u7801-\u5b9e\u9a8c\u7ed3\u679c-20230304-1536x1152.jpg 1536w, https:\/\/www.huangrongzhen.ink\/wp-content\/uploads\/2023\/03\/\u5355\u7247\u673a-GUI-\u8bbe\u8ba1\uff08\u4e00\uff09-\u57fa\u7840\u77e5\u8bc6\u6e90\u7801-\u5b9e\u9a8c\u7ed3\u679c-20230304-2048x1536.jpg 2048w, https:\/\/www.huangrongzhen.ink\/wp-content\/uploads\/2023\/03\/\u5355\u7247\u673a-GUI-\u8bbe\u8ba1\uff08\u4e00\uff09-\u57fa\u7840\u77e5\u8bc6\u6e90\u7801-\u5b9e\u9a8c\u7ed3\u679c-20230304-400x300.jpg 400w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E6%BA%90%E7%A0%81\"><\/span>\u6e90\u7801<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>\u672c\u7ae0\u8282\u4e2d\u7684\u6e90\u7801\u8bf7\u53c2\u8003\u300a<em><a href=\"http:\/\/www.huangrongzhen.ink\/?p=451\">\u5355\u7247\u673a GUI \u8bbe\u8ba1\uff08\u96f6\uff09- \u5927\u7eb2<\/a><\/em>\u300b<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u57fa\u4e8e GD32F303ZET6 \u82f9\u679c\u6d3e\u5f00\u53d1\u677f<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[13],"tags":[],"_links":{"self":[{"href":"https:\/\/www.huangrongzhen.ink\/index.php?rest_route=\/wp\/v2\/posts\/478"}],"collection":[{"href":"https:\/\/www.huangrongzhen.ink\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.huangrongzhen.ink\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.huangrongzhen.ink\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.huangrongzhen.ink\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=478"}],"version-history":[{"count":17,"href":"https:\/\/www.huangrongzhen.ink\/index.php?rest_route=\/wp\/v2\/posts\/478\/revisions"}],"predecessor-version":[{"id":1121,"href":"https:\/\/www.huangrongzhen.ink\/index.php?rest_route=\/wp\/v2\/posts\/478\/revisions\/1121"}],"wp:attachment":[{"href":"https:\/\/www.huangrongzhen.ink\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=478"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.huangrongzhen.ink\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=478"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.huangrongzhen.ink\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=478"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}