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);
 | |
|     }
 | |
| }
 |