OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4822|回复: 2

U8g2 移植到STM32F103ZET6模拟4线SPI

[复制链接]

4

主题

116

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4087
金钱
4087
注册时间
2017-11-15
在线时间
331 小时
发表于 2020-10-16 16:08:05 | 显示全部楼层 |阅读模式
本帖最后由 IdeaMing 于 2020-10-16 16:01 编辑

        很久以前就知道U8g2这个图形库,一直没有时间研究,最近有点时间学习了一下基本功能。
        移植最简单,其实也就这里有点麻烦,因为移植后就是使用里面的函数了。
4.png

        总的来说就是
        1.选择驱动
        2.移植接口
        对于每一个驱动都有三个构造,看一下注释,在u8g2_d_setup.c里面选择合适的,然后其它的都注释掉。
1.png

        因为软件4线SPI这个库已经做了,所以我们只要对接上初始化里面的一个接口。
2.png

        就是四个引脚拉高拉低的处理。

        开始使用
3.png


  1. <font size="4">/*******************************************************************************
  2.   * @brief  显示U8g2的logo和git网址
  3.   * [url=home.php?mod=space&uid=271674]@param[/url]  None
  4.   * @retval None
  5. ****************************************************************Author:Liming**/
  6. void u8g2_drawLogo(void)
  7. {
  8.     u8g2_SetFontMode(&u8g2,1);        // Transparent
  9.     //u8g2_SetDrawColor(&u8g2,1);
  10.    u8g2_SetFontDirection(&u8g2, 0);
  11.    u8g2_SetFont(&u8g2, u8g2_font_inb24_mf);
  12.    u8g2_DrawStr(&u8g2, 0, 30, "U");

  13.    u8g2_SetFontDirection(&u8g2, 1);
  14.    u8g2_SetFont(&u8g2, u8g2_font_inb30_mn);
  15.    u8g2_DrawStr(&u8g2, 21,8,"8");

  16.    u8g2_SetFontDirection(&u8g2, 0);
  17.    u8g2_SetFont(&u8g2, u8g2_font_inb24_mf);
  18.    u8g2_DrawStr(&u8g2, 51,30,"g");
  19.    u8g2_DrawStr(&u8g2, 67,30,"\xb2");

  20.    u8g2_DrawHLine(&u8g2, 2, 35, 47);
  21.    u8g2_DrawHLine(&u8g2, 3, 36, 47);
  22.    u8g2_DrawVLine(&u8g2, 45, 32, 12);
  23.    u8g2_DrawVLine(&u8g2, 46, 33, 12);

  24.    u8g2_SetFont(&u8g2, u8g2_font_5x8_tr);

  25.    u8g2_DrawStr(&u8g2, 1,54,"github.com/olikraus/u8g2");
  26. }</font>
复制代码
做了个模拟的进度条
  1. <font size="4">runtime++;
  2.       if(runtime%128)
  3.         u8g2_DrawBox(&u8g2,0,60,runtime%128,5);
  4.       else
  5.       {
  6.         u8g2_ClearBuffer(&u8g2);
  7.         u8g2_drawLogo();
  8.       }
  9.       u8g2_SendBuffer(&u8g2);//屏幕重绘</font>
复制代码
放上代码仅供入门参考,高级功能我还在研究。
STM32F103ZET6-U8g2.zip (25.88 MB, 下载次数: 458)
www.littlebutler.top
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

22

主题

2251

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4480
金钱
4480
注册时间
2013-4-22
在线时间
337 小时
发表于 2020-10-18 15:29:54 | 显示全部楼层
回复 支持 反对

使用道具 举报

0

主题

61

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
424
金钱
424
注册时间
2021-5-1
在线时间
163 小时
发表于 2021-12-14 11:23:41 | 显示全部楼层
感谢楼主分享!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-17 10:03

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表