极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 25285|回复: 2

求助 关于利用u8glib库显示整型变量的问题

[复制链接]
发表于 2014-5-11 22:56:22 | 显示全部楼层 |阅读模式
买了块lcd12864的屏幕,想要在屏幕上显示一个int型变量的值,但是将int型变量转换为char*型后,使用函数 u8g_uint_t U8GLIB::drawStr(u8g_uint_t x, u8g_uint_t y, const char *s),显示结果仍然不正确。。显示的是乱码。。想请教下大家有没有试过用u8glib库里面的函数显示int型变量的值?

代码如下:
#include <U8glib.h>
U8GLIB_ST7920_128X64_4X u8g(3, 9, 8);

int num=0;
int score=0;
int topScore=23454;
char s[10]={0};

void setup(void) {
pinMode(13, OUTPUT);           
  digitalWrite(13, HIGH);
}

void loop()
{
//LCDA.CLEAR();
u8g.firstPage();  
  do {
    u8g.setFont(u8g_font_6x10);
    u8g.setFontRefHeightExtendedText();
    u8g.setDefaultForegroundColor();
    u8g.setFontPosTop();
    u8g.drawLine(95,0,95,63);
    u8g.drawStr( 98, 0, "Score:");
    itostr(score,s);
    drawUI();
  } while( u8g.nextPage() );
delay(1000);

}

void drawUI(void)
{
  u8g.drawStr( 108, 8 , s);
}

void itostr(int a,char *b)
{
        int len = 0;
        int temp = a;
        while (temp)
        {
                temp = temp / 10;
                len++;
        }
        for (int i = len - 1; i >= 0; i--)
        {
                b[i] = a % 10+'0';
                a = a / 10;
        }
        b[len] = '\0';
}
回复

使用道具 举报

发表于 2014-5-12 08:33:46 | 显示全部楼层
这个库很强大,int型不用转成char形。直接用u8g.print();输出就可以了。
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2014-5-12 09:34:11 | 显示全部楼层
646097010 发表于 2014-5-12 08:33
这个库很强大,int型不用转成char形。直接用u8g.print();输出就可以了。

这样子,我试试看,谢谢啦
回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-9 19:07 , Processed in 0.037694 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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