31 lines
		
	
	
		
			742 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			742 B
		
	
	
	
		
			C
		
	
	
	
	
	
/**
 | 
						|
 * Copyright (c) 2020 Raspberry Pi (Trading) Ltd.
 | 
						|
 *
 | 
						|
 * SPDX-License-Identifier: BSD-3-Clause
 | 
						|
 */
 | 
						|
 | 
						|
#include <stdio.h>
 | 
						|
#include "pico/stdlib.h"
 | 
						|
#include "hardware/gpio.h"
 | 
						|
#include "hardware/adc.h"
 | 
						|
 | 
						|
int main() {
 | 
						|
    stdio_init_all();
 | 
						|
    printf("ADC Example, measuring GPIO26\n");
 | 
						|
 | 
						|
    adc_init();
 | 
						|
 | 
						|
    // Make sure GPIO is high-impedance, no pullups etc
 | 
						|
    adc_gpio_init(26);
 | 
						|
    // Select ADC input 0 (GPIO26)
 | 
						|
    adc_select_input(0);
 | 
						|
 | 
						|
    while (1) {
 | 
						|
        // 12-bit conversion, assume max value == ADC_VREF == 3.3 V
 | 
						|
        const float conversion_factor = 3.3f / (1 << 12);
 | 
						|
        uint16_t result = adc_read();
 | 
						|
        printf("Raw value: 0x%03x, voltage: %f V\n", result, result * conversion_factor);
 | 
						|
        sleep_ms(500);
 | 
						|
    }
 | 
						|
}
 |