Пытаюсь использовать кнопки для изменения частоты генератора, но не получается
- Войдите на сайт для отправки комментариев
Чт, 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--;
}
}
А где тот код, который пытается менять частоту?
voidloop()Я не спрашиваю, как можно менять частоту, я хочу увидеть Ваши попытки сделать это. (ведь Вы пишете "пытаюсь использовать" - вот и покажите, как Вы пытаетесь)
alex@123 - а вы вообще понимаете, что означают вот эти две строчки?
думаю что не понимаете.
Я вот гарантирую вам, что они делают совсем не то, что вы думаете. Во всяком случае могу вас уверить, что при изменении в программе значения переменной k у вас TIMER1_TOP не меняется.
Более того, сдается мне что вы в этом коде вообще ни строчки не понимаете... Этот код хотя бы компилируется?