![]() |
Цитата:
потом задавать вопросы наводящие. у меня это 2 месяца заняло, но сейчас должно быть быстрее, потому что понятно, как оно работает и есть весь код, его нужно только немного поправить |
Цитата:
Ладно, буду искать того, кто разбирается. |
Цитата:
Не видя фоток дорожек понять что-то сложно. Это была нетривиальная задача даже для меня, а я уже лет 30 этим занимаюсь. Чтобы браться за такие вещи нужен навык общения с подобным железом. На самом то деле почти все уже сделано, в документе расписан порядок байтов в посылке, которую микруха жрет. Это скрипт уже делает. Вам всего лишь надо поиграться с начальным набором байт, которые правильно конфигурят микруху для работы с вашим конкретным индикатором. Так как тоже однострочный у Вас, конфигурация не должна сильно отличаться. Микруха довольно тупая, она просто отображает то, что ей скажут. в моем скрипте Вам надо поиграться с вот этим buffer[0] = 0xE0; buffer[1] = 0xCB; buffer[2] = 0xF0; на странице 23 есть формат команды по байтам Мы отправляем сами только Command и Display Data, первый байт отправляет библиотека Wire в Ардуине вот Command и есть buffer[0] = 0xE0; buffer[1] = 0xCB; buffer[2] = 0xF0; назначение каждого байта в Command расписано на странице 24 и 25 Вам надо поиграться со значениями битов B, M1, M0, так как они зависят от конкретного LCD, который подключен к микрухе. Мы всегда посылаем пакеты данных по 17 байт - первых 3 байта - конфигурация, остальные - данные. То есть Ваша задача методом тыка меняя buffer[0] = 0xE0; buffer[1] = 0xCB; buffer[2] = 0xF0; заставить показывать хоть что-то, дальше пойдет легче. Это значения шестнадцатиричные, можно подставлять бинарные, так будет легче менять отдельные байты. Вот бинарный эквивалент buffer[0] = B11100000; buffer[1] = B11001011; buffer[2] = B11110000; Если будет показывать что-нить, то потом нужно сделать свой знакогенератор - таблицу соответствия байтов данных символам на экране. Тут сильно ускорит работу мой скрипт. Если дойдете до этого шага - скину как пример мой знакогенератор, там все довольно просто. |
Цитата:
Пробую разобраться. Немного пишу на PHP, но с этим ещё не сталкивался. Итак спасибо за помощь. |
Цитата:
Микруха оказалась немного укуренная по управлению, но бывают гораздо более запущенные случаи. ЗЫ: Я тоже писал на PHP первые лет 6-7. Сишный код в Ардуине по синтаксису не так уж и отличается от PHP :) А битовая арифметика и массивы почти один в один. Только с обработкой строк в Си полная засада. Пробуйте, оно не кусается. Мне оно даже интереснее показалось, чем писать очередное мобильное приложение на работе :) |
Я правильно понял порядок команд?
buffer[0] = 0xE0; //Device Select buffer[1] = 0xCB; //Mode Set buffer[2] = 0xF0; //Blink |
По дорожкам определил, что задействованы 4 BACKPLANES и все 40 логических выходов PCF8576.
|
Цитата:
В принципе, изменилось только 2 последних бита в MODE SET, так как поставил режим управления 1:4. Может драйвер нерабочий? Можно как-то его проверить? |
Глупый вопрос - а данный девайс представляет собой только дисплей/кнопочки/крутилки, или мозги климата тоже там?
|
Цитата:
|
Часовой пояс GMT +4, время: 15:40. |
Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot