Пытаюсь использовать кнопки для изменения частоты генератора, но не получается
- Войдите на сайт для отправки комментариев
Чт, 03/02/2022 - 19:44
Здравствуйте
Пытаюсь использовать кнопки для изменения частоты генератора, но не получается, помогите пожалуйста.
///////////////////////////////////////////// //#define TIMER1_TOP (249) //#define TIMER1_TOP (200) int k; float TIMER1_TOP (k); /////////////////////////////////////////// const int T0OutputPin = 9; void setup() { digitalWrite(T0OutputPin, LOW); pinMode(T0OutputPin, OUTPUT); pinMode(A1, INPUT_PULLUP); //k++ pinMode(A2, INPUT_PULLUP); //k-- cli(); // Stop timer 0 which was set up by the Arduino core TCCR0B = 0; // stop the timer TIMSK0 = 0; // disable interrupt TIFR0 = 0x07; // clear any pending interrupt ADCSRB = (1 << ADTS2) | (1 << ADTS1); // auto-trigger ADC on timer/counter 1 overflow ADCSRA = (1 << ADEN) | (1 << ADSC) | (1 << ADATE) | (1 << ADPS2); // enable adc, enable auto-trigger, prescaler = 16 (1MHz ADC clock) DIDR0 = 1; // Set up timer 1. // Prescaler = 1, phase correct PWM mode, TOP = ICR1A TCCR1A = (1 << COM1A1) | (1 << WGM11); TCCR1B = (1 << WGM12) | (1 << WGM13) | (1 << CS10); // CTC mode, prescaler = 1 TCCR1C = 0; OCR1AH = (TIMER1_TOP / 2 >> 8); OCR1AH = (TIMER1_TOP / 2 >> 8); OCR1AL = (TIMER1_TOP / 2 & 0xFF); ICR1H = (TIMER1_TOP >> 8); ICR1L = (TIMER1_TOP & 0xFF); TCNT1H = 0; TCNT1L = 0; TIFR1 = 0x07; // clear any pending interrupt TIMSK1 = (1 << TOIE1); } void loop() { if (digitalRead(A1) == LOW) { k++; } if (digitalRead(A2) == LOW) { k--; } }
А где тот код, который пытается менять частоту?
void
loop
()
Я не спрашиваю, как можно менять частоту, я хочу увидеть Ваши попытки сделать это. (ведь Вы пишете "пытаюсь использовать" - вот и покажите, как Вы пытаетесь)
alex@123 - а вы вообще понимаете, что означают вот эти две строчки?
думаю что не понимаете.
Я вот гарантирую вам, что они делают совсем не то, что вы думаете. Во всяком случае могу вас уверить, что при изменении в программе значения переменной k у вас TIMER1_TOP не меняется.
Более того, сдается мне что вы в этом коде вообще ни строчки не понимаете... Этот код хотя бы компилируется?