Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
SetFirmwareVersion(byte major, byte minor)
установить имя прошивки используя имя скетча без расширения
Отправка сообщений: sendAnalog(byte pin, int value) послать аналоговое сообщение sendDigitalPorts(byte pin, byte firstPort, byte secondPort) послать цифровое сообщение как отдельные байты sendDigitalPortPair(byte pin, int value) послать int на цифровой порт sendSysex(byte command, byte bytec, byte* bytev) послать комманду с аттрибутами в виде массива байт sendString(const char* string) послать строку на компьютер sendString(byte command, const char* string) послать строку на компьютер использя параметры командной строки
Получение сообщений: available() проверить наличие сообщений в буфере processInput() прочесть сообщение, находящееся в буфере attach(byte command, callbackFunction myFunction) подключить функцию к определенному типу сообщений detach(byte command) отключить функцию от определенного типа сообщений
Вызываемые функции Чтобы подключить вашу функцию к типу сообщений она должна соответствовать стандартным функциям обратного вызова. Существует три основных типа функций Firmata: generic, string, and sysex. generic void callbackFunction(byte pin, int value); system_reset void systemResetCallbackFunction(void); string void stringCallbackFunction(char *myString); sysex void sysexCallbackFunction(byte pin, byte byteCount, byte *arrayPointer);
Типы сообщений Представлены различные типы сообщений, к которым можно подключить нашу функциюh ANALOG_MESSAGE аналоговое значение пина DIGITAL_MESSAGE 8-бит цифровых данных (1 порт) REPORT_ANALOG включить/отключить отчет об аналоговом пине REPORT_DIGITAL включить/отключить отчет о цифровом пине SET_PIN_MODE установить режим пина INPUT/OUTPUT/PWM/и.т.д. FIRMATA_STRING строки C-стиля использующие stringCallbackFunction как типовую функцию SYSEX_START generic, сообщения (с MIDI SysEx протоколом), использует sysexCallbackFunction как типовую функцию SYSTEM_RESET сообщение для перезагрузки прошивки,используется systemResetCallbackFunction как типовая функция
Пример: Этот пример показывает, как можно передавать и получать аналоговые данные используя Firmata. #include <Firmata.h> byte analogPin;
void analogWriteCallback(byte pin, int value) { pinMode(pin,OUTPUT); analogWrite(pin, value); }
void setup() { Firmata.setFirmwareVersion(0, 1); Firmata.attach(ANALOG_MESSAGE, analogWriteCallback); Firmata.begin(); }
void loop() { while(Firmata.available()) { Firmata.processInput(); } for(analogPin = 0; analogPin < TOTAL_ANALOG_PINS; analogPin++) { Firmata.sendAnalog(analogPin, analogRead(analogPin)); } } Date: 2015-12-12; view: 381; Нарушение авторских прав |