极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 14611|回复: 3

u8glib OLED显示ip地址,编译出错

[复制链接]
发表于 2014-12-29 21:53:59 | 显示全部楼层 |阅读模式
本帖最后由 yenan1001 于 2014-12-29 21:53 编辑

我想用u8glib oled 显示ethercard的ip地址。

用下面的代码串口显示的时候是正常的。
  1.     ether.printIp("IP:  ", ether.myip);
  2.     ether.printIp("GW:  ", ether.gwip);  
  3.     ether.printIp("DNS: ", ether.dnsip);  
复制代码



换到u8glib的库,编译报错。
  1. void draw_ip(void) {

  2.   u8g.firstPage();
  3.   do{
  4.      u8g.setFont(u8g_font_unifont);

  5.      u8g.setPrintPos(35, 16);
  6.      u8g.print(ether.hisip);
  7.      u8g.drawStr(0,16,"SVR:");
  8.      
  9.      u8g.setPrintPos(35, 32);
  10.      u8g.print(ether.myip);
  11.      u8g.drawStr(0,32,"IP :");

  12.      u8g.setPrintPos(35, 48);
  13.      u8g.print(ether.gwip);
  14.      u8g.drawStr(0,48,"GW :");

  15.      u8g.setPrintPos(35, 64);
  16.      u8g.print(ether.dnsip);
  17.      u8g.drawStr(0,64,"DNS:");

  18.     }while(u8g.nextPage());
  19. }
复制代码


我的想法是要先把 "ether.myip"转换成字符串,然后用u8g输出。
请教要怎么把这种数据类型转换。
或者有什么别的方法可以输出。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

发表于 2014-12-30 16:01:23 | 显示全部楼层
biguous显示太大了,超载了,建议先定义一个数组存放
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-12-30 16:27:41 来自手机 | 显示全部楼层
suoma 发表于  25 分钟前
biguous显示太大了,超载了,建议先定义一个数组存放...

那为什么串口可以显示呢?来自: iPhone客户端
回复 支持 反对

使用道具 举报

发表于 2016-1-8 15:37:41 | 显示全部楼层
yenan1001 发表于 2014-12-30 16:27
那为什么串口可以显示呢?

楼上说的不对,运行错误,比如数据溢出等,这个编译是不会报错的
你这个错误是函数重载,print你去检查下参数的个数和类型,你这个因为ether.hisip无法匹配print中的参数类型所以报错了
你看看ether.hisip的类型是什么,字符串?数组?需要转换一下数据类型
回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-15 17:26 , Processed in 0.042846 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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