{ uint16_t ip1=0xFFFF,ip2=0xFFFF,ip3=0xFFFF,ip4=0xFFFF; uint16_t port =0xFFFF; char *Flash_ptr = (char *)0x1000; FCTL3 = FWKEY; // FCTL1 = FWKEY + WRT; printf("读取ip设置\r\n"); ip1 |= *Flash_ptr++; ip1 |= (*Flash_ptr++)<<8; ip2 |= *Flash_ptr++; ip2 |= (*Flash_ptr++)<<8; ip3 |= *Flash_ptr++; ip3 |= (*Flash_ptr++)<<8; ip4 |= *Flash_ptr++; ip4 |= (*Flash_ptr++)<<8; port |= *Flash_ptr++; port |= (*Flash_ptr++)<<8; // FCTL1 = FWKEY; FCTL3 = FWKEY + LOCK; printf("ip = %d.%d.%d.%d:%d\r\n", ip1, ip2, ip3, ip4, port); if(ip1 == 0xFFFF || ip2 == 0xFFFF || ip3 == 0xFFFF || ip4 == 0xFFFF || port == 0xFFFF) { printf("ip未设置,使用默认ip\r\n"); SaveRemoteSettingToFlash(112,74,200,49,9527); return false; } sprintf(server_ip, "%d.%d.%d.%d", ip1, ip2, ip3,ip4); sprintf(server_port, "%d", port); return true;
代码如上,读存在segD中的ip数据,如果没有读到的话就把默认的ip写进去再读一次
现在数据可以写入segD,但是读不出来,是不能够通过这样直接访问地址的方法来读取数据吗?
请问该怎么做才能将information memory中的数据读取出来呢?