Переназначить пины в библиотеке LiquidCristal_I2C
- Войдите на сайт для отправки комментариев
Сб, 26/12/2020 - 15:12
Привет всем. Как можно переназначить пины подключения дисплея (RS, E, RW) в библиотеке, чтобы подключить PCF8574. Т.е, стандартное подключение 4-4, 5-5, 6-6 выводы дисплея и PCF8574 по другому. Спасибо.
Пины назначаются в момент инициализации. Номера не имеют, только имена.
Меня интересуют только (RS, E, RW).
В I2C нет таких пинов.
Родное сердце! Ты бы выразился яснее. Модуль на основе PC8574 имеет типовую схему и припаивается вот прям нога-в-ногу на дисплеи типа 1602, 2004 и т.п. И да на этих дисплеях RS,RW.E это 4,5,6 см. картинки. Так чего ты хочешь? Припаять на другой дисплей? Поясни, плз.
Привет всем. Как можно переназначить пины подключения дисплея (RS, E, RW) в библиотеке, чтобы подключить PCF8574. Т.е, стандартное подключение 4-4, 5-5, 6-6 выводы дисплея и PCF8574 по другому. Спасибо.
В библиотеке LiquidCristal_I2C нет таких пинов. Может Вы имели в виду LiquidCristal? Так они там в конструкторе задаются, назначайте чего хотите, я разрешаю.
Печатная плата для поделки сделана и изготовлена на индикатор WH0802 и PCF8574AT. Так вот там, RW,RS,E идут с PCF на дисплей как 4-6, 5-4, 6-5. Где в библиотеке можно их переназначить?
Привет всем. Как можно переназначить пины подключения дисплея (RS, E, RW) в библиотеке, чтобы подключить PCF8574. Т.е, стандартное подключение 4-4, 5-5, 6-6 выводы дисплея и PCF8574 по другому. Спасибо.
В библиотеке LiquidCristal_I2C нет таких пинов. Может Вы имели в виду LiquidCristal? Так они там в конструкторе задаются, назначайте чего хотите, я разрешаю.
Вообще-то в немного другой библе имеются
This is fast Arduino library for LCD HD44780 and its clones (S6A0069, KS0066U, NT3881D, LC7985, ST7066, SPLC780, WH160xB, AIP31066, GDM200xD). It works in 4-bit mode via I²C bus with 8-bit PCF8574/PCF8574A I/O expander.
The 99.9% of all PCF8574 I²C backpacks from eBay connected like this:
The initialization string:
Вопрос про "немного другую библу" без ссылки на неё, чтобы её можно было увидеть, расценивается как издевательство над теми, кто пытается Вам помочь. Я (и остальные) слили в унитаз своё время, пытаясь Вам помогать, не имея никакого понятия о том, что у Вас "немного другая (ХЗ какая!!!!) "библа"".
Да Ё-МОЁ, Разговор про библу Liqidcristal_I2C обычную, я про неё и спрашиваю, А скрины с модифицированной библиотеки! Вот я и спросил, возможно ли найти где эти выводы назначаются в стандартной библиотеке???
Да ладно, проехали, я не собирался не над кем издеваться, вроде и доходчиво обЬяснял. Спасибо.
я и спросил, возможно ли найти где эти выводы назначаются в стандартной библиотеке???
Так я и ответил первой фразой поста #5
Товарищ имеет в виду возможность скомандовать объекту ликвидкристалл_и2ц дергать другими ногами pcf-ки, не дефолтовыми.
Совершенно верно, ДРУГ.
я и спросил, возможно ли найти где эти выводы назначаются в стандартной библиотеке???
Так я и ответил первой фразой поста #5
Ну пины же где-то должны назначаться?
Ну пины же где-то должны назначаться?
Нет. В случае I2C пины зависят не от библиотеки, а от модели контроллера
я и спросил, возможно ли найти где эти выводы назначаются в стандартной библиотеке???
Так я и ответил первой фразой поста #5
Ну пины же где-то должны назначаться?
Тугой? Пишут уже не первый раз: "В СТАНДАРТНОЙ LiquidCrystal I2C - НЕЛЬЗЯ". Есть ДРУГИЕ библиотеки, где - МОЖНО, там строчка конструктора длинная. как в приведенной тобой цитате. Вот и ищи такую библиотеку. Или еще и поискать для тебя надо?
Или напиши свою, или перепиши типовую для себя - путей миллион. В типовой эти три пина встречаются менее десятка раз. 10 строчек кода - это, конечно, вот прям истинный героизм! ;)))
Ну пины же где-то должны назначаться?
Известно где. В LiquidCrystal_I2C.h, где ж ещё.
Ну пины же где-то должны назначаться?
Кому? Вам? Ну, если должны, то попробуйте стрясти долг через суд.
...\Documents\Arduino\libraries\LiquidCrystal_I2C\LiquidCrystal_I2C.h
Вот это дефолтовые значения для библиотеки: En - pin 6, Rw -pin 5, Rs - pin 4
Думаю, что если биты либо имена дефайнов переставить в некотором ином порядке, то всё должно замигать.
...\Documents\Arduino\libraries\LiquidCrystal_I2C\LiquidCrystal_I2C.h
Вот это дефолтовые значения для библиотеки: En - pin 6, Rw -pin 5, Rs - pin 4
Думаю, что если биты либо имена дефайнов переставить в некотором ином порядке, то всё должно замигать.
Вот-вот. Как раз сейчас курил и до меня таки наконец дошло, что ТС нужны именно эти биты, пришёл написать, но Вы опередили.
У ТС уникальная способность "понятно формулировать вопрос" :-)
...\Documents\Arduino\libraries\LiquidCrystal_I2C\LiquidCrystal_I2C.h
Вот это дефолтовые значения для библиотеки: En - pin 6, Rw -pin 5, Rs - pin 4
Думаю, что если биты либо имена дефайнов переставить в некотором ином порядке, то всё должно замигать.
в коде использованы только Rs и En по два раза каждый... ;))
Как осиное гнездо, чё злые то такие???
ЕвгенийП, на аватарке точно ты?
Точно.
Тогда может подскажете другое?
PIC16F выдает сигналы I2C. Как узнать на каком адресе?
Сканер I2C ардуино здесь не проканает.
Тогда может подскажете другое?
PIC16F выдает сигналы I2C. Как узнать на каком адресе?
Сканер I2C ардуино здесь не проканает.
если он "выдает сигналы", значит он мастер. А понятие адрес относится к слейву... потому и сканер не прокатывает. что сканировать нечего
Очевидно написать слейв-сканер.
Как осиное гнездо, чё злые то такие???
Лисапеда нету, кроме титанового )))
а попробуй поставить через меню - LiquidCrystal_PCF8574.h
в файле LiquidCrystal_PCF8574.cpp заменить как хотелось бы
Тогда может подскажете другое?
PIC16F выдает сигналы I2C. Как узнать на каком адресе?
Сканер I2C ардуино здесь не проканает.
Я уже отмечал
У ТС уникальная способность "понятно формулировать вопрос" :-)
Тогда может подскажете другое?
Почему не подсказать? Подскажем: забудьте про Ардуино и займитесь лучше макраме.
Вообще Новый год скоро, добрее нужно быть. Протереть шары хрустальные и вперёд.
Протереть шары хрустальные и вперёд.
попробовать, что ль?
Полагаю, что у ТС есть ПИК с прошивкой, которая типа должна взаимодействовать по I2C с неким оборудованием. Адрес слейва I2C, зашитый в прошивке - неизвестен. ТС нужна программа, которая будет последовательно прикидываться слейвами I2c c разными адресами, пока мастер на ПИКе с ней не законтачит.
Короче, как сказал rkit - нужен слейв-сканер
Сорри, но похоже это заразно и я выражаюсь так же туманно, как и сам ТС :)
Короче, как сказал rkit - нужен слейв-сканер
Ну тот, вероятно, пошутил. Никаких слейв-сканеров не может существовать по структуре протокола. Мастер может вообще не иметь адреса. А тот адрес, по которому мастер обращается в шину к кому-то - виден на логическом анализаторе... как-то так ;)))
Может я чего не понимаю - но я вижу пару путей решения вопроса:
1 - отключить мастер и подключить i2c сканер и выяснить адрес
2 - посмотреть на схеме оборудования микросхему и посмотреть на ее даташит.
Может я чего не понимаю - но я вижу пару путей решения вопроса:
1 - отключить мастер и подключить i2c сканер и выяснить адрес
2 - посмотреть на схеме оборудования микросхему и посмотреть на ее даташит.
Не один путь не приведет к ожидаемому. На слейве и так ясен адрес, микросхема PIc16F1827, при чем здесь даташит??? Один умнее другого. Если она прошитая HEX откуда я могу узнать какой там адрес?
Если она прошитая HEX откуда я могу узнать какой там адрес?
так Дракула подсказал, подключить лог.анализатор, он скажет
Не один путь не приведет к ожидаемому. На слейве и так ясен адрес, микросхема PIc16F1827, при чем здесь даташит???
Пи-те, уважаемый. I2C сканер Вы не запускали. Иначе PIc16F1827 ответил бы Вам свой адрес I2C (если это и правда слейв). При чем здесь прошивка? Любой свободно программируемый контроллер можно запрограммировать в любом режиме. И неча истерить - Вы даже схему устройства себе не представляете, а уже - ХОЧУ!
Не один путь не приведет к ожидаемому. На слейве и так ясен адрес, микросхема PIc16F1827, при чем здесь даташит???
Пи-те, уважаемый. I2C сканер Вы не запускали. Иначе PIc16F1827 ответил бы Вам свой адрес I2C (если это и правда слейв). При чем здесь прошивка? Любой свободно программируемый контроллер можно запрограммировать в любом режиме. И неча истерить - Вы даже схему устройства себе не представляете, а уже - ХОЧУ!
Блин, уважаемый. PIC это мастер, а через PCF по шине I2C подключен дисплей 0802А. Ладно, проехали правда. Всех с НАСТУПАЮЩИМ!!!!!