Страница 1 из 2
I2C - просто!
Добавлено: 01 окт 2017, 03:44
Sancho
Выкладываем наработки по I2C.
Мои пробы.
Блоки чтения здесь, Алексея, ([ref=#ff8000]pan[/ref])
I2C
Добавлено: 30 апр 2018, 00:30
ZeRG
а можно с ардуино сделать слейф?
Отправлено спустя 26 секунд:
ну только принимать данные от мастера и все
I2C - просто!
Добавлено: 30 апр 2018, 08:48
Sancho
ZeRG писал(а): 30 апр 2018, 00:30а можно с ардуино сделать слейф?
Можно, не сложно, но доступ делать сразу ко всем, т.е с начала и до конца, без произвольного. Вопрос только один, даже не вопрос, а требование - тип и количество данных.
I2C
Добавлено: 30 апр 2018, 13:03
ZeRG
нужно чтоб ардуино принимала 1 интержер от 0 до 255 все.
I2C
Добавлено: 30 апр 2018, 14:45
Sancho
[ref]ZeRG[/ref], Пробуй. 0-255 - байт. Если очень надо инт - умнож на константу 1 типа integer.
Отправлено спустя 5 минут 16 секунд:
Адрес в настройках блока. По умолчанию 11.
Отправлено спустя 8 минут 3 секунды:
Не забудь два резистора подтяжек по шине и питанию, если только две ардуинки.
I2C
Добавлено: 30 апр 2018, 15:17
ZeRG
[ref=#ff8000]Sancho[/ref], а какой блок должен быть у мастера?
Отправлено спустя 49 секунд:
Sancho писал(а): 30 апр 2018, 14:45Не забудь два резистора подтяжек по шине и питанию, если только две ардуинки.
не совсем понял как?
I2C - просто!
Добавлено: 30 апр 2018, 15:23
Sancho
ZeRG писал(а): 30 апр 2018, 15:17[ref=#ff8000]Sancho[/ref], а какой блок должен быть у мастера?
Отправлено спустя 49 секунд:
Sancho писал(а): 30 апр 2018, 14:45Не забудь два резистора подтяжек по шине и питанию, если только две ардуинки.
не совсем понял как?
Для отправки - Пробуй блоки
Алексея ([ref=#ff8000]pan[/ref] ).
Два резистора от SDA и SCL к питанию. 4,7к - в пределах 50 см хватит(должно).
I2C
Добавлено: 30 апр 2018, 16:51
ZeRG
спасибо все работает но теперь возникла другая проблема преобразование инт в байт умножением и блоком преобразования не получается выводит какие то непонятные символы
I2C
Добавлено: 30 апр 2018, 17:43
Sancho
инт в байт
ZeRG писал(а): 30 апр 2018, 16:51спасибо все работает но теперь возникла другая проблема преобразование инт в байт
твой младший
I2C
Добавлено: 30 апр 2018, 20:51
ZeRG
спасибо [ref=#ff8000]Sancho[/ref],
Отправлено спустя 2 часа 17 минут 30 секунд:
I2C - просто!
а можно еще последний вопрос по этой теме

а если данные с мастера не 1 а несколько идущих на 1 ардуино как это сделать?)
I2C - просто!
Добавлено: 01 май 2018, 09:21
Sancho
ZeRG писал(а): 30 апр 2018, 20:51а если данные с мастера не 1 а несколько идущих на 1 ардуино как это сделать?)
Или использовать предыдущий блок, но с разными константами адреса, при настройке блока(параметры).
I2C - просто!
Добавлено: 01 май 2018, 13:20
ZeRG
Sancho писал(а): 01 май 2018, 09:21но с разными константами адреса
я думаю не с константами адреса а нужен регистр
I2C - просто!
Добавлено: 01 май 2018, 13:52
Sancho
ZeRG писал(а): 01 май 2018, 13:20я думаю не с константами адреса а нужен регистр
Понял, что не правильно понял. Но написано было тоже не особо понятно...
I2C - просто!
Добавлено: 01 май 2018, 18:22
ZeRG
и снова спасибо
Отправлено спустя 3 часа 35 минут 54 секунды:
скорость передачи данных в данном блоке максимальная?
Отправлено спустя 47 секунд:
или же какая то определенная и возможно ли ее повысить?
Отправлено спустя 1 минуту 25 секунд:
//Wire.setClock(400000);
по идее должен быть гдето такой код
I2C - просто!
Добавлено: 01 май 2018, 18:26
Sancho
100 кГц. Стоит по умолчанию в Wire.h
Можно поднять до 400...
Отправлено спустя 3 минуты 27 секунд:
ZeRG писал(а): 01 май 2018, 18:22//Wire.setClock(400000);
Только без слэшей - иначе не сработает, будет как
комментарий, после
Wire.begin
I2C - просто!
Добавлено: 02 май 2018, 22:46
seri0shka
Не подскажете, программную реализацию I2C на форуме обсуждали (не аппаратный I2C)? Поиск выдаёт полфорума сразу.
I2C - просто!
Добавлено: 03 май 2018, 08:27
Sancho
seri0shka писал(а): 02 май 2018, 22:46программную реализацию I2C на форуме обсуждали (не аппаратный I2C)? Поиск выдаёт полфорума сразу.
Серёжка, не понял вопроса, честно. Конкретно - о чём именно речь? и причина поиска?
I2C - просто!
Добавлено: 03 май 2018, 08:46
kulibinsvv
Sancho писал(а): 03 май 2018, 08:27 не понял вопроса
В FLProg`e реализован способ обмена по I2C с использованием аппаратного модуля микроконтроллера. Существует также способ эмулирующий работу данного модуля программно. Если аппаратный модуль жёстко привязан к выводам контроллера, то программному - можно назначить любые выводы.
Это, примерно, как с UART.
I2C - просто!
Добавлено: 03 май 2018, 08:49
Sancho
А смысл, аргументы?
I2C - просто!
Добавлено: 03 май 2018, 09:12
kulibinsvv
Sancho писал(а): 03 май 2018, 08:49А смысл, аргументы?
Это пусть [ref]seri0shka[/ref] объясняет.