芯片解密,芯片破解,IC解密,单片机解密,MCU解密,STM解密

飞芯科技提供芯片解密,芯片破解,IC解密,单片机解密,MCU解密,STM解密逆向服务

单片机解密STM32的ADC多通道采样源代码

单片机解密单片机源程序如下:

  1. 单片机解密#include "main.h"

  2. /* Private includes ----------------------------------------------------------*/
  3. /* USER CODE BEGIN Includes */
  4. #include <stdio.h>
  5. /* USER CODE END Includes */

  6. /* Private typedef -----------------------------------------------------------*/
  7. /* USER CODE BEGIN PTD */

  8. /* USER CODE END PTD */

  9. /* Private define ------------------------------------------------------------*/
  10. /* USER CODE BEGIN PD */
  11. /* USER CODE END PD */

  12. /* Private macro -------------------------------------------------------------*/
  13. /* USER CODE BEGIN PM */

  14. /* USER CODE END PM */

  15. /* Private variables ---------------------------------------------------------*/
  16. ADC_HandleTypeDef hadc1;

  17. UART_HandleTypeDef huart1;

  18. /* USER CODE BEGIN PV */

  19. /* USER CODE END PV */

  20. /* Private function prototypes -----------------------------------------------*/
  21. void SystemClock_Config(void);
  22. static void MX_GPIO_Init(void);
  23. static void MX_USART1_UART_Init(void);
  24. static void MX_ADC1_Init(void);
  25. /* USER CODE BEGIN PFP */

  26. /* USER CODE END PFP */

  27. /* Private user code ---------------------------------------------------------*/
  28. /* USER CODE BEGIN 0 */


  29. /* USER CODE END 0 */

  30. /**
  31.   * @brief  The application entry point.
  32.   * @retval int
  33.   */
  34. int main(void)
  35. {
  36.   /* USER CODE BEGIN 1 */
  37.     uint8_t i;
  38.     uint32_t ad_value[3] = {0};
  39.   /* USER CODE END 1 */

  40.   /* MCU Configuration--------------------------------------------------------*/

  41.   /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  42.   HAL_Init();

  43.   /* USER CODE BEGIN Init */

  44.   /* USER CODE END Init */

  45.   /* Configure the system clock */
  46.   SystemClock_Config();

  47.   /* USER CODE BEGIN SysInit */

  48.   /* USER CODE END SysInit */

  49.   /* Initialize all configured peripherals */
  50.   MX_GPIO_Init();
  51.   MX_USART1_UART_Init();
  52.   MX_ADC1_Init();
  53.   /* USER CODE BEGIN 2 */
  54.     for(i=0;i<3;i++)
  55.     {
  56.         HAL_ADC_Start(&hadc1);
  57.         HAL_ADC_PollForConversion(&hadc1,0xffff);
  58.         ad_value<i>=HAL_ADC_GetValue(&hadc1);
  59.     }
  60.     HAL_ADC_Stop(&hadc1);
  61.     HAL_Delay(500);
  62.   /* USER CODE END 2 */

  63.   /* Infinite loop */
  64.   /* USER CODE BEGIN WHILE */
  65.   while (1)
  66.   {
  67.         for(i=0;i<3;i++)
  68.         {
  69.             HAL_ADC_Start(&hadc1);
  70.             HAL_ADC_PollForConversion(&hadc1,0xffff);
  71.             ad_value<i>=HAL_ADC_GetValue(&hadc1);
  72.             printf("ch:%d--%d--",i,ad_value<i>);
  73.         }
  74.         printf("\r\n");
  75.         
  76.         HAL_ADC_Stop(&hadc1);
  77.         HAL_Delay(500);
  78.         
  79.     /* USER CODE END WHILE */

  80.     /* USER CODE BEGIN 3 */
  81.   }
  82.   /* USER CODE END 3 */
  83. }

  84. /**
  85.   * @brief System Clock Configuration
  86.   * @retval None
  87.   */
  88. void SystemClock_Config(void)
  89. {
  90.   RCC_OscInitTypeDef RCC_OscInitStruct = {0};
  91.   RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
  92.   RCC_PeriphCLKInitTypeDef PeriphClkInit = {0};

  93.   /** Initializes the RCC Oscillators according to the specified parameters
  94.   * in the RCC_OscInitTypeDef structure.
  95.   */
  96.   RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;
  97.   RCC_OscInitStruct.HSIState = RCC_HSI_ON;
  98.   RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT;
  99.   RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
  100.   RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI_DIV2;
  101.   RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL4;
  102.   if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
  103.   {
  104.     Error_Handler();
  105.   }
  106.   /** Initializes the CPU, AHB and APB buses clocks
  107.   */
  108.   RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
  109.                               |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;
  110.   RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
  111.   RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
  112.   RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2;
  113.   RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;

  114.   if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK)
  115.   {
  116.     Error_Handler();
  117.   }
  118.   PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_ADC;
  119.   PeriphClkInit.AdcClockSelection = RCC_ADCPCLK2_DIV2;
  120.   if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK)
  121.   {
  122.     Error_Handler();
  123.   }
  124. }



联系方式

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

在线客服
热线电话

企业微信