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));

你可能感兴趣的:(单片机项目实战,stm32,嵌入式硬件)