Changeset 76 for trunk/fw_g473rct/Core


Ignore:
Timestamp:
Sep 9, 2026, 3:02:30 PM (11 days ago)
Author:
f.jahn
Message:
 
Location:
trunk/fw_g473rct/Core
Files:
2 added
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/fw_g473rct/Core/Inc/main.h

    r73 r76  
    3030#include "stm32g4xx_hal.h"
    3131
     32#include "stm32g4xx_ll_ucpd.h"
     33#include "stm32g4xx_ll_bus.h"
     34#include "stm32g4xx_ll_cortex.h"
     35#include "stm32g4xx_ll_rcc.h"
     36#include "stm32g4xx_ll_system.h"
     37#include "stm32g4xx_ll_utils.h"
     38#include "stm32g4xx_ll_pwr.h"
     39#include "stm32g4xx_ll_gpio.h"
     40#include "stm32g4xx_ll_dma.h"
    3241
     42#include "stm32g4xx_ll_exti.h"
    3343
    3444/* Private includes ----------------------------------------------------------*/
  • trunk/fw_g473rct/Core/Inc/stm32g4xx_hal_conf.h

    r55 r76  
    4242#define HAL_CRC_MODULE_ENABLED
    4343/*#define HAL_CRYP_MODULE_ENABLED   */
    44 /*#define HAL_DAC_MODULE_ENABLED   */
     44#define HAL_DAC_MODULE_ENABLED
    4545/*#define HAL_FDCAN_MODULE_ENABLED   */
    4646/*#define HAL_FMAC_MODULE_ENABLED   */
  • trunk/fw_g473rct/Core/Src/adc.c

    r73 r76  
    6666  hadc1.Init.EOCSelection = ADC_EOC_SINGLE_CONV;
    6767  hadc1.Init.LowPowerAutoWait = DISABLE;
    68   hadc1.Init.ContinuousConvMode = ENABLE;
     68  hadc1.Init.ContinuousConvMode = DISABLE;
    6969  hadc1.Init.NbrOfConversion = 1;
    7070  hadc1.Init.DiscontinuousConvMode = DISABLE;
     
    132132  hadc2.Init.EOCSelection = ADC_EOC_SINGLE_CONV;
    133133  hadc2.Init.LowPowerAutoWait = DISABLE;
    134   hadc2.Init.ContinuousConvMode = ENABLE;
     134  hadc2.Init.ContinuousConvMode = DISABLE;
    135135  hadc2.Init.NbrOfConversion = 1;
    136136  hadc2.Init.DiscontinuousConvMode = DISABLE;
     
    156156  sConfig.SingleDiff = ADC_DIFFERENTIAL_ENDED;
    157157  sConfig.OffsetNumber = ADC_OFFSET_NONE;
    158   sConfig.Offset = 0; //Spannung etwa 100mV erhöhen
    159 
     158  sConfig.Offset = 0;
    160159  if (HAL_ADC_ConfigChannel(&hadc2, &sConfig) != HAL_OK)
    161160  {
     
    198197  hadc3.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE;
    199198  hadc3.Init.DMAContinuousRequests = ENABLE;
    200   hadc3.Init.Overrun = ADC_OVR_DATA_PRESERVED;
     199  hadc3.Init.Overrun = ADC_OVR_DATA_OVERWRITTEN;
    201200  hadc3.Init.OversamplingMode = ENABLE;
    202201  hadc3.Init.Oversampling.Ratio = ADC_OVERSAMPLING_RATIO_256;
     
    276275  hadc4.Init.EOCSelection = ADC_EOC_SINGLE_CONV;
    277276  hadc4.Init.LowPowerAutoWait = DISABLE;
    278   hadc4.Init.ContinuousConvMode = ENABLE;
     277  hadc4.Init.ContinuousConvMode = DISABLE;
    279278  hadc4.Init.NbrOfConversion = 1;
    280279  hadc4.Init.DiscontinuousConvMode = DISABLE;
     
    282281  hadc4.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_RISING;
    283282  hadc4.Init.DMAContinuousRequests = DISABLE;
    284   hadc4.Init.Overrun = ADC_OVR_DATA_OVERWRITTEN;
     283  hadc4.Init.Overrun = ADC_OVR_DATA_PRESERVED;
    285284  hadc4.Init.OversamplingMode = ENABLE;
    286285  hadc4.Init.Oversampling.Ratio = ADC_OVERSAMPLING_RATIO_256;
     
    301300  sConfig.OffsetNumber = ADC_OFFSET_NONE;
    302301  sConfig.Offset = 0;
    303 
    304 
    305302  if (HAL_ADC_ConfigChannel(&hadc4, &sConfig) != HAL_OK)
    306303  {
     
    415412  */
    416413    PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_ADC12;
    417     PeriphClkInit.Adc12ClockSelection = RCC_ADC12CLKSOURCE_SYSCLK;
     414    PeriphClkInit.Adc12ClockSelection = RCC_ADC12CLKSOURCE_PLL;
    418415    if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK)
    419416    {
     
    444441    hdma_adc1.Init.PeriphInc = DMA_PINC_DISABLE;
    445442    hdma_adc1.Init.MemInc = DMA_MINC_ENABLE;
    446     hdma_adc1.Init.PeriphDataAlignment = DMA_PDATAALIGN_HALFWORD;
     443    hdma_adc1.Init.PeriphDataAlignment = DMA_PDATAALIGN_WORD;
    447444    hdma_adc1.Init.MemDataAlignment = DMA_MDATAALIGN_WORD;
    448445    hdma_adc1.Init.Mode = DMA_NORMAL;
     
    468465  */
    469466    PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_ADC12;
    470     PeriphClkInit.Adc12ClockSelection = RCC_ADC12CLKSOURCE_SYSCLK;
     467    PeriphClkInit.Adc12ClockSelection = RCC_ADC12CLKSOURCE_PLL;
    471468    if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK)
    472469    {
     
    497494    hdma_adc2.Init.PeriphInc = DMA_PINC_DISABLE;
    498495    hdma_adc2.Init.MemInc = DMA_MINC_ENABLE;
    499     hdma_adc2.Init.PeriphDataAlignment = DMA_PDATAALIGN_HALFWORD;
     496    hdma_adc2.Init.PeriphDataAlignment = DMA_PDATAALIGN_WORD;
    500497    hdma_adc2.Init.MemDataAlignment = DMA_MDATAALIGN_WORD;
    501498    hdma_adc2.Init.Mode = DMA_NORMAL;
     
    521518  */
    522519    PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_ADC345;
    523     PeriphClkInit.Adc345ClockSelection = RCC_ADC345CLKSOURCE_SYSCLK;
     520    PeriphClkInit.Adc345ClockSelection = RCC_ADC345CLKSOURCE_PLL;
    524521    if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK)
    525522    {
     
    551548    hdma_adc3.Init.PeriphInc = DMA_PINC_DISABLE;
    552549    hdma_adc3.Init.MemInc = DMA_MINC_ENABLE;
    553     hdma_adc3.Init.PeriphDataAlignment = DMA_PDATAALIGN_HALFWORD;
     550    hdma_adc3.Init.PeriphDataAlignment = DMA_PDATAALIGN_WORD;
    554551    hdma_adc3.Init.MemDataAlignment = DMA_MDATAALIGN_WORD;
    555552    hdma_adc3.Init.Mode = DMA_CIRCULAR;
     
    575572  */
    576573    PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_ADC345;
    577     PeriphClkInit.Adc345ClockSelection = RCC_ADC345CLKSOURCE_SYSCLK;
     574    PeriphClkInit.Adc345ClockSelection = RCC_ADC345CLKSOURCE_PLL;
    578575    if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK)
    579576    {
     
    604601    hdma_adc4.Init.PeriphInc = DMA_PINC_DISABLE;
    605602    hdma_adc4.Init.MemInc = DMA_MINC_ENABLE;
    606     hdma_adc4.Init.PeriphDataAlignment = DMA_PDATAALIGN_HALFWORD;
     603    hdma_adc4.Init.PeriphDataAlignment = DMA_PDATAALIGN_WORD;
    607604    hdma_adc4.Init.MemDataAlignment = DMA_MDATAALIGN_WORD;
    608605    hdma_adc4.Init.Mode = DMA_NORMAL;
     
    628625  */
    629626    PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_ADC345;
    630     PeriphClkInit.Adc345ClockSelection = RCC_ADC345CLKSOURCE_SYSCLK;
     627    PeriphClkInit.Adc345ClockSelection = RCC_ADC345CLKSOURCE_PLL;
    631628    if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK)
    632629    {
     
    657654    hdma_adc5.Init.PeriphInc = DMA_PINC_DISABLE;
    658655    hdma_adc5.Init.MemInc = DMA_MINC_ENABLE;
    659     hdma_adc5.Init.PeriphDataAlignment = DMA_PDATAALIGN_HALFWORD;
     656    hdma_adc5.Init.PeriphDataAlignment = DMA_PDATAALIGN_WORD;
    660657    hdma_adc5.Init.MemDataAlignment = DMA_MDATAALIGN_WORD;
    661658    hdma_adc5.Init.Mode = DMA_CIRCULAR;
  • trunk/fw_g473rct/Core/Src/main.c

    r73 r76  
    2121#include "adc.h"
    2222#include "crc.h"
     23#include "dac.h"
    2324#include "dma.h"
    2425#include "i2c.h"
     
    174175  printf("System core clock: %uMHz\n", SystemCoreClock / 1000000U);
    175176  /* USER CODE END SysInit */
    176  
     177
    177178  /* Initialize all configured peripherals */
    178179  MX_GPIO_Init();
     
    190191  MX_CRC_Init();
    191192  MX_RTC_Init();
    192   MX_IWDG_Init();
     193  //MX_IWDG_Init();
    193194  MX_TIM3_Init();
    194 #ifndef  NO_USB_SUPPORT
     195  #ifndef NO_USB_SUPPORT
    195196  MX_USB_Device_Init();
    196197  MX_UCPD1_Init();
    197 #endif
     198  #endif
     199  MX_DAC1_Init();
    198200  /* USER CODE BEGIN 2 */
    199201
     
    231233  mbInit(&modbusData, sys_data.s.parameter.baudrate, sys_data.s.parameter.parityMode, sys_data.s.parameter.stopBit, &huart2);
    232234  HAL_IWDG_Refresh(&hiwdg);
    233   HAL_Delay(500);
     235 // HAL_Delay(500);
    234236  HAL_IWDG_Refresh(&hiwdg);
    235237
     
    281283
    282284  /* USBPD initialisation ---------------------------------*/
    283 #ifndef NO_USB_SUPPORT
     285  #ifndef NO_USB_SUPPORT
    284286  MX_USBPD_Init();
    285 #endif
     287  #endif
     288
    286289  /* Infinite loop */
    287290  /* USER CODE BEGIN WHILE */
     
    289292  {
    290293    /* USER CODE END WHILE */
    291 #ifndef NO_USB_SUPPORT
     294        #ifndef NO_USB_SUPPORT
    292295    USBPD_DPM_Run();
    293 #endif
     296        #endif
     297
    294298    /* USER CODE BEGIN 3 */
    295299    HAL_IWDG_Refresh(&hiwdg);
  • trunk/fw_g473rct/Core/Src/stm32g4xx_it.c

    r73 r76  
    5959
    6060/* External variables --------------------------------------------------------*/
    61 #ifndef NO_USB_SUPPORT
    6261extern PCD_HandleTypeDef hpcd_USB_FS;
    63 #endif
    6462extern DMA_HandleTypeDef hdma_adc1;
    6563extern DMA_HandleTypeDef hdma_adc2;
     
    210208#ifndef  NO_USB_SUPPORT
    211209  USBPD_DPM_TimerCounter();
     210  /* USER CODE BEGIN SysTick_IRQn 1 */
    212211#endif
    213   /* USER CODE BEGIN SysTick_IRQn 1 */
    214 
    215212  /* USER CODE END SysTick_IRQn 1 */
    216213}
     
    404401}
    405402
    406 
    407 
    408403/**
    409404  * @brief This function handles UCPD1 interrupt / UCPD1 wake-up interrupt through EXTI line 43.
  • trunk/fw_g473rct/Core/Src/tim.c

    r73 r76  
    4242  /* USER CODE END TIM3_Init 1 */
    4343  htim3.Instance = TIM3;
    44   htim3.Init.Prescaler = 100 - 1;
     44  htim3.Init.Prescaler = 99;
    4545  htim3.Init.CounterMode = TIM_COUNTERMODE_UP;
    46   htim3.Init.Period = 500 - 1;
     46  htim3.Init.Period = 500;
    4747  htim3.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
    4848  htim3.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_ENABLE;
  • trunk/fw_g473rct/Core/Src/ucpd.c

    r71 r76  
    2020/* Includes ------------------------------------------------------------------*/
    2121#include "ucpd.h"
    22 
    2322
    2423/* USER CODE BEGIN 0 */
Note: See TracChangeset for help on using the changeset viewer.