Ignore:
Timestamp:
Sep 8, 2025, 6:57:30 PM (7 weeks ago)
Author:
f.jahn
Message:
  • Bug in ADC Kalibrierung (STM32 ADC Strom) behoben
  • DMA Buffer für ADC 1 und ADC wird vor Überschreibung während bearbeitung geschützt, indem Datenübertragung nur einmalig erfolgt und erst nach Auswertung wieder gestartet wird
  • RS485Modbus: Timeout Zeit wird für Baudraten >19200 korrekt berechnet
  • Hardware ID geändert
  • Separates Register für "Batterie Empty detection mode" auf Adresse 92 angelegt
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/fw_g473rct/Core/Src/adc.c

    r25 r26  
    6666  hadc1.Init.ExternalTrigConv = ADC_SOFTWARE_START;
    6767  hadc1.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE;
    68   hadc1.Init.DMAContinuousRequests = ENABLE;
     68  hadc1.Init.DMAContinuousRequests = DISABLE;
    6969  hadc1.Init.Overrun = ADC_OVR_DATA_OVERWRITTEN;
    7070  hadc1.Init.OversamplingMode = ENABLE;
     
    9292  sConfig.Channel = ADC_CHANNEL_1;
    9393  sConfig.Rank = ADC_REGULAR_RANK_1;
    94   sConfig.SamplingTime = ADC_SAMPLETIME_92CYCLES_5;
     94  sConfig.SamplingTime = ADC_SAMPLETIME_6CYCLES_5;
    9595  sConfig.SingleDiff = ADC_DIFFERENTIAL_ENDED;
    9696  sConfig.OffsetNumber = ADC_OFFSET_NONE;
     
    132132  hadc2.Init.NbrOfConversion = 1;
    133133  hadc2.Init.DiscontinuousConvMode = DISABLE;
    134   hadc2.Init.DMAContinuousRequests = ENABLE;
     134  hadc2.Init.DMAContinuousRequests = DISABLE;
    135135  hadc2.Init.Overrun = ADC_OVR_DATA_OVERWRITTEN;
    136136  hadc2.Init.OversamplingMode = ENABLE;
     
    148148  sConfig.Channel = ADC_CHANNEL_3;
    149149  sConfig.Rank = ADC_REGULAR_RANK_1;
    150   sConfig.SamplingTime = ADC_SAMPLETIME_92CYCLES_5;
     150  sConfig.SamplingTime = ADC_SAMPLETIME_6CYCLES_5;
    151151  sConfig.SingleDiff = ADC_DIFFERENTIAL_ENDED;
    152152  sConfig.OffsetNumber = ADC_OFFSET_NONE;
     
    438438    hdma_adc1.Init.PeriphDataAlignment = DMA_PDATAALIGN_WORD;
    439439    hdma_adc1.Init.MemDataAlignment = DMA_MDATAALIGN_WORD;
    440     hdma_adc1.Init.Mode = DMA_CIRCULAR;
     440    hdma_adc1.Init.Mode = DMA_NORMAL;
    441441    hdma_adc1.Init.Priority = DMA_PRIORITY_LOW;
    442442    if (HAL_DMA_Init(&hdma_adc1) != HAL_OK)
     
    491491    hdma_adc2.Init.PeriphDataAlignment = DMA_PDATAALIGN_WORD;
    492492    hdma_adc2.Init.MemDataAlignment = DMA_MDATAALIGN_WORD;
    493     hdma_adc2.Init.Mode = DMA_CIRCULAR;
     493    hdma_adc2.Init.Mode = DMA_NORMAL;
    494494    hdma_adc2.Init.Priority = DMA_PRIORITY_LOW;
    495495    if (HAL_DMA_Init(&hdma_adc2) != HAL_OK)
Note: See TracChangeset for help on using the changeset viewer.