Changeset 76 for trunk/fw_g473rct/Core
- Timestamp:
- Sep 9, 2026, 3:02:30 PM (11 days ago)
- Location:
- trunk/fw_g473rct/Core
- Files:
-
- 2 added
- 7 edited
-
Inc/dac.h (added)
-
Inc/main.h (modified) (1 diff)
-
Inc/stm32g4xx_hal_conf.h (modified) (1 diff)
-
Src/adc.c (modified) (17 diffs)
-
Src/dac.c (added)
-
Src/main.c (modified) (6 diffs)
-
Src/stm32g4xx_it.c (modified) (3 diffs)
-
Src/tim.c (modified) (1 diff)
-
Src/ucpd.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/fw_g473rct/Core/Inc/main.h
r73 r76 30 30 #include "stm32g4xx_hal.h" 31 31 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" 32 41 42 #include "stm32g4xx_ll_exti.h" 33 43 34 44 /* Private includes ----------------------------------------------------------*/ -
trunk/fw_g473rct/Core/Inc/stm32g4xx_hal_conf.h
r55 r76 42 42 #define HAL_CRC_MODULE_ENABLED 43 43 /*#define HAL_CRYP_MODULE_ENABLED */ 44 /*#define HAL_DAC_MODULE_ENABLED */ 44 #define HAL_DAC_MODULE_ENABLED 45 45 /*#define HAL_FDCAN_MODULE_ENABLED */ 46 46 /*#define HAL_FMAC_MODULE_ENABLED */ -
trunk/fw_g473rct/Core/Src/adc.c
r73 r76 66 66 hadc1.Init.EOCSelection = ADC_EOC_SINGLE_CONV; 67 67 hadc1.Init.LowPowerAutoWait = DISABLE; 68 hadc1.Init.ContinuousConvMode = ENABLE;68 hadc1.Init.ContinuousConvMode = DISABLE; 69 69 hadc1.Init.NbrOfConversion = 1; 70 70 hadc1.Init.DiscontinuousConvMode = DISABLE; … … 132 132 hadc2.Init.EOCSelection = ADC_EOC_SINGLE_CONV; 133 133 hadc2.Init.LowPowerAutoWait = DISABLE; 134 hadc2.Init.ContinuousConvMode = ENABLE;134 hadc2.Init.ContinuousConvMode = DISABLE; 135 135 hadc2.Init.NbrOfConversion = 1; 136 136 hadc2.Init.DiscontinuousConvMode = DISABLE; … … 156 156 sConfig.SingleDiff = ADC_DIFFERENTIAL_ENDED; 157 157 sConfig.OffsetNumber = ADC_OFFSET_NONE; 158 sConfig.Offset = 0; //Spannung etwa 100mV erhöhen 159 158 sConfig.Offset = 0; 160 159 if (HAL_ADC_ConfigChannel(&hadc2, &sConfig) != HAL_OK) 161 160 { … … 198 197 hadc3.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE; 199 198 hadc3.Init.DMAContinuousRequests = ENABLE; 200 hadc3.Init.Overrun = ADC_OVR_DATA_ PRESERVED;199 hadc3.Init.Overrun = ADC_OVR_DATA_OVERWRITTEN; 201 200 hadc3.Init.OversamplingMode = ENABLE; 202 201 hadc3.Init.Oversampling.Ratio = ADC_OVERSAMPLING_RATIO_256; … … 276 275 hadc4.Init.EOCSelection = ADC_EOC_SINGLE_CONV; 277 276 hadc4.Init.LowPowerAutoWait = DISABLE; 278 hadc4.Init.ContinuousConvMode = ENABLE;277 hadc4.Init.ContinuousConvMode = DISABLE; 279 278 hadc4.Init.NbrOfConversion = 1; 280 279 hadc4.Init.DiscontinuousConvMode = DISABLE; … … 282 281 hadc4.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_RISING; 283 282 hadc4.Init.DMAContinuousRequests = DISABLE; 284 hadc4.Init.Overrun = ADC_OVR_DATA_ OVERWRITTEN;283 hadc4.Init.Overrun = ADC_OVR_DATA_PRESERVED; 285 284 hadc4.Init.OversamplingMode = ENABLE; 286 285 hadc4.Init.Oversampling.Ratio = ADC_OVERSAMPLING_RATIO_256; … … 301 300 sConfig.OffsetNumber = ADC_OFFSET_NONE; 302 301 sConfig.Offset = 0; 303 304 305 302 if (HAL_ADC_ConfigChannel(&hadc4, &sConfig) != HAL_OK) 306 303 { … … 415 412 */ 416 413 PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_ADC12; 417 PeriphClkInit.Adc12ClockSelection = RCC_ADC12CLKSOURCE_ SYSCLK;414 PeriphClkInit.Adc12ClockSelection = RCC_ADC12CLKSOURCE_PLL; 418 415 if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK) 419 416 { … … 444 441 hdma_adc1.Init.PeriphInc = DMA_PINC_DISABLE; 445 442 hdma_adc1.Init.MemInc = DMA_MINC_ENABLE; 446 hdma_adc1.Init.PeriphDataAlignment = DMA_PDATAALIGN_ HALFWORD;443 hdma_adc1.Init.PeriphDataAlignment = DMA_PDATAALIGN_WORD; 447 444 hdma_adc1.Init.MemDataAlignment = DMA_MDATAALIGN_WORD; 448 445 hdma_adc1.Init.Mode = DMA_NORMAL; … … 468 465 */ 469 466 PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_ADC12; 470 PeriphClkInit.Adc12ClockSelection = RCC_ADC12CLKSOURCE_ SYSCLK;467 PeriphClkInit.Adc12ClockSelection = RCC_ADC12CLKSOURCE_PLL; 471 468 if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK) 472 469 { … … 497 494 hdma_adc2.Init.PeriphInc = DMA_PINC_DISABLE; 498 495 hdma_adc2.Init.MemInc = DMA_MINC_ENABLE; 499 hdma_adc2.Init.PeriphDataAlignment = DMA_PDATAALIGN_ HALFWORD;496 hdma_adc2.Init.PeriphDataAlignment = DMA_PDATAALIGN_WORD; 500 497 hdma_adc2.Init.MemDataAlignment = DMA_MDATAALIGN_WORD; 501 498 hdma_adc2.Init.Mode = DMA_NORMAL; … … 521 518 */ 522 519 PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_ADC345; 523 PeriphClkInit.Adc345ClockSelection = RCC_ADC345CLKSOURCE_ SYSCLK;520 PeriphClkInit.Adc345ClockSelection = RCC_ADC345CLKSOURCE_PLL; 524 521 if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK) 525 522 { … … 551 548 hdma_adc3.Init.PeriphInc = DMA_PINC_DISABLE; 552 549 hdma_adc3.Init.MemInc = DMA_MINC_ENABLE; 553 hdma_adc3.Init.PeriphDataAlignment = DMA_PDATAALIGN_ HALFWORD;550 hdma_adc3.Init.PeriphDataAlignment = DMA_PDATAALIGN_WORD; 554 551 hdma_adc3.Init.MemDataAlignment = DMA_MDATAALIGN_WORD; 555 552 hdma_adc3.Init.Mode = DMA_CIRCULAR; … … 575 572 */ 576 573 PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_ADC345; 577 PeriphClkInit.Adc345ClockSelection = RCC_ADC345CLKSOURCE_ SYSCLK;574 PeriphClkInit.Adc345ClockSelection = RCC_ADC345CLKSOURCE_PLL; 578 575 if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK) 579 576 { … … 604 601 hdma_adc4.Init.PeriphInc = DMA_PINC_DISABLE; 605 602 hdma_adc4.Init.MemInc = DMA_MINC_ENABLE; 606 hdma_adc4.Init.PeriphDataAlignment = DMA_PDATAALIGN_ HALFWORD;603 hdma_adc4.Init.PeriphDataAlignment = DMA_PDATAALIGN_WORD; 607 604 hdma_adc4.Init.MemDataAlignment = DMA_MDATAALIGN_WORD; 608 605 hdma_adc4.Init.Mode = DMA_NORMAL; … … 628 625 */ 629 626 PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_ADC345; 630 PeriphClkInit.Adc345ClockSelection = RCC_ADC345CLKSOURCE_ SYSCLK;627 PeriphClkInit.Adc345ClockSelection = RCC_ADC345CLKSOURCE_PLL; 631 628 if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK) 632 629 { … … 657 654 hdma_adc5.Init.PeriphInc = DMA_PINC_DISABLE; 658 655 hdma_adc5.Init.MemInc = DMA_MINC_ENABLE; 659 hdma_adc5.Init.PeriphDataAlignment = DMA_PDATAALIGN_ HALFWORD;656 hdma_adc5.Init.PeriphDataAlignment = DMA_PDATAALIGN_WORD; 660 657 hdma_adc5.Init.MemDataAlignment = DMA_MDATAALIGN_WORD; 661 658 hdma_adc5.Init.Mode = DMA_CIRCULAR; -
trunk/fw_g473rct/Core/Src/main.c
r73 r76 21 21 #include "adc.h" 22 22 #include "crc.h" 23 #include "dac.h" 23 24 #include "dma.h" 24 25 #include "i2c.h" … … 174 175 printf("System core clock: %uMHz\n", SystemCoreClock / 1000000U); 175 176 /* USER CODE END SysInit */ 176 177 177 178 /* Initialize all configured peripherals */ 178 179 MX_GPIO_Init(); … … 190 191 MX_CRC_Init(); 191 192 MX_RTC_Init(); 192 MX_IWDG_Init();193 //MX_IWDG_Init(); 193 194 MX_TIM3_Init(); 194 #ifndef NO_USB_SUPPORT 195 #ifndef NO_USB_SUPPORT 195 196 MX_USB_Device_Init(); 196 197 MX_UCPD1_Init(); 197 #endif 198 #endif 199 MX_DAC1_Init(); 198 200 /* USER CODE BEGIN 2 */ 199 201 … … 231 233 mbInit(&modbusData, sys_data.s.parameter.baudrate, sys_data.s.parameter.parityMode, sys_data.s.parameter.stopBit, &huart2); 232 234 HAL_IWDG_Refresh(&hiwdg); 233 HAL_Delay(500);235 // HAL_Delay(500); 234 236 HAL_IWDG_Refresh(&hiwdg); 235 237 … … 281 283 282 284 /* USBPD initialisation ---------------------------------*/ 283 #ifndef NO_USB_SUPPORT 285 #ifndef NO_USB_SUPPORT 284 286 MX_USBPD_Init(); 285 #endif 287 #endif 288 286 289 /* Infinite loop */ 287 290 /* USER CODE BEGIN WHILE */ … … 289 292 { 290 293 /* USER CODE END WHILE */ 291 #ifndef NO_USB_SUPPORT 294 #ifndef NO_USB_SUPPORT 292 295 USBPD_DPM_Run(); 293 #endif 296 #endif 297 294 298 /* USER CODE BEGIN 3 */ 295 299 HAL_IWDG_Refresh(&hiwdg); -
trunk/fw_g473rct/Core/Src/stm32g4xx_it.c
r73 r76 59 59 60 60 /* External variables --------------------------------------------------------*/ 61 #ifndef NO_USB_SUPPORT62 61 extern PCD_HandleTypeDef hpcd_USB_FS; 63 #endif64 62 extern DMA_HandleTypeDef hdma_adc1; 65 63 extern DMA_HandleTypeDef hdma_adc2; … … 210 208 #ifndef NO_USB_SUPPORT 211 209 USBPD_DPM_TimerCounter(); 210 /* USER CODE BEGIN SysTick_IRQn 1 */ 212 211 #endif 213 /* USER CODE BEGIN SysTick_IRQn 1 */214 215 212 /* USER CODE END SysTick_IRQn 1 */ 216 213 } … … 404 401 } 405 402 406 407 408 403 /** 409 404 * @brief This function handles UCPD1 interrupt / UCPD1 wake-up interrupt through EXTI line 43. -
trunk/fw_g473rct/Core/Src/tim.c
r73 r76 42 42 /* USER CODE END TIM3_Init 1 */ 43 43 htim3.Instance = TIM3; 44 htim3.Init.Prescaler = 100 - 1;44 htim3.Init.Prescaler = 99; 45 45 htim3.Init.CounterMode = TIM_COUNTERMODE_UP; 46 htim3.Init.Period = 500 - 1;46 htim3.Init.Period = 500; 47 47 htim3.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; 48 48 htim3.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_ENABLE; -
trunk/fw_g473rct/Core/Src/ucpd.c
r71 r76 20 20 /* Includes ------------------------------------------------------------------*/ 21 21 #include "ucpd.h" 22 23 22 24 23 /* USER CODE BEGIN 0 */
Note:
See TracChangeset
for help on using the changeset viewer.
