Вызов подпрограммы из библиотеки
- Войдите на сайт для отправки комментариев
Вс, 08/01/2017 - 15:59
Как из созданной самим библитеки можно вызвать подпрограмму, которая будет реализована в основной программе? Т.е из файла моя_библиотека.ccp сделать обращение к подпрограмме которая будет в файле моя_программа.ino ?
SFU, ну что за тайны. У меня есть это, и как из этого , получить это с помощью этого.
Ладно. Каков вопрос - таков и ответ.
slava.ru38_v2_lib.ino
Cl_Motor.h
qwone, а если бы в Вашем примере в slava.ru38_v2_lib.ino, скажем была бы подпрограмма void primer1(), и Вам нужно было бы к ней обратится из void FORWARD()?
Ну да. Если бы не было класса, я обратился на прямую, а не как функцию представителя класса.
НЕТ! Вы опять не поняли вопроса... Предположим, что методу FORWARD() из вашей библиотеки требуется обращение к какой либо подпрограмме из slava.ru38_v2_lib.ino ( в Вашем примере , правда нет подпраграмм). Т. е . методе FORWARD() вашей библиотеки должен быть вызов подпрограммы из основной программы проекта.
Похоже вам надо перечитать Б. Страуструпа «Язык программирования С++»
Благодарю за совет! Книгу скачал. Буду читать...
В библиотеке объявите указатель на функцию. В начале скетча (в setup, например) присвойте этому указателю адрес нужной функции. А потом из библиотеки вызывайте эту функцию сколько влезет.
example.ino
file.c
example.ino
ему нужно наоборот, да и в этой книжке вроде нет описания работы с коллбэками :)
project.ino
reg_callback.h
reg_callback.c
Вот так я объявляю указатель на функции и присваиваю им ссылку на пустой метод nullmetod из той же библиотеки
а вот так в setup присваиваю указателю ссылку на подпрограммы r0() и r1().
В итоге компилятор на строки из библиотеки ругается: cannot convert.......
Блин , вы хоть умеете объявлять функции.
В библиотеке объявите указатель на функцию. В начале скетча (в setup, например) присвойте этому указателю адрес нужной функции. А потом из библиотеки вызывайте эту функцию сколько влезет.
Так вот кто у нас любитель реентерабельных кодов )))
Ребята подскажите как правильно паписать свою библиотеку на ардуино
Я еще новичок
Вот так сел за компьютер и пишешь.
cl_bounce.h
cl_bounce.cpp
Ну а потом запускаешь и работает, как эта. Или не работает. Тогда ищешь в ней косяки.
http://arduino.ru/Hacking/LibraryTutorial
А что, Клапауций запретил новичкам читать какие-то другие разделы сайта, кроме форума?
http://arduino.ru/Hacking/LibraryTutorial
А что, Клапауций запретил новичкам читать какие-то другие разделы сайта, кроме форума?
Человек спросил паписать, а вы о написать, паписать это пером к предметам одушевлённым )))
Извините за ошибку
По этому примеру я не понимаю как писать библиотеку
У меня надо множество переменых в вести в библиотеку и отдельный цикл void
и отдельный цикл void
Нет такого цикла... void - это спецификатор типа данных.
отдельный цикл void
Понятно.
Читать. Целиком. разбирая все примеры и заучивая наизусть все определения.
А пока не прочитаете, лучше не трогайте цикл void. На худой конец воспользуйте функцией unsigned.
Как из созданной самим библитеки можно вызвать подпрограмму, которая будет реализована в основной программе? Т.е из файла моя_библиотека.ccp сделать обращение к подпрограмме которая будет в файле моя_программа.ino ?
Показываю. class_Do_btn_deBounce.ino
Cl_Do_btn_deBounce.h
Cl_Do_btn_deBounce.cpp