Advertisement
Guest User

Untitled

a guest
Apr 20th, 2019
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.44 KB | None | 0 0
  1. typedef struct wiz_NetInfo_t
  2. {
  3. uint8_t mac[6]; ///< Source Mac Address
  4. uint8_t ip[4]; ///< Source IP Address
  5. uint8_t sn[4]; ///< Subnet Mask
  6. uint8_t gw[4]; ///< Gateway IP Address
  7. }wiz_NetInfo;
  8.  
  9. //==================================================================================================
  10. typedef struct N_flash_GlobalSettingAllVar{
  11. uint32_t ID;
  12. //----------------------------------------------
  13. wiz_NetInfo WiznetSetting;
  14. //----------------------------------------------
  15. S_IpAdrAccess IpAdrAccess[4];
  16. uint8_t NumberActiveIP;
  17. ....................
  18. }
  19.  
  20.  
  21. Обявляем в секции default(определенный адрес) структру и сразу заполняем дефолтными значеним
  22.  
  23. const S_flash_GlobalSettingAllVar Flash_default_Settings@".default"={
  24. .ID=0xAABBCCDD,
  25. #ifdef BORD_AVTO_RELEASE
  26. .WiznetSetting={
  27. .mac = {0x02, 0x01, 0x01, 0x01, 0x01, 0x01}, //6
  28. .ip = {192, 168, 0, 117}, //4
  29. .sn = {255, 255, 255,0},
  30. .gw = {192, 168, 0, 1},
  31. },
  32. #else
  33. .WiznetSetting={
  34. .mac = {0x02, 0x01, 0x01, 0x01, 0x01, 0x01}, //6
  35. .ip = {192, 168, 0, 117}, //4
  36. .sn = {255, 255, 255,0},
  37. .gw = {192, 168, 0, 1},
  38. },
  39. ....................
  40. }
  41.  
  42.  
  43.  
  44. использутется это так
  45.  
  46. Типа парсинг JSON
  47.  
  48. ConvStrToip(RAM_SettingAllVar.WiznetSetting.ip,(uint8_t*)TempVarValue[JsonGetValue("Ip_adress")]); //IP
  49. ConvStrToip(RAM_SettingAllVar.WiznetSetting.sn,(uint8_t*)TempVarValue[JsonGetValue("Subnet_Mask")]); //Mask
  50. ConvStrToip(RAM_SettingAllVar.WiznetSetting.gw,(uint8_t*)TempVarValue[JsonGetValue("gateway")]); //Gateway
  51. ConvStrToMac(RAM_SettingAllVar.WiznetSetting.mac,(uint8_t*)TempVarValue[JsonGetValue("MacAddr")]); //IP
  52.  
  53. Write_SettingVAR_flash(); // записать изменения
  54.  
  55. //==================================================================================================
  56. /*
  57. * @Описание: 1) Стереть всю таблицу
  58. 2) записать всю структуру
  59. * @Параметр:
  60. * @Возврат: Нету
  61. */
  62. void Write_SettingVAR_flash(void){
  63. //-----------------------------------------------------------------------------------------------------
  64. FLASH_ErasePage((uint32_t)&Flash_Start_Settings);
  65. FLASH_ProgramPage((uint32_t)&Flash_Start_Settings,(unsigned char*)&RAM_SettingAllVar,Table_flash_Setting_len);
  66. //-----------------------------------------------------------------------------------------------------
  67. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement