Передача функции в качестве параметра
- Войдите на сайт для отправки комментариев
Пнд, 23/09/2019 - 17:35
Добрый день. Подскажите, как передать функцию ppp() в качестве еще одного параметра (помимо stoping) в функцию Millis()
Код примерно такой. Мне это нужно для того, что бы я мог кроме ppp() подставлять какую либо иную функцию.
void loop(){ ooo(); } int Millis(int16_t stoping) { static uint32_t Time = 0; int result; static int16_t Delay = stoping; if ((millis() - Time) > Delay) { ppp(); Time = millis(); return result; } } void ppp(){ digitalWrite(ledFP[1],!digitalRead(ledFP[1])); } void ooo(){ Millis(1000); }
google function pointer as parameter
Та блин я давно уже тему наваял , а вы б**я только проснулись #4 С 18.04.2015 видно спите.
Опишите в списке аргументов указатель на функцию и просто передавайте её имя.
Опишите в списке аргументов указатель на функцию и просто передавайте её имя.
Спасибо, я так и предполагал. Сейчас изучаю этот вопрос.
Та блин я давно уже тему наваял , а вы б**я только проснулись #4 С 18.04.2015 видно спите.
Да. Но только теперь начал плотно изучать. Можете, пожалуйста, ткнуть носом?
Нашел такой Ваш пример:
Не могли бы Вы объяснить, для чего нужен указатель и ссылка на указатель? Упростить не получится? Не совсем понятно, зачем такие сложности? И как передать функцию в качестве параметра в один из аргументов другой функции?
Извините, если написал вопрос на грани бреда, но я еще учусь. )))
тебе не на форумах надо знания получать, а прочесть для начала Библию Си от Кернигана. Таких вопросов бы не было ( ну, если ты не вхлам тупой, канеш ).
Доброго времени суток. Дабы не множить темы подскажите как передать Serial в качестве аргумента?
Клас работает с сериал. Для универсальности хочу чтоб он работал как с хардварным так и софтварным serial.
Class myClass(){
myClass(*Serial &userSerial){
userSerial.print("Hallo world");
}
};
void setup(){
Serial.begeen(9600);
myClass(Serial);
softwareSerial mySerial(1,2);
mySerial.begeen(9600);
myClass(mySerial);
}
Написал по памяти, для пояснения сути. Дело в том, что Serial и mySerial являються разными типами данных. И в случае если тип явно не указывать tamplate tampname... то userSerial в классе не будет иметь методов (получаю такую ошибку).
Благодарю. Действительно все наследуется от Stream.
Поигрался немного и все вышло.