芯片解密|单片机解密|IC解密|芯片破解|芯片复制| PCB抄板|软件开发

飞芯科技-芯片解密|单片机解密|IC解密|芯片破解|芯片复制| PCB抄板|软件开发

芯片解密w5500 dhcp优化版+udp nrf52832程序源码

芯片解密主控用的nrf52832 cortex m4内核 硬件spi   
SDK为nRF_SDK_15.2.0
把解压后的目录放nRF_SDK_15.2.0\examples\ble_central下编译就可以成功。

芯片解密代码预览

  1. #include "ethernet.h"
  2. #include "dhcp.h"

  3. /* Private typedef -----------------------------------------------------------*/
  4. /* Private define ------------------------------------------------------------*/
  5. #define SOCK_TCPS        0

  6. /* Private macro -------------------------------------------------------------*/
  7. uint8_t gSEND_BUFF[SEND_BUFF_SIZE];
  8. // Default Network Configuration
  9. wiz_NetInfo gWIZNETINFO = { .mac = {0x00, 0x02, 0x04,0x06, 0x08, 0x10},
  10.                             .ip = {192,168,1,2 },
  11.                             .sn = {255,255,2555,0},
  12.                             .gw = {0, 0, 0, 0},
  13.                             .dns = {1,2,4,8},
  14.                             .dhcp =  NETINFO_DHCP };
  15. void network_init(void);
  16.                            
  17. void set_macaddr(void)
  18. {
  19.     gWIZNETINFO.mac[0] = (uint8_t )(NRF_FICR->DEVICEADDR[0]);
  20.     gWIZNETINFO.mac[1] = (uint8_t )(NRF_FICR->DEVICEADDR[0]>>8);
  21.     gWIZNETINFO.mac[2] = (uint8_t )(NRF_FICR->DEVICEADDR[0]>>16);
  22.     gWIZNETINFO.mac[3] = (uint8_t )(NRF_FICR->DEVICEADDR[0]>>24);
  23.     gWIZNETINFO.mac[4] = (uint8_t )(NRF_FICR->DEVICEADDR[1]);
  24.     gWIZNETINFO.mac[5] = (uint8_t )(NRF_FICR->DEVICEADDR[1]>>8);
  25. }

  26. uint8_t DHCP_message[128];

  27. void ethernet_init(void)
  28. {
  29.     uint8_t tmp;
  30.         
  31.         uint8_t memsize[2][8] = {{2,2,2,2,2,2,2,2},{2,2,2,2,2,2,2,2}};
  32.         
  33.    
  34.     SPI_Configuration();
  35.    
  36.     memset((char *)gSEND_BUFF,0,SEND_BUFF_SIZE);   
  37.         
  38.     reg_wizchip_cris_cbfunc(SPI_CrisEnter, SPI_CrisExit);        //注册临界区函数
  39.         /* Chip selection call back */
  40. #if   _WIZCHIP_IO_MODE_ == _WIZCHIP_IO_MODE_SPI_VDM_
  41.         reg_wizchip_cs_cbfunc(SPI_CS_Select, SPI_CS_Deselect);//注册SPI片选信号函数
  42. #elif _WIZCHIP_IO_MODE_ == _WIZCHIP_IO_MODE_SPI_FDM_
  43.         reg_wizchip_cs_cbfunc(SPI_CS_Select, SPI_CS_Deselect);  // CS must be tried with LOW.
  44. #else
  45.    #if (_WIZCHIP_IO_MODE_ & _WIZCHIP_IO_MODE_SIP_) != _WIZCHIP_IO_MODE_SIP_
  46.       #error "Unknown _WIZCHIP_IO_MODE_"
  47.    #else
  48.       reg_wizchip_cs_cbfunc(wizchip_select, wizchip_deselect);
  49.    #endif
  50. #endif
  51.         /* SPI Read & Write callback function */
  52.         reg_wizchip_spi_cbfunc(SPI_ReadByte, SPI_WriteByte);        //注册读写函数

  53.         /* WIZCHIP SOCKET Buffer initialize */
  54.         if(ctlwizchip(CW_INIT_WIZCHIP,(void*)memsize) == -1){
  55.                
  56.                  while(1)
  57.          {
  58.              NRF_LOG_DEBUG("WIZCHIP Initialized fail.\r\n");
  59.              nrf_delay_ms(500);   
  60.          }
  61.         }
  62.     NRF_LOG_DEBUG("WIZCHIP Initialized Successful.\r\n");
  63.         /* PHY link status check */
  64.         do{
  65.                  if(ctlwizchip(CW_GET_PHYLINK, (void*)&tmp) == -1)
  66.          {
  67.                                 NRF_LOG_DEBUG("Unknown PHY Link stauts.\r\n");
  68.             
  69.                  }
  70.         
  71.         }while(tmp == PHY_LINK_OFF);
  72.     NRF_LOG_DEBUG("phy running.\n");
  73.    
  74.     set_macaddr();
  75.    
  76.     memset(DHCP_message,0,128);
  77.     DHCP_init(0,DHCP_message);
  78.    
  79.         /* Network initialization */
  80.         network_init();



联系方式

地址:石家庄市新华区民族路77号华强广场D座2009
电话:0311-88816616/87087811
手机:13315190088
传真:0311-67901001
联系人:张工
网址:www.feixindz.com
邮箱:feixindz@163.com
微信:xinpianjiemi
QQ:527263666/568069805

在线客服
热线电话

企业微信