Changeset 94 for ctrl/firmware/Main/CubeMX/Core
- Timestamp:
- Feb 14, 2025, 11:42:01 AM (3 months ago)
- Location:
- ctrl/firmware/Main/CubeMX/Core
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
ctrl/firmware/Main/CubeMX/Core/Inc/stm32h7xx_it.h
r92 r94 67 67 void TIM7_IRQHandler(void); 68 68 void SPI4_IRQHandler(void); 69 void MDMA_IRQHandler(void);70 69 void BDMA_Channel0_IRQHandler(void); 71 70 void USART10_IRQHandler(void); -
ctrl/firmware/Main/CubeMX/Core/Src/adc.c
r92 r94 23 23 /* USER CODE BEGIN 0 */ 24 24 25 ADC3_data_t ADC3_values__attribute__((section(".BKP_RAM_4_DMA")));25 uint16_t ADC3_values[1] __attribute__((section(".BKP_RAM_4_DMA"))); 26 26 27 27 /* USER CODE END 0 */ … … 50 50 hadc3.Init.Resolution = ADC_RESOLUTION_12B; 51 51 hadc3.Init.DataAlign = ADC3_DATAALIGN_RIGHT; 52 hadc3.Init.ScanConvMode = ADC_SCAN_ ENABLE;53 hadc3.Init.EOCSelection = ADC_EOC_S EQ_CONV;52 hadc3.Init.ScanConvMode = ADC_SCAN_DISABLE; 53 hadc3.Init.EOCSelection = ADC_EOC_SINGLE_CONV; 54 54 hadc3.Init.LowPowerAutoWait = DISABLE; 55 55 hadc3.Init.ContinuousConvMode = ENABLE; 56 hadc3.Init.NbrOfConversion = 4;56 hadc3.Init.NbrOfConversion = 1; 57 57 hadc3.Init.DiscontinuousConvMode = DISABLE; 58 58 hadc3.Init.ExternalTrigConv = ADC_SOFTWARE_START; … … 60 60 hadc3.Init.DMAContinuousRequests = ENABLE; 61 61 hadc3.Init.SamplingMode = ADC_SAMPLING_MODE_NORMAL; 62 hadc3.Init.ConversionDataManagement = ADC_CONVERSIONDATA_D R;62 hadc3.Init.ConversionDataManagement = ADC_CONVERSIONDATA_DMA_CIRCULAR; 63 63 hadc3.Init.Overrun = ADC_OVR_DATA_OVERWRITTEN; 64 64 hadc3.Init.LeftBitShift = ADC_LEFTBITSHIFT_NONE; 65 65 hadc3.Init.OversamplingMode = ENABLE; 66 66 hadc3.Init.Oversampling.Ratio = ADC3_OVERSAMPLING_RATIO_256; 67 hadc3.Init.Oversampling.RightBitShift = ADC_RIGHTBITSHIFT_ 11;67 hadc3.Init.Oversampling.RightBitShift = ADC_RIGHTBITSHIFT_8; 68 68 hadc3.Init.Oversampling.TriggeredMode = ADC_TRIGGEREDMODE_SINGLE_TRIGGER; 69 69 hadc3.Init.Oversampling.OversamplingStopReset = ADC_REGOVERSAMPLING_CONTINUED_MODE; … … 75 75 /** Configure Regular Channel 76 76 */ 77 sConfig.Channel = ADC_CHANNEL_ VBAT;77 sConfig.Channel = ADC_CHANNEL_10; 78 78 sConfig.Rank = ADC_REGULAR_RANK_1; 79 79 sConfig.SamplingTime = ADC3_SAMPLETIME_640CYCLES_5; … … 86 86 Error_Handler(); 87 87 } 88 89 /** Configure Regular Channel90 */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 Channel99 */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 Channel108 */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 }116 88 /* USER CODE BEGIN ADC3_Init 2 */ 117 89 90 HAL_Delay(100U); 118 91 if (HAL_OK != HAL_ADCEx_Calibration_Start(&hadc3, ADC_CALIB_OFFSET, ADC_SINGLE_ENDED)) Error_Handler(); 119 92 if (HAL_OK != HAL_ADCEx_Calibration_Start(&hadc3, ADC_CALIB_OFFSET_LINEARITY, ADC_SINGLE_ENDED)) Error_Handler(); 93 HAL_Delay(100U); 120 94 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); 123 98 124 99 -
ctrl/firmware/Main/CubeMX/Core/Src/main.c
r93 r94 25 25 #include "fatfs.h" 26 26 #include "i2c.h" 27 #include "mdma.h"28 27 #include "memorymap.h" 29 28 #include "rtc.h" … … 131 130 MX_GPIO_Init(); 132 131 MX_DMA_Init(); 133 //MX_MDMA_Init();134 132 MX_BDMA_Init(); 135 133 MX_RTC_Init(); 136 134 MX_SPI4_Init(); 137 135 MX_SDMMC1_SD_Init(); 138 MX_USART3_UART_Init();139 136 MX_FATFS_Init(); 140 137 MX_TIM8_Init(); … … 145 142 MX_I2C2_Init(); 146 143 MX_ADC3_Init(); 144 MX_TIM3_Init(); 147 145 MX_I2C1_Init(); 148 MX_ TIM3_Init();146 MX_USART3_UART_Init(); 149 147 /* USER CODE BEGIN 2 */ 150 148 -
ctrl/firmware/Main/CubeMX/Core/Src/stm32h7xx_hal_msp.c
r72 r94 74 74 HAL_NVIC_SetPriority(PendSV_IRQn, 15, 0); 75 75 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 76 88 /* USER CODE BEGIN MspInit 1 */ 77 89 -
ctrl/firmware/Main/CubeMX/Core/Src/stm32h7xx_it.c
r92 r94 62 62 /* External variables --------------------------------------------------------*/ 63 63 extern DMA_HandleTypeDef hdma_adc3; 64 extern MDMA_HandleTypeDef hmdma_mdma_channel0_sdmmc1_end_data_0;65 64 extern SD_HandleTypeDef hsd1; 66 65 extern DMA_HandleTypeDef hdma_spi2_rx; … … 381 380 382 381 /** 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 /**397 382 * @brief This function handles BDMA channel0 global interrupt. 398 383 */
Note: See TracChangeset
for help on using the changeset viewer.