找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1205|回复: 2
打印 上一主题 下一主题
收起左侧

新手求助转换数据类型!

[复制链接]
跳转到指定楼层
楼主
ID:157612 发表于 2017-12-6 17:20 来自手机 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请教如下:
例程中向OLED输出数据
如:LCD_P8x16Str(44,0,"HelTec")
我想输出变量,如DS18B20返回的温度(unsigned int)
如何写LCD_P8x16Str(X,Y,-变量-)
恳请回复!
谢谢!
最好写成语句!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:191408 发表于 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.

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

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

评分

参与人数 1黑币 +40 收起 理由
admin + 40 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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