标题: 新手求助转换数据类型! [打印本页]

作者: lhxtb    时间: 2017-12-6 17:20
标题: 新手求助转换数据类型!
请教如下:
例程中向OLED输出数据
如:LCD_P8x16Str(44,0,"HelTec")
我想输出变量,如DS18B20返回的温度(unsigned int)
如何写LCD_P8x16Str(X,Y,-变量-)
恳请回复!
谢谢!
最好写成语句!
作者: zhlzhang    时间: 2017-12-7 09:13
void OLED_WriteChar(unsigned char x, unsigned char y,unsigned short int c)
{
    unsigned char i;
    c -= 32;
    OLED_Set_Pos(x,y);   
    for(i=0; i<8; i++) OLED_WrDat(F8X16[c*16+i]);
    OLED_Set_Pos(x,y+1);
    for(i=0; i<8; i++) OLED_WrDat(F8X16[c*16+i+8]);
}
要把显示的变量先转成ACSII码,即变量+0x30.

作者: 小潘哥    时间: 2017-12-7 12:31
LCD显示的是ASCII码,18b20得出的温度是个数值,要显示出来,就要把数值变为ASCII码,最直观的方法就是:定义一个unsigned char str[]的数组,然后str[0]=Temp/10%10+‘0’,关键就是加0,这样可以把温度数值的十位数变成对应的ASCII码中的数字,其他百位个位原理一样,也就是把数值拆开来分别+‘0’,得到个字符串str,再显示str即可




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1