Могу ли я вызывать функции из другого скетча?
Я новичок в программировании с Arduino и не уверен, как мне вызвать функции (например, getData()) для сенсорного ЖК-дисплея, чтобы отобразить эти данные. Цель моего устройства — прослушивать обмен данными между датчиками и контроллером, поэтому у меня есть одна плата RedBoard с шилдом CAN-BUS и скетчем dataComms.ino, который инициализирует функции получения данных из полученных пакетов данных и анализирует их.
Нужно ли мне создавать еще один скетч для отображения? Если да, то как мне вызывать функции из другого скетча, чтобы display.ino имел доступ к полученным значениям? Или есть какие-то лучшие способы отображения данных?
@Henrikas, 👍1
1 ответ
Лучший ответ:
Вы можете использовать только один скетч одновременно, то есть один скетч может быть сохранен внутри Arduino для выполнения.
Это означает, что весь ваш код (и функциональность для всех устройств, к которым вы хотите получить доступ) должны находиться в пределах одного эскиза.
Итак, в основном вам нужно сделать следующее:
- Добавьте библиотеку для каждого устройства, которое вы хотите использовать.
- Вызовите функции из этой библиотеки в вашем .ino-файле.
- Если вы хотите добавить функции, которые не являются частью библиотеки, вы добавляете как код функции, так и вызов (там, где это необходимо) в свой файл .ino.
Кроме того, если вы новичок, не начинайте со всего одновременно.
- Сначала найдите пример управления дисплеем (это, вероятно, проще, чем CAN shield).
- Добавить библиотеку для отображения
- Измените (или скопируйте из примера) код для отображения
- Запустите и отладьте, пока не заработает.
- Создайте новый эскиз для CAN-шилда.
- Добавьте библиотеку для CAN-шилда.
- Вызовите функции из этой библиотеки (или используйте пример, если он доступен).
- Как только вы убедитесь, что знаете, как использовать оба устройства (дисплей + CAN), объедините эскизы (создайте новый эскиз, добавьте обе библиотеки, скопируйте код и сделайте его одним эскизом).
- Controllino Mega и ЧМИ Fatek
- Есть ли какой-нибудь способ загрузить скетч с ардуино?
- Загрузка Arduino Nano дает ошибку: avrdude: stk500_recv(): programmer is not responding
- Асинхронные вызовы функций в скетче ардуино
- Как отображать переменные на 0,96-дюймовом OLED-дисплее с библиотекой u8glib?
- Как отобразить символ º на ЖК-дисплее?
- Проблема с загрузкой моего скетча на Ардуино
- Путаница между SPI и I2C для SSD1306 OLED