论坛元老
 
- 积分
- 4087
- 金钱
- 4087
- 注册时间
- 2017-11-15
- 在线时间
- 331 小时
|
本帖最后由 IdeaMing 于 2020-10-16 16:01 编辑
很久以前就知道U8g2这个图形库,一直没有时间研究,最近有点时间学习了一下基本功能。
移植最简单,其实也就这里有点麻烦,因为移植后就是使用里面的函数了。
总的来说就是
1.选择驱动
2.移植接口
对于每一个驱动都有三个构造,看一下注释,在u8g2_d_setup.c里面选择合适的,然后其它的都注释掉。
因为软件4线SPI这个库已经做了,所以我们只要对接上初始化里面的一个接口。
就是四个引脚拉高拉低的处理。
开始使用
- <font size="4">/*******************************************************************************
- * @brief 显示U8g2的logo和git网址
- * [url=home.php?mod=space&uid=271674]@param[/url] None
- * @retval None
- ****************************************************************Author:Liming**/
- void u8g2_drawLogo(void)
- {
- u8g2_SetFontMode(&u8g2,1); // Transparent
- //u8g2_SetDrawColor(&u8g2,1);
- u8g2_SetFontDirection(&u8g2, 0);
- u8g2_SetFont(&u8g2, u8g2_font_inb24_mf);
- u8g2_DrawStr(&u8g2, 0, 30, "U");
- u8g2_SetFontDirection(&u8g2, 1);
- u8g2_SetFont(&u8g2, u8g2_font_inb30_mn);
- u8g2_DrawStr(&u8g2, 21,8,"8");
- u8g2_SetFontDirection(&u8g2, 0);
- u8g2_SetFont(&u8g2, u8g2_font_inb24_mf);
- u8g2_DrawStr(&u8g2, 51,30,"g");
- u8g2_DrawStr(&u8g2, 67,30,"\xb2");
- u8g2_DrawHLine(&u8g2, 2, 35, 47);
- u8g2_DrawHLine(&u8g2, 3, 36, 47);
- u8g2_DrawVLine(&u8g2, 45, 32, 12);
- u8g2_DrawVLine(&u8g2, 46, 33, 12);
- u8g2_SetFont(&u8g2, u8g2_font_5x8_tr);
- u8g2_DrawStr(&u8g2, 1,54,"github.com/olikraus/u8g2");
- }</font>
复制代码 做了个模拟的进度条
- <font size="4">runtime++;
- if(runtime%128)
- u8g2_DrawBox(&u8g2,0,60,runtime%128,5);
- else
- {
- u8g2_ClearBuffer(&u8g2);
- u8g2_drawLogo();
- }
- u8g2_SendBuffer(&u8g2);//屏幕重绘</font>
复制代码 放上代码仅供入门参考,高级功能我还在研究。
STM32F103ZET6-U8g2.zip
(25.88 MB, 下载次数: 458)
|
|