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

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

芯片解密STM32F407+AD7606采集32路信号

芯片解密32路AD采集,芯片AD7606

芯片解密单片机源程序如下:
  1. /***********************************************************************
  2.     main.c
  3. ********************************************************************/
  4. #include "main.h"
  5. #include "bsp_AD7606.h"
  6. #include "bsp_io.h"
  7. #include "bsp_W25qxx.h"
  8. #include "bsp_timer.h"
  9. #include "lwip_comm.h"
  10. #include "udp_server.h"
  11. #ifdef USART_DEBUG
  12. #include "usart.h"
  13. #endif
  14. #include "delay.h"

  15. /**************************************************************************/
  16. uint8_t   CPUIDbuf[12];   //CPUID
  17. WORKINFO  WorkInfo;       //工作参数
  18. AD_ARRAY  NewFrame;       //最新1帧数据
  19. ADARRAYCTR ADArrayCtr;    //数据队列控制
  20. //帧数据队列
  21. AD_ARRAY  Array[AD_ARRAYNum];// __attribute__ ((at(0x10000000)));
  22. //uint16_t  ADIntCnt[4];
  23. /*****************************************
  24. byte:{0x01,0x02,0x03,0x04}->int:0x04030201
  25. ****************************************/
  26. uint32_t byte2int(uint8_t *ps)
  27. {
  28.     uint8_t i;
  29.     B4_I1  utemp;

  30.     for(i=0;i<4;i++)
  31.         utemp.v[i] = ps[i];
  32.     return utemp.v32;
  33. }
  34. /*****************************************
  35. int:0x01020304->byte:{0x04,0x03,0x02,0x01}
  36. ****************************************/
  37. void int2byte(uint32_t dat,uint8_t *pd)
  38. {
  39.     uint8_t i;
  40.     B4_I1  utemp;

  41.     utemp.v32 = dat;
  42.     for(i=0;i<4;i++)
  43.         pd[i] = utemp.v[i];
  44. }

  45. /******************************************************
  46.     GetCPUID
  47. 描述:读STM32F407唯一ID,12字节,96bit
  48. 输出: DecGuidStr= 设备唯一码字符串格式
  49. ******************************************************/
  50. static void GetCPUID(void)
  51. {
  52.     uint8_t i;

  53.     for (i = 0; i < 12; i++)
  54.     {
  55.         CPUIDbuf[i] = *(uint8_t *)(0x1FFF7A10 + i);
  56.     }
  57. }

  58. /***********************************************
  59.     GetWorkInfo
  60. 描述:读上次使用的工作参数
  61. **********************************************/
  62. void GetWorkInfo(void)
  63. {
  64.     W25qX_Read(SPI1,(uint8_t *)&WorkInfo,W25_WORKINFO_ADD,sizeof(WORKINFO));
  65.     if (WorkInfo.FirstFlag!=0xad1e)
  66.     {//首次上电,赋默认值
  67.         WorkInfo.FirstFlag = 0xad1e;
  68.         WorkInfo.ADParam.AD_gain = 0;   //10V
  69.         WorkInfo.ADParam.AD_os = 0;     //无过过采样率
  70.         WorkInfo.ADParam.AD_freq = 48000;   //采样频率=48KHz
  71.         WorkInfo.ADParam.AD_num = 10;   

  72.         WorkInfo.NetSet.IP[0] = 192;
  73.         WorkInfo.NetSet.IP[1] = 168;
  74.         WorkInfo.NetSet.IP[2] = 1;
  75.         WorkInfo.NetSet.IP[3] = 30;
  76.         WorkInfo.NetSet.SubNet[0] = 255;
  77.         WorkInfo.NetSet.SubNet[1] = 255;
  78.         WorkInfo.NetSet.SubNet[2] = 255;
  79.         WorkInfo.NetSet.SubNet[3] = 0;
  80.         WorkInfo.NetSet.Gate[0] = 192;
  81.         WorkInfo.NetSet.Gate[1] = 168;
  82.         WorkInfo.NetSet.Gate[2] = 1;
  83.         WorkInfo.NetSet.Gate[3] = 1;
  84.         WorkInfo.NetSet.Port = 5050;
  85.         WorkInfo.NetSet.Mac[0] = 2;
  86.         WorkInfo.NetSet.Mac[1] = 0;
  87.         WorkInfo.NetSet.Mac[2] = 0;
  88.         WorkInfo.NetSet.Mac[3] = CPUIDbuf[0];
  89.         WorkInfo.NetSet.Mac[4] = CPUIDbuf[1];
  90.         WorkInfo.NetSet.Mac[5] = CPUIDbuf[2];

  91.         W25qX_Write(SPI1,(uint8_t *)&WorkInfo,W25_WORKINFO_ADD,sizeof(WORKINFO));
  92.     }
  93. }
  94. /***********************************************
  95.     SetWorkInfo
  96. 描述:保存当前使用的工作参数
  97. ***********************************************/
  98. void SetWorkInfo(void)
  99. {
  100.     W25qX_Write(SPI1,(uint8_t *)&WorkInfo,W25_WORKINFO_ADD,sizeof(WORKINFO));
  101. }

  102. /***********************************************************
  103.     AD_Array_Init
  104. 描述:队列初始化
  105. ***********************************************************/
  106. void AD_Array_Init(void)
  107. {
  108.         //u8_t i;
  109.     ADArrayCtr.Rpoint = Array;
  110.     ADArrayCtr.Wpoint = Array;
  111.     ADArrayCtr.frameCnt = 0;
  112.     ADArrayCtr.ChannelCnt = 0;
  113.     ADArrayCtr.NewframeOK = 0;
  114.         //for(i=0;i<4;i++)
  115.         //        ADIntCnt[i] = 0;
  116. }



联系方式

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

在线客服
热线电话

企业微信