В примере LEDfade демонстрируется управление яркостью свечения светодиода с помощью ШИМ. Светодиоды подключаются к выводам OC2A и OC2B микроконтроллера.
/** * ledfade.cpp * * VE_AVR_Library Timer/Counter LED Fading Using ADC Control Example. * * Created on: 11.05.2012 * Author: andrey */ #include <ve_avr.h> #include <misc/ve_led.h> #include <misc/ve_pot.h> #define LED1 DEV_TIMER2_OCA // Set up your own values here: PORT, PIN #define LED2 DEV_TIMER2_OCB // Set up your own values here: PORT, PIN #define LED_POT_CHANNEL AnalogMux::CH_ADC0 // Set up your own value here: ADC channel volatile bool bLedOn = false; uint8_t potValue; int main() { DEV_POWER.adcOn(); DEV_POWER.timer2On(); Pot pot; pot.setup(LED_POT_CHANNEL); potValue = pot.getValue() >> 2; DEV_TIMER2.setClockSelect(Prescaler2::Prescaler_64); DEV_TIMER2.setWaveGenMode(Timer2::FastPWM); DEV_TIMER2.setCompOutModeA(Timer2::Clear); DEV_TIMER2.setCompOutModeB(Timer2::Clear); setModeOutput(LED1); setModeOutput(LED2); while(true) { potValue = pot.getValue() >> 2; DEV_TIMER2.setOutputCompareA(potValue); DEV_TIMER2.setOutputCompareB(potValue); } } Предыдущий пример: EEPROM - чтение и запись данных в память EEPROM.
Автор: Андрей Шаройко <vanyamboe@gmail.com>