0:05 ADC Overview: The CH32V003 microcontroller has 10 ADC channels (8 external, 2 internal) covering a voltage range of 0 to 3.3V.
1:33 Single Channel Acquisition: Demonstrates initializing and configuring the ADC to read a single channel (channel 2, connected to GPIO pin PC4).
10:09 Printing ADC Voltage: The print_ADC_voltage function retrieves the raw ADC value and converts it to a human-readable voltage.
11:38 Voltage Calculation: The calculate_voltage function converts the raw ADC value to voltage using a formula based on the reference voltage (3.3V) and ADC resolution (10 bits).
17:49 Oversampling for Higher Resolution: Explains how oversampling (averaging multiple samples) can improve ADC resolution, demonstrating a 10-bit to 12-bit effective resolution increase by averaging 16 samples.
23:45 Implementing Oversampling: The get_oversampled_ADC_reading function performs oversampling and returns the averaged ADC value.
29:34 Multi-Channel Acquisition: Demonstrates configuring the ADC for multi-channel acquisition using DMA (Dynamic Memory Access).
35:46 DMA Initialization: The initialize_DMA function configures DMA to transfer ADC data to memory.
44:09 Printing Multi-Channel Data: The print_multichannel_ADC_data function iterates through the ADC buffer and prints voltage readings for each channel, including an example using an internal reference voltage channel.
49:02 Resources and Support: Encourages viewers to visit the creator's website for code snippets, affiliate links, and to subscribe for future updates.