Тестер напряжения пробоя стабилитронов и транзисторов пример управляющей программы void PWMGen(float dutyCycle, float freq) { if (dutyCycle > 1.0) dutyCycle = 1.0; else if (dutyCycle < 0) dutyCycle = 0; cli(); TCCR1B = _BV(WGM13) | _BV(CS11) | _BV(CS10) | _BV(ICNC1); //f0 = fclk / (2 * N * Top) long topv = (long) (F_CPU /(freq * 2.0 * 64.0)); ICR1 = topv; OCR1A = (int) ((float) topv * dutyCycle); OCR1B = (int) ((float) topv * (1 - dutyCycle)); DDRB |= _BV(PORTB1) | _BV(PORTB2); TCCR1A = _BV(COM1A1) | _BV(COM1B1); sei(); } void setup() { PWMGen(0.5, 20000); //20kHz on pin 9 } void loop() { }