How chshzh/inverter_stm32 works
This is STM32F103 inverter firmware. Its documented product workflow is user adjustment through keys, inverter frequency/voltage control and SPWM generation, with operating values shown on a 128×64 LCD. The tree also contains STM32 CMSIS and Standard Peripheral Library support. The README establishes the product capabilities, but sampled source does not show the application call graph or peripheral wiring, so those relationships are not inferred here.
Main entry points: Timer.c Inverter control · Display.c Display driver · stm32f10x_tim.c Timer library · main.c Application entry
Components 28
Inverter application
- Application entry
USER/main.c - Inverter control
USER/Timer.c - Sine table
USER/sin_tab.h - Application ADC
USER/adc.c
User interface
- Key input
USER/key.c - Display driver
USER/Display.c - ST7920 LCD
USER/st7920.c
STM32 peripheral support
- Timer library
FWlib/src/stm32f10x_tim.c - Timer API
FWlib/inc/stm32f10x_tim.h - ADC library
FWlib/src/stm32f10x_adc.c - ADC API
FWlib/inc/stm32f10x_adc.h - Clock control
FWlib/src/stm32f10x_rcc.c - Clock API
FWlib/inc/stm32f10x_rcc.h - GPIO driver
FWlib/src/stm32f10x_gpio.c - GPIO API
FWlib/inc/stm32f10x_gpio.h - DMA driver
FWlib/src/stm32f10x_dma.c - DMA API
FWlib/inc/stm32f10x_dma.h - EXTI API
FWlib/inc/stm32f10x_exti.h - NVIC and SysTick
FWlib/inc/misc.h - CAN API
FWlib/inc/stm32f10x_can.h - FSMC API
FWlib/inc/stm32f10x_fsmc.h - SDIO API
FWlib/inc/stm32f10x_sdio.h - SPI API
FWlib/inc/stm32f10x_spi.h - USART API
FWlib/inc/stm32f10x_usart.h
CMSIS device support
- Cortex-M3 core
CMSIS/core_cm3.h - STM32F10x device
CMSIS/stm32f10x.h - System clocks
CMSIS/system_stm32f10x.c
Other components
- Operator
Connections 13
- Operator → Key input: adjusts settings
- Application entry → Inverter control: runs inverter
- Inverter control → Sine table: uses waveform data
- Inverter control → Display driver: reports values
- Display driver → ST7920 LCD: uses LCD driver
- Inverter control → Application ADC: measures voltage
- Inverter control → Timer library: generates SPWM
- Timer library → Timer API: implements API
FWlib/src/stm32f10x_tim.c - ADC library → ADC API: implements API
FWlib/src/stm32f10x_adc.c - Clock control → Clock API: implements API
FWlib/src/stm32f10x_rcc.c - GPIO driver → GPIO API: implements API
FWlib/src/stm32f10x_gpio.c - DMA driver → DMA API: implements API
FWlib/src/stm32f10x_dma.c - System clocks → STM32F10x device: configures clocks
CMSIS/system_stm32f10x.c