u8g2图形库的使用

一、初始化u8g2

u8g2_t u8g2;        //显示器初始化结构体
u8g2Init(&u8g2);    //初始化函数
u8g2_ClearDisplay(&u8g2);

二、基本使用

1、开启显示

u8g2_SetPowerSave(&u8g2,0);

2、清除屏幕缓冲区

u8g2_ClearDisplay(&u8g2);

3、画实心矩形

u8g2_DrawBox(&u8g2,3,7,25,15);

4、画空心圆

u8g2_DrawCircle(&u8g2,20,25,10,U8G2_DRAW_ALL);

5、画空心椭圆

u8g2_DrawEllipse(&u8g2,20,25,15,10,U8G2_DRAW_ALL);

6、画空心矩形

u8g2_DrawFrame(&u8g2,3,7,25,15); 

7、绘制水平线

u8g2_DrawHLine(&u8g2,10,10,30);

8、绘制竖直线

u8g2_DrawHLine(&u8g2,10,10,30);

9、两点之间绘制线

u8g2_DrawLine(&u8g2,20, 5, 5, 32);

10、绘制像素点

u8g2_DrawPixel(&u8g2,10,10);

11、绘制圆角实心方形

u8g2_DrawRBox(&u8g2,10,10,20,20,3);

12、绘制圆角空心方形

u8g2_DrawRFrame(&u8g2,10,10,20,20,3);

13、绘制字符串

u8g2_SetFont(&u8g2,u8g2_font_ncenB08_tf);
u8g2_DrawStr(&u8g2,10,10,"meng");

14、绘制实心三角形

u8g2_DrawTriangle(&u8g2,20,5, 27,50, 5,32);

15、向缓冲区写入内容

u8g2_SendBuffer(&u8g2);

16、清空缓冲区

u8g2_ClearBuffer(&u8g2);

三、显示进度条

u8g2_FirstPage(&u8g2);                                            //进度条完
    do
    {
      for(uint8_t i=0;i<=99;i=i+1)
      {
        u8g2_ClearBuffer(&u8g2); 
        
        char buff[20];
        u8g2_SetFont(&u8g2,u8g2_font_ncenB08_tf);//字体
        sprintf(buff,"%d%%",(int)(i/100.0*100));
        u8g2_DrawStr(&u8g2,105,49,buff);//当前进度显示
        
        u8g2_DrawBox(&u8g2,2,40,i,10);//填充框实心矩形框
        u8g2_DrawFrame(&u8g2,0,38,103,14);//空心矩形框
        
        HAL_Delay(10);
        u8g2_SendBuffer(&u8g2);
      }
    }while (u8g2_NextPage(&u8g2));
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
您好!关于u8g2STM32上的使用,以下是一般的步骤: 1. 首先,确保您的STM32开发板已连接到您的计算机,并且您已经安装了适当的开发环境(如Keil、STM32CubeIDE等)。 2. 下载u8g2的最新版本,可以从u8g2官方网站(https://github.com/olikraus/u8g2)上找到源代码。 3. 将下载的文件解压缩,并将u8g2文件夹复制到您的项目目录中。 4. 打开您的开发环境,并创建一个新的STM32项目。 5. 在您的项目中包含u8g2的头文件。根据您的开发环境不同,可能有不同的方法。例如,在Keil中,您可以通过右键单击项目->Options for Target->C/C++选项卡->Include Paths and Symbols来添加路径。 6. 在您的代码中,使用合适的接口初始化u8g2。根据您使用的显示设备类型(如OLED、LCD等),选择适当的初始化函数。例如,如果您使用I2C接口的OLED显示屏,可以使用以下代码进行初始化: ```c #include "u8g2.h" u8g2_t u8g2; void u8g2_init(void) { u8g2_Setup_ssd1306_i2c_128x64_noname_f(&u8g2, U8G2_R0, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_stm32cube_hal); u8x8_SetI2CAddress(&u8g2.u8x8, 0x78); u8g2_InitDisplay(&u8g2); u8g2_SetPowerSave(&u8g2, 0); } ``` 7. 使用u8g2提供的函数来控制显示设备。例如,您可以使用以下代码在屏幕上绘制文本: ```c u8g2_DrawStr(&u8g2, 0, 10, "Hello, World!"); u8g2_SendBuffer(&u8g2); ``` 这是一个简单的示例,演示了如何在STM32使用u8g2。您可以根据自己的需求使用其他u8g2的功能和函数来绘制图形、显示图像等。 希望这可以帮助到您!如有其他问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

琪琪猫不会嵌入式

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值