Прошу пояснить по функции Serial
- Войдите на сайт для отправки комментариев
Чт, 31/03/2016 - 22:00
Доброго времени сутк!
Я к вам с вопросом по функции или по составлению правильного запроса в яндекс. Вопрос: "Как сделать так, чтоб функция Serial.print() работала из пользовательской функции?. В нижеследующем простеньком скетче представлена проблема. Функцияя вывода строки работает только в setup и в loop, но не работает в сериал... почему? Я пытался найти информацию, но не получилось.
void setup() {
Serial.begin(9600);
Serial.println("void setup");
}
void loop() {
Serial.println("void loop");
SerialF;
delay(5000);
Serial.println("the end of delay");
}
void SerialF() {
// Serial.begin(9600); пробовал объявлять, но не помогло
// while(!Serial); пробовал даже делать эту лишнюю операцию, но толку нет
Serial.println("void SerialF"); //вот этот текст не выводится
}
Может кто встречал описание этой функции на более-менее приемлемом русском языке?
Serial тут вообще ни при чём. Строку 7 замените на SerialF();
Синтаксис вызова функций читаем.
07SerialF; -это может быть что угодно, но точно не вызов функциинайдите отличия
07SerialF(); - а это вызов функции без параметровА что setup() и loop() не пользовательские функции? А какие?
Serial тут вообще ни при чём. Строку 7 замените на SerialF();
Синтаксис вызова функций читаем.
07SerialF; -это может быть что угодно, но точно не вызов функциинайдите отличия
07SerialF(); - а это вызов функции без параметровБлин, как можно было так лопухнуться??!! Ведь даже не подумал в эту сторону... Спасибо.
А что setup() и loop() не пользовательские функции? А какие?
В силу привычки называю их заводскими :)
Serial тут вообще ни при чём. Строку 7 замените на SerialF();
Синтаксис вызова функций читаем.
07SerialF; -это может быть что угодно, но точно не вызов функциинайдите отличия
07SerialF(); - а это вызов функции без параметровБлин, как можно было так лопухнуться??!! Ведь даже не подумал в эту сторону... Спасибо.
"SerialF" не сказал разве? Например что переменная не объявлена.SerialF - это указатель на функцию - передает адрес ее расположения в памяти
А траснслятор ничего на
"SerialF" не сказал разве? Например что переменная не объявлена.А что он должен был сказать? Всё обявлено, операция совершенно законная, а то, что она означает не то, что имел в Виду ТС, так про то компилятору ничего неизвестно.
Раз уж Вы читаете Кернигана и Ритчи, прочитайте раздел 5.11