adc - считывание значения напряжения потенциометра
В примере adc демонстрируется использование вспомогательного класса потенциометра Pot (файл misc/pot.h) для управления временем задержки мигающего светодиода. Исходный код примера:
/**
* adc.cpp
*
* VE_AVR_Library ADC Control LED Blinking Example.
*
* Created on: 11.05.2012
* Author: andrey
*/
#include <ve_avr.h>
#include <misc/ve_led.h>
#include <misc/ve_pot.h>
#define LED DEV_GPIOB, 7 // Светодиод LED подключен к выводу PB7 микроконтроллера
#define LED_POT_CHANNEL AnalogMux::CH_ADC0 // Потенциометр LED_POT_CHANNEL подключен к выводу ADC0 микроконтроллера
int main()
{
DEV_POWER.adcOn(); // Включить питание АЦП
led::setup(LED); // Предварительная настройка вывода светодиода LED
Pot pot;
pot.setup(LED_POT_CHANNEL); // Предварительная настройка канала АЦП LED_POT_CHANNEL
while(true) {
uint16_t delay = pot.getValue() / 50; // Рассчёт времени задержки в зависимости от
// текущего значения напряжения на потенциометре.
while(delay--) // Чем выше напряжение на потенциометре, тем дольше
led::off(LED, 50); // выключен светодиод LED.
led::on(LED, 50); // В паузах по 50 мс светодиод LED всё-таки светится.
}
}
Следующий пример: timer - прерывания от таймера.
Предыдущий пример: button - обработка нажатий кнопки.
adc -- считывание значения напряжения потенциометра
Автор: Андрей Шаройко <vanyamboe@gmail.com>