14.07.2014, 19:04 | #11 | |
Гуру
Регистрация: 20.07.2009
Город: Минск
Регион: Беларусь
Сообщений: 1,543
|
Цитата:
потом задавать вопросы наводящие. у меня это 2 месяца заняло, но сейчас должно быть быстрее, потому что понятно, как оно работает и есть весь код, его нужно только немного поправить
__________________
Мой проект: Citroen Xsara Android CarPC |
|
14.07.2014, 21:59 | #12 | |
Старший Пользователь
Регистрация: 31.01.2012
Возраст: 44
Город: Львов
Регион: Украина
Машина: Vito
Сообщений: 131
|
Цитата:
Ладно, буду искать того, кто разбирается.
__________________
MSI E350IA-E45, AMD Zacate E-350, RAM - 4 Gb, HDD - 120 Gb, M2-ITX, GPS - RoyalTek RGM-3600, Win7, 8" TFT |
|
15.07.2014, 01:31 | #13 | |
Гуру
Регистрация: 20.07.2009
Город: Минск
Регион: Беларусь
Сообщений: 1,543
|
Цитата:
Не видя фоток дорожек понять что-то сложно. Это была нетривиальная задача даже для меня, а я уже лет 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; Если будет показывать что-нить, то потом нужно сделать свой знакогенератор - таблицу соответствия байтов данных символам на экране. Тут сильно ускорит работу мой скрипт. Если дойдете до этого шага - скину как пример мой знакогенератор, там все довольно просто.
__________________
Мой проект: Citroen Xsara Android CarPC |
|
15.07.2014, 01:38 | #14 | |
Старший Пользователь
Регистрация: 31.01.2012
Возраст: 44
Город: Львов
Регион: Украина
Машина: Vito
Сообщений: 131
|
Цитата:
Пробую разобраться. Немного пишу на PHP, но с этим ещё не сталкивался. Итак спасибо за помощь.
__________________
MSI E350IA-E45, AMD Zacate E-350, RAM - 4 Gb, HDD - 120 Gb, M2-ITX, GPS - RoyalTek RGM-3600, Win7, 8" TFT |
|
15.07.2014, 02:10 | #15 | |
Гуру
Регистрация: 20.07.2009
Город: Минск
Регион: Беларусь
Сообщений: 1,543
|
Цитата:
Микруха оказалась немного укуренная по управлению, но бывают гораздо более запущенные случаи. ЗЫ: Я тоже писал на PHP первые лет 6-7. Сишный код в Ардуине по синтаксису не так уж и отличается от PHP А битовая арифметика и массивы почти один в один. Только с обработкой строк в Си полная засада. Пробуйте, оно не кусается. Мне оно даже интереснее показалось, чем писать очередное мобильное приложение на работе
__________________
Мой проект: Citroen Xsara Android CarPC |
|
15.07.2014, 02:20 | #16 |
Старший Пользователь
Регистрация: 31.01.2012
Возраст: 44
Город: Львов
Регион: Украина
Машина: Vito
Сообщений: 131
|
Я правильно понял порядок команд?
buffer[0] = 0xE0; //Device Select buffer[1] = 0xCB; //Mode Set buffer[2] = 0xF0; //Blink
__________________
MSI E350IA-E45, AMD Zacate E-350, RAM - 4 Gb, HDD - 120 Gb, M2-ITX, GPS - RoyalTek RGM-3600, Win7, 8" TFT Последний раз редактировалось Murkur; 16.07.2014 в 02:44. |
15.07.2014, 15:26 | #17 |
Старший Пользователь
Регистрация: 31.01.2012
Возраст: 44
Город: Львов
Регион: Украина
Машина: Vito
Сообщений: 131
|
По дорожкам определил, что задействованы 4 BACKPLANES и все 40 логических выходов PCF8576.
__________________
MSI E350IA-E45, AMD Zacate E-350, RAM - 4 Gb, HDD - 120 Gb, M2-ITX, GPS - RoyalTek RGM-3600, Win7, 8" TFT Последний раз редактировалось Murkur; 15.07.2014 в 20:40. |
16.07.2014, 03:03 | #18 | |
Старший Пользователь
Регистрация: 31.01.2012
Возраст: 44
Город: Львов
Регион: Украина
Машина: Vito
Сообщений: 131
|
Цитата:
В принципе, изменилось только 2 последних бита в MODE SET, так как поставил режим управления 1:4. Может драйвер нерабочий? Можно как-то его проверить?
__________________
MSI E350IA-E45, AMD Zacate E-350, RAM - 4 Gb, HDD - 120 Gb, M2-ITX, GPS - RoyalTek RGM-3600, Win7, 8" TFT Последний раз редактировалось Murkur; 16.07.2014 в 03:33. |
|
16.07.2014, 10:35 | #19 |
Старший Пользователь
Регистрация: 09.04.2008
Возраст: 44
Город: Одесса
Регион: Украина
Машина: Chevrolet Aveo-II LS 2008
Сообщений: 896
|
Глупый вопрос - а данный девайс представляет собой только дисплей/кнопочки/крутилки, или мозги климата тоже там?
__________________
Мой журнал: http://www.pccar.ru/showthread.php?p=79335 |
16.07.2014, 12:01 | #20 |
Старший Пользователь
Регистрация: 31.01.2012
Возраст: 44
Город: Львов
Регион: Украина
Машина: Vito
Сообщений: 131
|
Да, мозги тоже есть на плате - MC9S12DG256CPV.
__________________
MSI E350IA-E45, AMD Zacate E-350, RAM - 4 Gb, HDD - 120 Gb, M2-ITX, GPS - RoyalTek RGM-3600, Win7, 8" TFT |
Метки |
bmw, climatronic, lcd, pcf8576 |
Здесь присутствуют: 7 (пользователей: 0 , гостей: 7) | |
|
|