oyuejio 发表于 2014-5-11 22:56:22

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

买了块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={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 = a % 10+'0';
                a = a / 10;
        }
        b = '\0';
}

646097010 发表于 2014-5-12 08:33:46

这个库很强大,int型不用转成char形。直接用u8g.print();输出就可以了。

oyuejio 发表于 2014-5-12 09:34:11

646097010 发表于 2014-5-12 08:33 static/image/common/back.gif
这个库很强大,int型不用转成char形。直接用u8g.print();输出就可以了。

这样子,我试试看,谢谢啦:lol
页: [1]
查看完整版本: 求助 关于利用u8glib库显示整型变量的问题