Ignore:
Timestamp:
Feb 14, 2025, 11:42:01 AM (3 months ago)
Author:
Zed
Message:

Fixing project.

Location:
ctrl/firmware/Main/CubeMX/Core
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • ctrl/firmware/Main/CubeMX/Core/Inc/stm32h7xx_it.h

    r92 r94  
    6767void TIM7_IRQHandler(void);
    6868void SPI4_IRQHandler(void);
    69 void MDMA_IRQHandler(void);
    7069void BDMA_Channel0_IRQHandler(void);
    7170void USART10_IRQHandler(void);
  • ctrl/firmware/Main/CubeMX/Core/Src/adc.c

    r92 r94  
    2323/* USER CODE BEGIN 0 */
    2424
    25 ADC3_data_t ADC3_values         __attribute__((section(".BKP_RAM_4_DMA")));
     25uint16_t ADC3_values[1] __attribute__((section(".BKP_RAM_4_DMA")));
    2626
    2727/* USER CODE END 0 */
     
    5050  hadc3.Init.Resolution = ADC_RESOLUTION_12B;
    5151  hadc3.Init.DataAlign = ADC3_DATAALIGN_RIGHT;
    52   hadc3.Init.ScanConvMode = ADC_SCAN_ENABLE;
    53   hadc3.Init.EOCSelection = ADC_EOC_SEQ_CONV;
     52  hadc3.Init.ScanConvMode = ADC_SCAN_DISABLE;
     53  hadc3.Init.EOCSelection = ADC_EOC_SINGLE_CONV;
    5454  hadc3.Init.LowPowerAutoWait = DISABLE;
    5555  hadc3.Init.ContinuousConvMode = ENABLE;
    56   hadc3.Init.NbrOfConversion = 4;
     56  hadc3.Init.NbrOfConversion = 1;
    5757  hadc3.Init.DiscontinuousConvMode = DISABLE;
    5858  hadc3.Init.ExternalTrigConv = ADC_SOFTWARE_START;
     
    6060  hadc3.Init.DMAContinuousRequests = ENABLE;
    6161  hadc3.Init.SamplingMode = ADC_SAMPLING_MODE_NORMAL;
    62   hadc3.Init.ConversionDataManagement = ADC_CONVERSIONDATA_DR;
     62  hadc3.Init.ConversionDataManagement = ADC_CONVERSIONDATA_DMA_CIRCULAR;
    6363  hadc3.Init.Overrun = ADC_OVR_DATA_OVERWRITTEN;
    6464  hadc3.Init.LeftBitShift = ADC_LEFTBITSHIFT_NONE;
    6565  hadc3.Init.OversamplingMode = ENABLE;
    6666  hadc3.Init.Oversampling.Ratio = ADC3_OVERSAMPLING_RATIO_256;
    67   hadc3.Init.Oversampling.RightBitShift = ADC_RIGHTBITSHIFT_11;
     67  hadc3.Init.Oversampling.RightBitShift = ADC_RIGHTBITSHIFT_8;
    6868  hadc3.Init.Oversampling.TriggeredMode = ADC_TRIGGEREDMODE_SINGLE_TRIGGER;
    6969  hadc3.Init.Oversampling.OversamplingStopReset = ADC_REGOVERSAMPLING_CONTINUED_MODE;
     
    7575  /** Configure Regular Channel
    7676  */
    77   sConfig.Channel = ADC_CHANNEL_VBAT;
     77  sConfig.Channel = ADC_CHANNEL_10;
    7878  sConfig.Rank = ADC_REGULAR_RANK_1;
    7979  sConfig.SamplingTime = ADC3_SAMPLETIME_640CYCLES_5;
     
    8686    Error_Handler();
    8787  }
    88 
    89   /** Configure Regular Channel
    90   */
    91   sConfig.Channel = ADC_CHANNEL_VREFINT;
    92   sConfig.Rank = ADC_REGULAR_RANK_2;
    93   if (HAL_ADC_ConfigChannel(&hadc3, &sConfig) != HAL_OK)
    94   {
    95     Error_Handler();
    96   }
    97 
    98   /** Configure Regular Channel
    99   */
    100   sConfig.Channel = ADC_CHANNEL_TEMPSENSOR;
    101   sConfig.Rank = ADC_REGULAR_RANK_3;
    102   if (HAL_ADC_ConfigChannel(&hadc3, &sConfig) != HAL_OK)
    103   {
    104     Error_Handler();
    105   }
    106 
    107   /** Configure Regular Channel
    108   */
    109   sConfig.Channel = ADC_CHANNEL_10;
    110   sConfig.Rank = ADC_REGULAR_RANK_4;
    111   sConfig.SamplingTime = ADC3_SAMPLETIME_2CYCLES_5;
    112   if (HAL_ADC_ConfigChannel(&hadc3, &sConfig) != HAL_OK)
    113   {
    114     Error_Handler();
    115   }
    11688  /* USER CODE BEGIN ADC3_Init 2 */
    11789
     90  HAL_Delay(100U);
    11891  if (HAL_OK != HAL_ADCEx_Calibration_Start(&hadc3, ADC_CALIB_OFFSET, ADC_SINGLE_ENDED)) Error_Handler();
    11992  if (HAL_OK != HAL_ADCEx_Calibration_Start(&hadc3, ADC_CALIB_OFFSET_LINEARITY, ADC_SINGLE_ENDED)) Error_Handler();
     93  HAL_Delay(100U);
    12094
    121   if (HAL_OK != HAL_ADC_Start_DMA(&hadc3, (uint32_t*)&ADC3_values, 2)) Error_Handler();
    122   __HAL_DMA_DISABLE_IT(&hdma_adc3, DMA_IT_HT);
     95  //if (HAL_OK != HAL_ADC_Start(&hadc3)) Error_Handler();
     96  if (HAL_OK != HAL_ADC_Start_DMA(&hadc3, (uint32_t*)ADC3_values, 1/*ADC3_CHANNELS*/)) Error_Handler();
     97  //__HAL_DMA_DISABLE_IT(&hdma_adc3, DMA_IT_HT);
    12398
    12499
  • ctrl/firmware/Main/CubeMX/Core/Src/main.c

    r93 r94  
    2525#include "fatfs.h"
    2626#include "i2c.h"
    27 #include "mdma.h"
    2827#include "memorymap.h"
    2928#include "rtc.h"
     
    131130  MX_GPIO_Init();
    132131  MX_DMA_Init();
    133   //MX_MDMA_Init();
    134132  MX_BDMA_Init();
    135133  MX_RTC_Init();
    136134  MX_SPI4_Init();
    137135  MX_SDMMC1_SD_Init();
    138   MX_USART3_UART_Init();
    139136  MX_FATFS_Init();
    140137  MX_TIM8_Init();
     
    145142  MX_I2C2_Init();
    146143  MX_ADC3_Init();
     144  MX_TIM3_Init();
    147145  MX_I2C1_Init();
    148   MX_TIM3_Init();
     146  MX_USART3_UART_Init();
    149147  /* USER CODE BEGIN 2 */
    150148
  • ctrl/firmware/Main/CubeMX/Core/Src/stm32h7xx_hal_msp.c

    r72 r94  
    7474  HAL_NVIC_SetPriority(PendSV_IRQn, 15, 0);
    7575
     76  /** Enable the VREF clock
     77  */
     78  __HAL_RCC_VREF_CLK_ENABLE();
     79
     80  /** Disable the Internal Voltage Reference buffer
     81  */
     82  HAL_SYSCFG_DisableVREFBUF();
     83
     84  /** Configure the internal voltage reference buffer high impedance mode
     85  */
     86  HAL_SYSCFG_VREFBUF_HighImpedanceConfig(SYSCFG_VREFBUF_HIGH_IMPEDANCE_ENABLE);
     87
    7688  /* USER CODE BEGIN MspInit 1 */
    7789
  • ctrl/firmware/Main/CubeMX/Core/Src/stm32h7xx_it.c

    r92 r94  
    6262/* External variables --------------------------------------------------------*/
    6363extern DMA_HandleTypeDef hdma_adc3;
    64 extern MDMA_HandleTypeDef hmdma_mdma_channel0_sdmmc1_end_data_0;
    6564extern SD_HandleTypeDef hsd1;
    6665extern DMA_HandleTypeDef hdma_spi2_rx;
     
    381380
    382381/**
    383   * @brief This function handles MDMA global interrupt.
    384   */
    385 void MDMA_IRQHandler(void)
    386 {
    387   /* USER CODE BEGIN MDMA_IRQn 0 */
    388 
    389   /* USER CODE END MDMA_IRQn 0 */
    390   HAL_MDMA_IRQHandler(&hmdma_mdma_channel0_sdmmc1_end_data_0);
    391   /* USER CODE BEGIN MDMA_IRQn 1 */
    392 
    393   /* USER CODE END MDMA_IRQn 1 */
    394 }
    395 
    396 /**
    397382  * @brief This function handles BDMA channel0 global interrupt.
    398383  */
Note: See TracChangeset for help on using the changeset viewer.