выражение нельзя использовать как функцию
void setup() {
// put your setup code here, to run once:
pinMode (9, OUTPUT) ;
pinMode (10, OUTPUT) ;
TCCR1A = 0;
TCCR1B = 0
TCCR1A |= (1<<WGM11) | (1<<COM1A1) | (1<<COM1B1) ; //non-inverting (error msg)
TCCR1B |= (1<<CS10) | (1<<WGM12) | (1<<WGM13) ; //prescaler 1,}
void loop() {
// put your main code here, to run repeatedly:
ICR1 = map(analogRead(A1), 0, 1023, 0, 255);
OCR1A = map(analogRead(A0), 0, 1023, 0, ICR1);
}
- Элемент списка
проблема с загрузкой этого скетча в arduino uno. любой может помочь.
невозможно загрузить: выражение нельзя использовать как функцию
@lee, 👍-1
3 ответа
Ответьте, прежде чем обновлять свой вопрос:
Первая строка неправильная, она заканчивается на
TCCR1A |= (1<
Чем вы начинаете новую функцию
void loop()
Также выровняйте свой код, выделив его и нажав ctlr-k
ОБНОВЛЕНИЕ
После изменения вопроса/кода:
В этой строке:
TCCR1B |= (1<<CS10) | (1<<WGM12) | (1<<WGM13) ; //prescaler 1,}TCCR1B |= //prescaler 1,}
У вас есть комментарий (//), однако код, стоящий за ним, не выполняется, включая закрывающую скобку }, закрывающую функцию настройки.
Таким образом, если вы переместите квадратную скобку } на следующую новую строку, функция будет закрыта в соответствии с грамматикой C(++).
(Отсутствующее двоеточие уже упоминалось другими).
Точка с запятой ;
отсутствует после TCCR1B = 0
Вторая проблема заключается в том, что отсутствует }
, который вы фактически оставили в комментарии здесь //prescaler 1,
разделите его на две строки
//prescaler 1,
}
Пожалуйста, уделите некоторое время изучению основ C++. Это довольно весело и на удивление легко.
спасибо филип. проблема решена. Вылезла 2-я проблема. здесь не допускается определение функции перед '{' at void loop () { line. Пожалуйста, помогите., @lee
спасибо филип. вы действительно полезны., @lee
По крайней мере, этот код компилируется нормально. Я не уверен, что он будет делать на Arduino.
void setup() {
pinMode (9, OUTPUT);
pinMode (10, OUTPUT);
TCCR1A = 0;
TCCR1B = 0;
TCCR1A |= (1 << WGM11) | (1 << COM1A1) | (1 << COM1B1); //не инвертирование (сообщение об ошибке)
TCCR1B |= (1 << CS10) | (1 << WGM12) | (1 << WGM13); //пределитель 1,
}
void loop() {
ICR1 = map(analogRead(A1), 0, 1023, 0, 255);
OCR1A = map(analogRead(A0), 0, 1023, 0, ICR1);
}
- Установите частоту ШИМ на 25 кГц.
- Какова частота PWM-выхода на Arduino
- Управление скоростью вентилятора с помощью библиотеки Arduino PID
- Как устранить шум от вентилятора 12 В с ШИМ-управлением на низкой скорости
- Генерация частоты ШИМ выше 125 кГц с помощью Arduino Uno
- Увеличить разрядность PWM
- Как вывести истинное аналоговое напряжение на выходной контакт
- PWM-вывод Arduino Nano не функционирует
извините, я все еще не понимаю. Пожалуйста, объясните немного больше, @lee
Я обновил вопрос ... для тех, кто проголосовал против: вопрос был изменен после моего первоначального ответа, который был правильным для показанного ранее кода., @Michel Keijzers