FLProg
Вход на сайт
Логин:
Пароль:
Мы в VK
Поиск
Статистика


Яндекс.Метрика
Суббота, 03.12.2016, 18:39
Приветствую Вас Гость | RSS
Главная | Регистрация | Вход

Поиск по сайту


Форум
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Модератор форума: support, Сергей 
Форум » Основной » Спросить у знатоков » i2c между ардуино
i2c между ардуино
dee-vize
Дата: Вторник, 24.05.2016, 20:22 | Сообщение # 1
Сержант
Группа: Проверенные
Сообщений: 34
Награды: 0
Репутация: 0
Статус: Offline
Всем привет!На днях попытался создать 2 пользовательских блока,один Master,другой Slave.Slave блок передаёт переменную integer в Master,но только до значения 255.Затем сбрасывается в 0.Может кто подскажет как исправить код?
Прикрепления: Slave-sender-CO.ubi(105Kb) · Master_receiver.ubi(90Kb)
 
support Дата: Вторник, 24.05.2016, 20:36 | Сообщение # 2
Автор программы
Группа: Администраторы
Сообщений: 579
Награды: 30
Репутация: 21
Статус: Offline
Функция  Wire.write(data)  умеет отправлять только один байт (байт - число от 0 до 255). ДЛя отправки Integer необходимо его разбить на два байта
 
 
Код
byte hB = highByte(data );
 byte lb = lowByte( data );

и отправлять их по очереди. На принимающей стороне собрать обратно

Код
int data = word( lb,hb);

ну и естественно надо подумать как всё это синхронизировать. Вообще я думаю есть смысл попробывать перенести логику модбас на I2C, он так неплохо вроде вписывается, но это попозже


Разработчик программы FLProg
 
dee-vize Дата: Вторник, 24.05.2016, 20:38 | Сообщение # 3
Сержант
Группа: Проверенные
Сообщений: 34
Награды: 0
Репутация: 0
Статус: Offline
Спасибо!Попробую переделать.
 
Kocтик Дата: Вторник, 24.05.2016, 23:40 | Сообщение # 4
Лейтенант
Группа: Проверенные
Сообщений: 76
Награды: 1
Репутация: 0
Статус: Offline
Я, делал так.
Прикрепления: _RX-__Int.ubl(43Kb)
 
Форум » Основной » Спросить у знатоков » i2c между ардуино
Страница 1 из 11
Поиск:

FLProg © 2016
Яндекс.Метрика