当前位置:   article > 正文

OLED显示_oled setcursor精确到y像素

oled setcursor精确到y像素

OLED显示16*16汉字

16*16点阵

  1. void Draw_16x16(unsigned char x,unsigned char y,unsigned char N)//显示16*16汉字
  2. {
  3. unsigned int Num =N*32;
  4. unsigned int i = 0;
  5. OLED_SetCursor(y,x);
  6. for ( i = 0; i < 16; i++)
  7. {
  8. OLED_WriteData(Tab16_16[Num]);
  9. Num+=1;
  10. }
  11. OLED_SetCursor(y+1,x);
  12. for (i = 0; i < 16; i++)
  13. {
  14. OLED_WriteData(Tab16_16[Num]);
  15. Num+=1;
  16. }
  17. }

OLED由128*64个像素组成

有8行,18行8个像素

显示32*64灵感:

OLED_SetCursor(y,x);        
    for ( i = 0; i < 16; i++)
    {
        OLED_WriteData(Tab16_16[Num]);        
            Num+=1;
    }

32*64字模一行有32个像素,有8行

"好"

 编写程序

  1. void Point_32x64(unsigned char x,unsigned char y,unsigned char N)//显示32*64汉字
  2. {
  3. unsigned int Num =N*256; //定义一个汉字256像素
  4. int i = 0;
  5. OLED_SetCursor(y,x); //显示第一行
  6. for ( i = 0; i < 32; i++)
  7. {
  8. OLED_WriteData(Tab_32x64[Num]);
  9. Num+=1;
  10. }
  11. }

烧录后显示:

汉字宽度32,高度64,程序只写了1行,符合预期,使用for循环编写完整程序

  1. void Point_32x64(unsigned char x,unsigned char y,unsigned char N)//显示32*64汉字
  2. {
  3. unsigned int Num =N*256;
  4. int i ,j;
  5. for( j=0;j<8;j++)
  6. {
  7. OLED_SetCursor(y+j,x);
  8. for (i = 0; i < 32; i++)
  9. {
  10. OLED_WriteData(Tab_32x64[Num]);
  11. Num+=1;
  12. }
  13. }
  14. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/718920
推荐阅读
相关标签
  

闽ICP备14008679号