Вход/Регистрация
Программируем Arduino. Основы работы со скетчами
вернуться

Монк Саймон

Шрифт:

Общедоступный раздел (public) включает две функции для создания объекта-радиоприемника, одна позволяет указать адрес устройства, а другая не позволяет и использует адрес по умолчанию. В общедоступном разделе имеется также функция setFrequncy.

Файл реализации

Код, фактически реализующий функции, находится в файле TEA5767Radio.cpp:

#include <Arduino.h>

#include <TEA5767Radio.h>

TEA5767Radio::TEA5767Radio(int address)

{

_address = address;

}

TEA5767Radio::TEA5767Radio

{

_address = 0x60;

}

void TEA5767Radio::setFrequency(float frequency)

{

unsigned int frequencyB = 4 * (frequency *

1000000 + 225000) / 32768;

byte frequencyH = frequencyB >> 8;

byte frequencyL = frequencyB & 0XFF;

Wire.beginTransmission(_address);

Wire.write(frequencyH);

Wire.write(frequencyL);

Wire.write(0xB0);

Wire.write(0x10);

Wire.write(0x00);

Wire.endTransmission;

delay(100);

}

Создают новый объект радиоприемника два метода. Оба просто записывают в переменную _address адрес I2C устройства, либо переданный в параметре address, либо адрес по умолчанию 0x60. Метод setFrequency содержит почти весь код из оригинального скетча (sketch_07_01_I2C_TEA5767), кроме следующей строки, использующей значение переменной _address, чтобы соединиться с устройством I2C:

Wire.beginTransmission(_address);

Файл с ключевыми словами

Папка с библиотекой может также содержать файл с именем keywords.txt. Этот файл не является обязательным, библиотека будет работать и без него. Но этот файл позволяет среде разработки Arduino IDE выделять цветом любые ключевые слова библиотеки. В нашей библиотеке только два таких слова: ее имя TEA5767Radio и имя метода setFrequency. Файл с ключевыми словами может сдержать комментарии в строках, начинающихся с символа #. Далее приводится содержимое этого файла:

#######################################

# Карта подсветки синтаксиса для TEA5767Radio

#######################################

#######################################

# Типы данных (KEYWORD1)

#######################################

TEA5767Radio KEYWORD1

#######################################

# Методы и функции (KEYWORD2)

#######################################

setFrequency KEYWORD2

Ключевые слова должны определяться как KEYWORD1 или KEYWORD2, даже при том что версия 1.4 среды разработки Arduino IDE выделяет ключевые слова обоих типов оранжевым цветом.

Папка с примерами

Если внутри папки библиотеки создать папку с именем examples, все скетчи в этой папке автоматически будут регистрироваться средой разработки Arduino IDE во время запуска, и вы сможете получить доступ к ним через меню Examples (Примеры) в подменю с именем библиотеки. Примеры скетчей могут быть самыми обычными скетчами, только хранящимися в папке библиотеки. Далее приводится пример использования этой библиотеки:

#include <Wire.h>

#include <TEA5767Radio.h>

TEA5767Radio radio = TEA5767Radio;

void setup

{

Wire.begin;

radio.setFrequency(93.0); // выберите свою частоту

}

void loop

{

}

Тестирование библиотеки

Чтобы протестировать библиотеку, достаточно запустить пример скетча, использующего библиотеку. Если вам не повезло (или вы были недостаточно внимательны) и первая попытка скомпилировать библиотеку завершилась неудачей, прочитайте сообщения об ошибках в информационной области в нижней части окна Arduino IDE.

Выпуск библиотеки

Созданную библиотеку можно передать сообществу. Чтобы другие наверняка могли найти ее, создайте запись на общедоступной вики-страницеБиблиотеку можно распространять в виде zip-архива, но некоторые предпочитают использовать репозитории на сайтах GitHub, Google Code или других и размещать на вики-странице ссылку на сайт хостинга.

Если вы пожелаете выгрузить свою библиотеку на сайт Arduino Playground, выполните следующие шаги.

  • Читать дальше
  • 1
  • ...
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: