Ignore:
Timestamp:
Feb 14, 2025, 1:48:18 PM (3 months ago)
Author:
Zed
Message:

ADC3 with DMA was implemented.
DTS was activated.

Location:
ctrl/firmware/Main/CubeMX/Core
Files:
2 added
4 edited

Legend:

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

    r95 r96  
    4747        struct
    4848        {
     49                uint16_t UBat;
    4950                uint16_t Vbat;
     51                uint16_t Temp;
    5052                uint16_t Vref;
    51                 uint16_t CPUTemp;
    52                 uint16_t UBat;
    5353        } Name;
    5454} __attribute__((packed, aligned(32))) ADC3_data_t;
     
    6060/* USER CODE BEGIN Prototypes */
    6161
    62 extern volatile uint16_t ADC3_values[2];
     62extern volatile ADC3_data_t ADC3Data;
    6363
    6464/* USER CODE END Prototypes */
  • ctrl/firmware/Main/CubeMX/Core/Inc/stm32h7xx_hal_conf.h

    r91 r96  
    8888/* #define HAL_MDIOS_MODULE_ENABLED   */
    8989/* #define HAL_PSSI_MODULE_ENABLED   */
    90 /* #define HAL_DTS_MODULE_ENABLED   */
     90#define HAL_DTS_MODULE_ENABLED
    9191#define HAL_GPIO_MODULE_ENABLED
    9292#define HAL_DMA_MODULE_ENABLED
  • ctrl/firmware/Main/CubeMX/Core/Src/adc.c

    r95 r96  
    2323/* USER CODE BEGIN 0 */
    2424
    25 volatile uint16_t ADC3_values[2] __attribute__((section(".BKP_RAM_4_DMA")));
     25volatile ADC3_data_t ADC3Data __attribute__((section(".BKP_RAM_4_DMA")));
    2626
    2727/* USER CODE END 0 */
     
    5454  hadc3.Init.LowPowerAutoWait = DISABLE;
    5555  hadc3.Init.ContinuousConvMode = ENABLE;
    56   hadc3.Init.NbrOfConversion = 2;
     56  hadc3.Init.NbrOfConversion = 4;
    5757  hadc3.Init.DiscontinuousConvMode = DISABLE;
    5858  hadc3.Init.ExternalTrigConv = ADC_SOFTWARE_START;
     
    8989  /** Configure Regular Channel
    9090  */
     91  sConfig.Channel = ADC_CHANNEL_VBAT;
     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  */
    91100  sConfig.Channel = ADC_CHANNEL_TEMPSENSOR;
    92   sConfig.Rank = ADC_REGULAR_RANK_2;
     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_VREFINT;
     110  sConfig.Rank = ADC_REGULAR_RANK_4;
    93111  if (HAL_ADC_ConfigChannel(&hadc3, &sConfig) != HAL_OK)
    94112  {
     
    103121
    104122  //if (HAL_OK != HAL_ADC_Start(&hadc3)) Error_Handler();
    105   if (HAL_OK != HAL_ADC_Start_DMA(&hadc3, (uint32_t*)ADC3_values, 2/*ADC3_CHANNELS*/)) Error_Handler();
     123  if (HAL_OK != HAL_ADC_Start_DMA(&hadc3, (uint32_t*)&ADC3Data, ADC3_CHANNELS)) Error_Handler();
    106124  //__HAL_DMA_DISABLE_IT(&hdma_adc3, DMA_IT_HT);
    107125
  • ctrl/firmware/Main/CubeMX/Core/Src/main.c

    r94 r96  
    2323#include "bdma.h"
    2424#include "dma.h"
     25#include "dts.h"
    2526#include "fatfs.h"
    2627#include "i2c.h"
     
    145146  MX_I2C1_Init();
    146147  MX_USART3_UART_Init();
     148  MX_DTS_Init();
    147149  /* USER CODE BEGIN 2 */
    148150
Note: See TracChangeset for help on using the changeset viewer.