Advertisement
Guest User

ADC

a guest
Jul 31st, 2015
388
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.67 KB | None | 0 0
  1. #include "stm32fxxx_hal.h"
  2.  
  3. #include "defines.h"
  4. #include "tm_stm32_disco.h"
  5. #include "tm_stm32_delay.h"
  6. #include "tm_stm32_lcd.h"
  7.  
  8. TM_FONT_SIZE_t FontSize;
  9.  
  10. ADC_HandleTypeDef hadc1;
  11.  
  12. void SystemClock_Config(void);
  13. static void MX_GPIO_Init(void);
  14. static void MX_ADC1_Init(void);
  15.  
  16. int x=0;
  17. int y=0;
  18. long z=0;
  19. int q=0;
  20. uint32_t m=0;
  21.  
  22. TIM_HandleTypeDef TIM_Handle;
  23.  
  24. int main(void) {
  25.  
  26. HAL_Init();
  27.  
  28. SystemClock_Config();
  29. MX_GPIO_Init();
  30. MX_ADC1_Init();
  31. HAL_ADC_Start(&hadc1);
  32.  
  33. TM_LCD_Init();
  34. TM_LCD_Fill(0x0000);
  35. TM_LCD_SetFont(&TM_Font_16x26);
  36. TM_LCD_SetXY((TM_LCD_GetWidth() - FontSize.Width) / 2, (TM_LCD_GetHeight() - FontSize.Height)*2);
  37. TM_LCD_Puts("Systemtest");
  38.  
  39. while (1) {
  40.  
  41. m=HAL_ADC_GetValue(&hadc1);
  42.  
  43. }
  44. }
  45.  
  46. void SystemClock_Config(void)
  47. {
  48.  
  49. RCC_OscInitTypeDef RCC_OscInitStruct;
  50. RCC_ClkInitTypeDef RCC_ClkInitStruct;
  51.  
  52. __PWR_CLK_ENABLE();
  53.  
  54. __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1);
  55.  
  56. RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
  57. RCC_OscInitStruct.HSEState = RCC_HSE_ON;
  58. RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
  59. RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
  60. RCC_OscInitStruct.PLL.PLLM = 8;
  61. RCC_OscInitStruct.PLL.PLLN = 336;
  62. RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2;
  63. RCC_OscInitStruct.PLL.PLLQ = 7;
  64. HAL_RCC_OscConfig(&RCC_OscInitStruct);
  65.  
  66. RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_SYSCLK|RCC_CLOCKTYPE_PCLK1
  67. |RCC_CLOCKTYPE_PCLK2;
  68. RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
  69. RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
  70. RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV4;
  71. RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2;
  72. HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_5);
  73.  
  74. HAL_SYSTICK_Config(HAL_RCC_GetHCLKFreq()/1000);
  75.  
  76. HAL_SYSTICK_CLKSourceConfig(SYSTICK_CLKSOURCE_HCLK);
  77.  
  78. }
  79. void MX_ADC1_Init(void)
  80. {
  81.  
  82. ADC_ChannelConfTypeDef sConfig;
  83.  
  84. hadc1.Instance = ADC1;
  85. hadc1.Init.ClockPrescaler = ADC_CLOCKPRESCALER_PCLK_DIV6;
  86. hadc1.Init.Resolution = ADC_RESOLUTION12b;
  87. hadc1.Init.ScanConvMode = DISABLE;
  88. hadc1.Init.ContinuousConvMode = ENABLE;
  89. hadc1.Init.DiscontinuousConvMode = DISABLE;
  90. hadc1.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE;
  91. hadc1.Init.DataAlign = ADC_DATAALIGN_RIGHT;
  92. hadc1.Init.NbrOfConversion = 1;
  93. hadc1.Init.DMAContinuousRequests = DISABLE;
  94. hadc1.Init.EOCSelection = EOC_SINGLE_CONV;
  95. HAL_ADC_Init(&hadc1);
  96.  
  97. sConfig.Channel = ADC_CHANNEL_13;
  98. sConfig.Rank = 1;
  99. sConfig.SamplingTime = ADC_SAMPLETIME_3CYCLES;
  100. HAL_ADC_ConfigChannel(&hadc1, &sConfig);
  101.  
  102. }
  103.  
  104. void MX_GPIO_Init(void)
  105. {
  106.  
  107. __GPIOC_CLK_ENABLE();
  108.  
  109. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement