极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 15310|回复: 6

求::ip地址可以用“共用体”保存到EEPROM中吗?

[复制链接]
发表于 2018-2-11 12:21:37 | 显示全部楼层 |阅读模式
请教各位大神,我现在碰到一个问题,IP地址如:192.168.1.1这样的数据用什么方法可以写入arduino的EEPROM中,共用体可以吗?如果可以怎么操作?????
回复

使用道具 举报

发表于 2018-2-11 13:26:55 | 显示全部楼层
以前用字符串  
一点都不优雅

  1. String reportString = packetBuffer;//“001:192168110100”
  2.                                         int spacePosition = reportString.indexOf(':');//截取字符串
  3.                                         char i=reportString.charAt(spacePosition + 1) +reportString.charAt(spacePosition + 2) +reportString.charAt(spacePosition + 3) ;
  4.                                         int e=int(i);
  5.                                         char j=reportString.charAt(spacePosition + 4) +reportString.charAt(spacePosition + 5) +reportString.charAt(spacePosition + 6) ;
  6.                                         int f=int(j);
  7.                                         char k=reportString.charAt(spacePosition + 7) +reportString.charAt(spacePosition + 8) +reportString.charAt(spacePosition + 9) ;
  8.                                         int g=int(k);
  9.                                         char l=reportString.charAt(spacePosition + 10) +reportString.charAt(spacePosition + 11) +reportString.charAt(spacePosition + 12) ;
  10.                                         int h=int(l);
  11.                                         EEPROM.write(0,e);
  12.                                         EEPROM.write(1,f);
  13.                                         EEPROM.write(2,g);
  14.                                         EEPROM.write(3,h);
复制代码

回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-2-12 15:07:21 | 显示全部楼层
我看不懂啊,能解释一下吗
回复 支持 反对

使用道具 举报

发表于 2018-2-13 15:09:34 | 显示全部楼层
IP每段都是0~255啊刚好一字节,用4个字节byte格式保存即可
用楼上的写法:
EEPROM.write(0,192);
EEPROM.write(1,168);
EEPROM.write(2,1);
EEPROM.write(3,1);
回复 支持 反对

使用道具 举报

发表于 2018-2-17 10:37:53 | 显示全部楼层
本帖最后由 darkorigin 于 2018-2-17 10:43 编辑

直接每一位一个字节即可。。。(其实IPV4设计初衷就是4个用字节给全球分配IP,再1个字节存储子网掩码)
楼上鸟版正解~~~

话说楼主,子网掩码别忘记了
回复 支持 反对

使用道具 举报

发表于 2018-2-17 10:43:42 | 显示全部楼层
本帖最后由 darkorigin 于 2018-2-17 10:45 编辑

还有,不叫“共用体”,叫做全局变量.
IP地址存储的比较合理的方式就是一个一维数组 5个单字节整形单元
INT IP[5]={192,168,1,122,24};
其中前四位是IP,后面的24是指子网掩码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-4-3 11:36:44 | 显示全部楼层
谢谢楼上各位老大的正解,我明白了,再次谢谢!!!!!
回复 支持 反对

使用道具 举报

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

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-4-27 04:14 , Processed in 0.051090 second(s), 20 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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