Странно, где написано что это версия. У меня в даташите они рекомендуют с ее помощью проверять включена или выключена CRC...
Вот расшифровка ответа моего дисплея, тут просто отброшена преамбула и размер.
Get command: 83, data: 0 F 1 1 6C
Надо полагать что версия 364......
Кстати ответ на команду 0x82 (записать) имеет на конце "0x4F 0x4B" ни что иное как "ОК". То есть сначала идет повторение команды а потом "ОК", интересно что прилетает в случае неудачи....
Версия прикладного программного обеспечения.D1 указывает версию программного обеспечения GUI, а D0 указывает версию программного обеспечения ОС DWIN. Пример инструкции: 5A A5 04 83 000F 01 Возврат: 5A A5 06 83 00 0F 01 1110 (11 - версия программного обеспечения с графическим интерфейсом, 10 Для версии программного обеспечения DWIN OS) Инструкция по применению: ① При использовании терминала дисплея время запуска системы управления и терминала дисплея несовместимо (в зависимости от мощности источника питания пользователя) Количество и скорость включения питания), чтобы гарантировать, что терминал отображения данных, отправленный системой управления в начале, может правильно принимать и выполнять соответствующие Функции и команды, вам необходимо подтвердить, находится ли терминал дисплея в нормальном режиме. Инструкции для подтверждения; ② В процессе отладки, если вам необходимо узнать правильность версии и конфигурации системы, вы также можете отправить эту инструкцию, чтобы прочитать ее. ③ Отправка и ответ на эту инструкцию часто используются, чтобы проверить, является ли связь между последовательным портом компьютера и последовательным экраном нормальной.
попадался как-то у знакомого косяк лишних не изветных байтов в конце посылки от некстион ителлигент (в него ардуинка пуляля норм, а вот обратно с него иногда фигня прилетала) , решил что из-за програмного uart (softserial) ардуинки , т.к. при переводе на аппаратный uart , проблема исчезла. Возможно это из-за кода программы, разбираться было некогда.
Еще при большом дисплее 7" 10", и длинном тонком проводе на него , на минусовом проводе может осесть 0.1в и больше (ток 0.5-0.7А) , в итоге rx tx получит смещение. Полезно еще бывало на такие диспы поставить кондёр 1000мкф на сам дисплей, при уже укороченном минусовом проводе.
Версия прикладного программного обеспечения.D1 указывает версию программного обеспечения GUI, а D0 указывает версию программного обеспечения ОС DWIN.
Пример инструкции: 5A A5 04 83 000F 01 Возврат: 5A A5 06 83 00 0F 01 1110 (11 - версия программного обеспечения с графическим интерфейсом, 10 Для версии программного обеспечения DWIN OS)
DMT10600T070_A2WT , мне казалось я уже где то писал. У него на выходе аналог MAX3232 (HU3232)... Постоянно выгорает, нонсенс какой то.... Уже штук пять поменял.
согласно табличкам на первой странице DMT10600T070_A2W , относится к последней , самой навороченной платформе T5UID3 . T5UID3 - это программная платформа DGUS II
там 0x83 это просто считывание оперативной памяти SRAM .
0x83 Send: Start Address of SRAM (0x0000-0xFFFF) + Data Length to Read (0x01-0x7D) Read data form SRAM. Answer: Start Address of SRAM + Data Length (word) + Data
0x82 запись . можете попробовать записать в туже 000F ячейку , и потом прочесть от туда.
А вот DEVICE_ID должен находится в 0x00 , а версия ПО в 0x0F
3 System Variable Interface Data with same background color in table need to be update at the same time. VP Definition Length (Word) Description 0x00 Device_ID 4 T5 CPU ID, each T5 CPU has a unique ID.
0x04 System_Reset 2 0x55AA 5AA5=Reset T5; 0x55AA 5A5A=Reset system (including /RST_OUT pin output).
0x06 OS_Update_CMD 2 D3: write 0x5A to enable DWIN OS once (write into 1MB Nor Flash), clear after operation.
D2: Fixed at 0x10. DWIN OS program must start from 0x1000.
D1:0: Start address of SRAM to save program to update, it must be even.
0x08 NOR_FLASH_RW _CMD 4 D7: Mode. 0x5A=read 0xA5=write, clear after operation.
D6:4: Start address of Nor Flash. Must be even. 0x000000-0x02:7FFE, 160KWords.
D3:2: Start address of SRAM. Must be even.
D1:0: Data length to read/write. Must be even. (Unit: word)
0x0C Reserved 3
0x0F Ver 1 Application software version. D1: GUI version,
D0: DWIN OS version .....
DMT10600T070_A2WT , мне казалось я уже где то писал. У него на выходе аналог MAX3232 (HU3232)... Постоянно выгорает, нонсенс какой то.... Уже штук пять поменял.
да версия под DGUS, все команды идентичны с моими дисплеями на Т5L
а Вы через какой порт (на плате) с дисплеем общаетесь?
у меня экраны TA , DGUSL нифига не отвечают на всякие "рукопожатия" (разве что при нажатии на тач в некоторых проектах, прилетают команды от дисплеев) , подозреваю что много им скармливал всяких проектов , а там в проектах были свои *.BIN *.CFG , они стерли заводскую возможность отвечать. м.б. им надо как-то скормить заводские прошивки ядро Kernel *.BIN , на быструю руку пока не помогло. ch340 пробовал менять на cp2102 . http://www.dwin.com.cn/service/en/file/id/31http://www.dwin.com.cn/service/en/file/id/27
а DGUS2 на 5A A5 04 83 000F 01 отвечает 5A A5 06 83 00 0F 01 23 21
на 5A A5 0F 82 5440 000100010168 0168F800 FF00 отвечает 5A A5 03 82 4F 4B (в ASCII - Z¥‚OK ) , но точку на экране не рисует
Это может быть вызвано частотой ошибок по битам. Рекомендуется калибровать последовательный порт. Шаги калибровки следующие:
Возьмите T5UID1 в качестве примера. Обратитесь к таблице конфигурации операций ниже.
Шаг 1. Настройте файл T5UID1.CFG, как показано ниже.
Найдите файл T5UID1.CFG в DWIN_SET (если вы не можете связаться со службой поддержки), используйте программное обеспечение UE, чтобы открыть редактор.
Дважды щелкните в первом ряду столбца 6 \ 7 и выберите клавиатуру для ввода и заполните 5A A5. Сохраните и скопируйте на SD-карту DWIN_SET.
Шаг 2. Включите экран и используйте sscom32 для отправки 30 0X55, как показано ниже.
После включения экрана проверьте связь, когда экран светится. Когда связь нормальная, настройте SSCOM32, как показано ниже.
Примечание: Тестовая связь T5 может отправлять 5A A5 04 83 000F 01, ответ 5A A5 06 83 000F 01 14 13. Среди них переменный адрес 0X0000F - это хранение номера версии системы и номера версии ОС. Версия ядра экрана с 14 пальцами - V14, а 13 относится к версии операционной системы V13.
На третьем этапе последовательный порт непрерывно отправляется на экран, и на экране будет отображаться следующее изображение.
Нарисуйте два круга 5a a5 17 82 0300 0005 0002 A0 78 0065 F800 A0 78 0022 f800 Вот нарисованные концентрические круги.
Обратите внимание, что толщина круга не может быть увеличена, его можно нарисовать, только рисуя несколько круговых радиусов непосредственно с интервалами и наблюдая за тем, как эффект толще.
Заливка 5a a5 0d 82 0400 0008 0001 A0 78 F800 Заполните центр круга цветом заливки. Обратите внимание на цвет базовой карты. Если вы хотите нарисовать кружок заливки, вам нужно создать две базовые графики, одну для первой базовой графики, а вторую Заполнить.
Я тоже сначала подумал, что точки не рисует, а потом оказалось что просто они очень мелкие. Нарисуйте белым на черном фоне, будет заметнее.
С неответами не все так однозначно. У меня на выходе не CH340, а мах3232. Питание дисплея устроено по китайски. Короче если включаю дисплей с воткнутым кабелем RS232 от компа, то ТХ просажен, а если вынуть кабель а потом вставить , то все устаканивается. Пришлось резисторы воткнуть в линии RX TX, а то вообще максы горели. Короче похоже , что емкости в обвесе MAX3232 стоят кривые, маленькие.
Заливка 5a a5 0d 82 0400 0008 0001 A0 78 F800 Заполните центр круга цветом заливки. Обратите внимание на цвет базовой карты. Если вы хотите нарисовать кружок заливки, вам нужно создать две базовые графики, одну для первой базовой графики, а вторую Заполнить.
Вот этого я не нашел по ссылке... Но пакет составлен не правильно.... Тут либо не хватает двух байт, либо размер рассчитан не правильно.
Должно быть либо :
5a a5 0B 82 0400 0008 0001 A0 78 F800
либо:
5a a5 0d 82 0400 0008 0001 A0 78 F800 XXXX
И еще один, не понятный мне момент, если я рисую например первой посылкой три окружности, а потом пытаюсь добавить еще что то, это что то стирает то что нарисовано ранее. То есть нарисовать окружность и прямую в "Basic graphics" у меня не получается.
И еще один, не понятный мне момент, если я рисую например первой посылкой три окружности, а потом пытаюсь добавить еще что то, это что то стирает то что нарисовано ранее. То есть нарисовать окружность и прямую в "Basic graphics" у меня не получается.
простите, а для чего мучаться с базовой графикой? работа дисплея заточена на картинки ими и надо все отображать.
я никак не могу разобраться как считать кол-во отправляемых байт может подскажите?
вот пример отправки переменной типа int
5A A5 05 82 10 06 00 01
5A A5 заголовок
05 кол-во
82 команда записи
1006 номер регистра переменной
00 01 данные (1 в данном случае)
Дык это... Очень просто, кстати в руководстве написано. Начиная с признака записи, в этом случае 0x82, включая его и до конца, количество. Если есть контрольная сумма, то и она - два байта. То есть считается вся длина пакета, из нее вычитается 3 байта.
А графика мне в данном случае нужна... Вот представьте эскаватор, мне нужно нарисовать его в работе, у него изменяются углы сегментов стрелы. Наверное можно нарисовать куски стрелы в джипеге с прозрачным фоном и из них уже строить. Но математика , лично мне кажется более сложной, чем повернуть массив точек. Дисплей же крутит иконку относительно центра, а мне нужно крутить относительно определенной точки.
Ваша ссылка , почему то не открылась.
Кстати, судя по описанию в регистры нужно писать директивой 80, а 82 пишет в память.
А графика мне в данном случае нужна... Вот представьте эскаватор, мне нужно нарисовать его в работе, у него изменяются углы сегментов стрелы. Наверное можно нарисовать куски стрелы в джипеге с прозрачным фоном и из них уже строить. Но математика , лично мне кажется более сложной, чем повернуть массив точек. Дисплей же крутит иконку относительно центра, а мне нужно крутить относительно определенной точки.
Ваша ссылка , почему то не открылась.
Кстати, судя по описанию в регистры нужно писать директивой 80, а 82 пишет в память.
спасибо за подсказку, видимо я плохо даташит курил:))
картинку дисплей крутит от указанного центра а не от центра изображения.
центр в переменной можно менять,
хотя считать положения центров все равно придется, два сочленения еще ничего, а вот 3 да с выдвижением сегиента...
Пока никак не могу добраться до свойств объектов. Например не понимаю как изменять в процессе работы координаты объекта.... И найти в мануалах пока не получается. Точнее то что написано в мануалах у меня не работает:( Где бы пример нарыть.
А ведь получается, что доступа в координатам объекта на экране нет !!! То есть у DGUS нельзя двигать по экрану, кнопку, например. Если у некшна можно динамически изменять все параметры элемента, то тут ТОЛЬКО ОДИН, тот для которого этот элемент предназначен. Например у Icon Rotation можно изменить ТОЛЬКО угол. Так блин , с точки зрения юзабилити это дерьмо, а не инструментальный дисплей. Все ясно, цена адекватна. С моей точки зрения, по возможности, при выборе следует остановится на NEXTION.
Только вот я нихрена не понимаю, зачем все свойства так подробно пронумерованы в таблицах и зачем указана их размерность. Что бы ввести в заблуждение покупателя ?
Возможно поспешил с выводом, в описании написано, что можно изменять, но в моей версии дисплея этого не получается.
А ведь получается, что доступа в координатам объекта на экране нет !!! То есть у DGUS нельзя двигать по экрану, кнопку, например. Если у некшна можно динамически изменять все параметры элемента, то тут ТОЛЬКО ОДИН, тот для которого этот элемент предназначен. Например у Icon Rotation можно изменить ТОЛЬКО угол. Так блин , с точки зрения юзабилити это дерьмо, а не инструментальный дисплей. Все ясно, цена адекватна. С моей точки зрения, по возможности, при выборе следует остановится на NEXTION.
Только вот я нихрена не понимаю, зачем все свойства так подробно пронумерованы в таблицах и зачем указана их размерность. Что бы ввести в заблуждение покупателя ?
Возможно поспешил с выводом, в описании написано, что можно изменять, но в моей версии дисплея этого не получается.
все там можно делать, и перемещать, и включать отключать изображение
надо только разобраться.
делается следующим образом (на примере вращающийся иконки) -
размещаем иконку, привязываем ее в переменной VP 1001 - тут будут данные на какой угол крутить.
также привязываем ее к переменной SP 5000 - тут будут ее свойства на экране дисплея (положение размер цвет итд)
затем смотрим таблицу свойств и команд для данного объекта, в соответствии с ней шлем команды что хотим сделать, например сместить по оси Y - 5A A5 05 82 5005 0064 / иконка сместиться на координату 100 по оси Y
сместить по оси X - 5A A5 05 82 5004 0064 / иконка сместиться на координату 100 по оси X
затем смотрим таблицу свойств и команд для данного объекта, в соответствии с ней шлем команды что хотим сделать, например сместить по оси Y - 5A A5 05 82 5005 0064 / иконка сместиться на координату 100 по оси Y
сместить по оси X - 5A A5 05 82 5004 0064 / иконка сместиться на координату 100 по оси X
Вы это в теории говорите или проверяли ?
C моим дисплеем ситуация следующая. Если я обращаюсь непосредственно к свойству, в вашем примере по адресу 5004, то у меня дисплей эту команду не выполняет, хотя пишет ОК. А вот если я правлю блок, который начинается с адреса SP тогда свойства меняются :) То есть для смены одного параметра нужно передать пакет содержащий все предыдущие.
Nik_an, опять помогли, спасибо, обзац выше пофиксил благодаря вам:)
Кроме того если я читаю свойства , то могу запросит данные с 5000 или 5001 или 5002 и так до 0x5020 , и получу одно и тоже :) тот же пакет свойств. Как будто дисплей имеет один порт в диапазоне адресов от 5000 до 5020. Это просто выносило мозг. Точно так же происходит и с записью... Видимо ошибка в прошивке дисплея.
Пока пишу библиотеку для удобной работы с дисплеем. Если у кого есть желание, то может помочь, а я потом поделюсь, но не гарантирую что все доделаю до конца. На данный момент нужны свойства объектов в таком виде :
А как же без ответов то ? Тогда смысла нет. Только давайте это считать не библиотекой, а заготовкой для нее :) А то мне стыдно будет.
А кодить ничего и не нужно. Нужен список свойств объекта, в порядке как в описании на дисплей. Просто я туда добавлю только те элементы которые буду юзать.
Что то наверное делаю не так. Ставлю галку "Data auto upload", а в порт ничего не прилетает.... В чем мой косяк ?
И что то я совсем запутался с SP и VP адресами. У визуальных объектов всегда есть SP, но может не быть VP.
Если читаем по SP адресу, то получаем доступ к свойства компонента (размер, координаты, настройки). Если читаем с VP, то получаем доступ к "основным свойствам", у вращающейся иконки это угол, у data variables - значение которые она в себе содержит. Если VP нет, то и изменяемых (оперативных) данных у объекта нет.
А вот с компонентами ввода , не понимаю. У них нет SP, как же мне получить доступ к из параметрам (размерам расположении) ? Блин, как тяжела китайская мысль и логика.....
>А вот с компонентами ввода , не понимаю. У них нет SP, как же мне получить доступ к из параметрам (размерам расположении) ? Блин, как тяжела китайская мысль и логика.....
тож не смог разобраться, написал на китайском форуме вопрос, там есть админ от DWIN, может ответит чего путного
тож не смог разобраться, написал на китайском форуме вопрос, там есть админ от DWIN, может ответит чего путного
Как вы это делаете !? Знаете китайский ?
Кстати, мне так и не удалось получить автоответа ни от какого компонента при изменении данных с экрана. Может эта опция имеет какой то глобальный выключатель ?
тож не смог разобраться, написал на китайском форуме вопрос, там есть админ от DWIN, может ответит чего путного
Как вы это делаете !? Знаете китайский ?
Кстати, мне так и не удалось получить автоответа ни от какого компонента при изменении данных с экрана. Может эта опция имеет какой то глобальный выключатель ?
гугл переводчик очень не плох с китайским.
автоответ прилетать должен сразу, если галка установлена, по крайней мере у меня на обоих дисплеях так.
может имеет смысл ядро перезаписать? как то не понятно он себя ведет
Доступ к интерфейсу доступа к команде касания, определенному в переменном пространстве 0x00B0, через последовательный порт или ОС DWIN, который может динамически открывать, закрывать или изменять указанное касание
Если это экран серии T5 или T5L, вы можете использовать команду 0XB0 для управления закрытием одного сенсорного файла.Пример: 5A A5 0B 82 00B0 5AA5 0001 09 05 0000 (Закройте девятый файл касания на странице 0001, значение клавиши возвращает код клавиши 05, 0000, чтобы закрыть касание)
Спасибо из первой половины вопроса, по ссылке, по 3 пункту у меня в конфигурации оно отключено. Но у меня IDE этого дисплея просит сохранить конфиг файл с изменениями, а создавать его не хочет. Как сделать этот *.CFG . И как скормить его дисплею ?
А вот про второй половине ответа нифига не понял :( Что это значит... ?
Спасибо из первой половины вопроса, по ссылке, по 3 пункту у меня в конфигурации оно отключено. Но у меня IDE этого дисплея просит сохранить конфиг файл с изменениями, а создавать его не хочет. Как сделать этот *.CFG . И как скормить его дисплею ?
А вот про второй половине ответа нифига не понял :( Что это значит... ?
по первой можно взять готовый конфиг, и подправить в редакторе необходимые байты.
по второй это пример управлением сенсорными кнопками
Вот посылка приведенная в нормальное состояние, должна работать так же как ваша. Просто дисплей все что находится после пакета игнорирует, туда можно пихать все что угодно.
На всякий случай конфиг с включенным возвратом данных , название должно быть как я писал выше.
Ковыряя форум по ссылке выше понял как определить нумерацию тач компонентов на странице. В окошке слева,внизу жмакаем на "Controls view", в выпадающем списке выбираем "Touch", видим нумерованный список, где слева порядковый номер, справа название тач компонента. Номер слева и есть номер компонента. Компоненты можно передвигать в списке с помощью кнопок вверху окна, при перемещении компонента, меняется его номер.
С удивлением обнаружил, что не все тач компоненты доступны для онлайн редактирования. Мало того они не учитываются в нумерации. Например Basic Touch. Их параметры не возможно считать или записать. Их нельзя выключить или включить. В списке "Control view" слева они видны, но если хотя бы один находится не в конце, а в середине или начале списка, то нумерация в этом окне , не соответствуют реальной нумерации, которая используется для доступа к свойствам компонента в онлайн режиме.
Кому интересно, вышла новая версия ПО v8 которое они используют в своих видео http://dwin.com.cn/service/en/file/id/29 файл Development tool: For T5L_DGUS II Platform. После распаковки в файле Config\Language\Lang.ini прописать language=English.
Но я никак не могу найти примеры программ, которые они в своих новых видео показывают((
Кому интересно, вышла новая версия ПО v8 которое они используют в своих видео http://dwin.com.cn/service/en/file/id/29 файл Development tool: For T5L_DGUS II Platform. После распаковки в файле Config\Language\Lang.ini прописать language=English.
Но я никак не могу найти примеры программ, которые они в своих новых видео показывают((
чей то не впечатлила, предыдущая на мой взгляд удобнее была.
А у меня другое впечатление. Эта более удобная. Интуитивнее. Подставляет редактор икон файлов, когда это нужно. Позволяет генерить конфиг файлы с выбором формата. Предыдущая вообще T5UID2...3 не поддерживала. В этой версии есть пояснения параметров, в отсутствии вменяемых мануалов, вполне себе подспорье. Ну а если говорить про окошко параметров, то этот дизайн более современный, хотя и может создаться впечатление, что он менее удобный.
И я что то опять туплю... :( Как сгенерить ICL файл ? Похоже в новой версии китайцы забыли кнопку "сгенерить ICL" .
А, тогда, как именно мы можем тебе помочь. Ты конкретнее скажи, чего нужно то ?
Есть два пути, установить галку в проекте (что то типа "auto send"), при этом правильно настроить конфиг дисплея. Второй - постоянно опрашивать память которая связана с изменяемыми данными.
Всё оказалось сложнее, чем кажется. Из-за того, что при записи инфы в ячейку VP в ответ приходит код подтверждения, буфер сериала забит этим мусором. Выцыпать нужную инфу при чтении другой ячейки не получается.
То есть, допустим, если я в Loop записываю в VP 1002, VP 1003, VP 1004, а потом пытаюсь считать из VP 1101, то в буфере уже хрен знает что творится.
Всё там есть. Запускаете DGUS Tool V7.597, создаёте или открываете свой проект, и в самом верху выбираете вкладку Setting(крайняя справа). Там выбираете среднюю вкладку "DGUS" Откроется окно приложений как на вашем видео. Левая вкладка на нём и будет "ICL Tool".
Нет не менял. Ок, а что тогда делает команда 5A A5 4 83 0 F 1 ?
Нет не менял. Ок, а что тогда делает команда 5A A5 4 83 0 F 1 ?
ну тогда и crc не надо считать
вернет версию прошивки дисплея, также китайци рекомендуют ее использовать как рукопожатие ( не обязательно ее делать)
http://www.dwin.com.cn/service/ch/file/id/27 Вот этот файл нужен T5L DGUSII 应用开发指南190906
应用软件版本。D1 表示GUI 软件版本,D0 表示DWIN OS 软件版本。
指令示例:
5A A5 04 83 000F 01 返回:5A A5 06 83 00 0F 01 1110 (11 为GUI 软件版本版本,10
为DWIN OS 软件版本)
指令应用:
①在使用显示终端时候,由于控制系统、显示终端启动时间不一致(取决于用户的电源容
量和上电速率),为确保控制系统一开始发送的数据显示终端能正确接收到并执行相对应
的的功能及命令,故需要确认显示终端是否已经处于正常运行状态,用户可以通过本条
指令来确认;
②在调试的过程中需要知道系统的版本、配置等是否正确时,也可以发送本条指令读取。
③本条指令的发送和应答也经常用来验证电脑串口和串口屏之间的通讯是否正常。
Версия прикладного программного обеспечения. D1 указывает версию программного обеспечения GUI, а D0 указывает версию программного обеспечения ОС DWIN.
Пример инструкции:
5A A5 04 83 000F 01 Возврат: 5A A5 06 83 00 0F 01 1110 (11 - версия программного обеспечения с графическим интерфейсом, 10
Для версии программного обеспечения DWIN OS)
Инструкция по применению:
① При использовании терминала дисплея время запуска системы управления и терминала дисплея несовместимо (в зависимости от мощности источника питания пользователя)
Количество и скорость включения питания), чтобы гарантировать, что терминал отображения данных, отправленный системой управления в начале, может правильно принимать и выполнять соответствующие
Функции и команды, вам необходимо подтвердить, находится ли терминал дисплея в нормальном режиме.
Инструкции для подтверждения;
② В процессе отладки, если вам необходимо узнать правильность версии и конфигурации системы, вы также можете отправить эту инструкцию, чтобы прочитать ее.
③ Отправка и ответ на эту инструкцию часто используются, чтобы проверить, является ли связь между последовательным портом компьютера и последовательным экраном нормальной.
попадался как-то у знакомого косяк лишних не изветных байтов в конце посылки от некстион ителлигент (в него ардуинка пуляля норм, а вот обратно с него иногда фигня прилетала) , решил что из-за програмного uart (softserial) ардуинки , т.к. при переводе на аппаратный uart , проблема исчезла. Возможно это из-за кода программы, разбираться было некогда.
Еще при большом дисплее 7" 10", и длинном тонком проводе на него , на минусовом проводе может осесть 0.1в и больше (ток 0.5-0.7А) , в итоге rx tx получит смещение. Полезно еще бывало на такие диспы поставить кондёр 1000мкф на сам дисплей, при уже укороченном минусовом проводе.
Версия прикладного программного обеспечения. D1 указывает версию программного обеспечения GUI, а D0 указывает версию программного обеспечения ОС DWIN.
Пример инструкции:
5A A5 04 83 000F 01 Возврат: 5A A5 06 83 00 0F 01 1110 (11 - версия программного обеспечения с графическим интерфейсом, 10
Для версии программного обеспечения DWIN OS)
Ну а у меня дисплей отвечает 1 6С :)
Ну а у меня дисплей отвечает 1 6С :)
мне кажется вам надо озвучить модель дисплея с которым работаете, может мы о разных говорим
DMT10600T070_A2WT , мне казалось я уже где то писал. У него на выходе аналог MAX3232 (HU3232)... Постоянно выгорает, нонсенс какой то.... Уже штук пять поменял.
согласно табличкам на первой странице DMT10600T070_A2W , относится к последней , самой навороченной платформе T5UID3 . T5UID3 - это программная платформа DGUS II
если на http://www.dwin.com.cn/service/en/file забить в поиск T5UID3 , он дает скачать
там 0x83 это просто считывание оперативной памяти SRAM .
0x83 Send: Start Address of SRAM (0x0000-0xFFFF) + Data Length to Read (0x01-0x7D) Read data form SRAM. Answer: Start Address of SRAM + Data Length (word) + Data
0x82 запись . можете попробовать записать в туже 000F ячейку , и потом прочесть от туда.
А вот DEVICE_ID должен находится в 0x00 , а версия ПО в 0x0F
3 System Variable Interface Data with same background color in table need to be update at the same time.
VP Definition Length (Word) Description
0x00 Device_ID 4 T5 CPU ID, each T5 CPU has a unique ID.
0x04 System_Reset 2 0x55AA 5AA5=Reset T5; 0x55AA 5A5A=Reset system (including /RST_OUT pin output).
0x06 OS_Update_CMD 2 D3: write 0x5A to enable DWIN OS once (write into 1MB Nor Flash), clear after operation.
D2: Fixed at 0x10. DWIN OS program must start from 0x1000.
D1:0: Start address of SRAM to save program to update, it must be even.
0x08 NOR_FLASH_RW _CMD 4 D7: Mode. 0x5A=read 0xA5=write, clear after operation.
D6:4: Start address of Nor Flash. Must be even. 0x000000-0x02:7FFE, 160KWords.
D3:2: Start address of SRAM. Must be even.
D1:0: Data length to read/write. Must be even. (Unit: word)
0x0C Reserved 3
0x0F Ver 1 Application software version. D1: GUI version,
D0: DWIN OS version
.....
//т.к. это не проверял , возможно ошибаюсь
В этот "документ" давно смотрю, очень содержательно.... А вот что , например вот это означает - не понимаю
0x21_01 Draw_Dot User define Dot set(x, y, color), вроде по русски написано, типа точку нарисовать, а что такое 0x21_01 ?
DMT10600T070_A2WT , мне казалось я уже где то писал. У него на выходе аналог MAX3232 (HU3232)... Постоянно выгорает, нонсенс какой то.... Уже штук пять поменял.
да версия под DGUS, все команды идентичны с моими дисплеями на Т5L
а Вы через какой порт (на плате) с дисплеем общаетесь?
В этот "документ" давно смотрю, очень содержательно.... А вот что , например вот это означает - не понимаю
0x21_01 Draw_Dot User define Dot set(x, y, color), вроде по русски написано, типа точку нарисовать, а что такое 0x21_01 ?
так там же в примерах все расписано
7.4.2.3 基本图形应用指令举例
7.4.2.3.1 置点
显示一个红色点
5A A5 0F 82 5440 000100010168 0168F800 FF00
含义:0x5A A5帧头;0x0D数据长度;0x82写指令;0x5440变量地址;
0x 0001:画点;
0x 0001:点个数;
0x 0168:0168(360,360)坐标;
0x F800:颜色值;
0xFF00绘图操作结束。
7.4.2.3 Примеры основных инструкций по применению графики
7.4.2.3.1 Уставка
Показать красную точку
5A A5 0F 82 5440 000100010168 0168F800 FF00
Значение: 0x5A заголовок кадра A5; длина данных 0x0D; инструкция записи 0x82; адрес переменной 0x5440;
0x 0001: рисовать точки;
0x 0001: количество баллов;
0x 0168: 0168 (360 360) координаты;
0x F800: значение цвета;
0xFF00 Операция рисования заканчивается.
у меня экраны TA , DGUSL нифига не отвечают на всякие "рукопожатия" (разве что при нажатии на тач в некоторых проектах, прилетают команды от дисплеев) , подозреваю что много им скармливал всяких проектов , а там в проектах были свои *.BIN *.CFG , они стерли заводскую возможность отвечать. м.б. им надо как-то скормить заводские прошивки ядро Kernel *.BIN , на быструю руку пока не помогло. ch340 пробовал менять на cp2102 . http://www.dwin.com.cn/service/en/file/id/31 http://www.dwin.com.cn/service/en/file/id/27
а DGUS2 на 5A A5 04 83 000F 01 отвечает 5A A5 06 83 00 0F 01 23 21
на 5A A5 0F 82 5440 000100010168 0168F800 FF00 отвечает 5A A5 03 82 4F 4B (в ASCII - Z¥‚OK ) , но точку на экране не рисует
нашел фак , там по поводу ответа на 5A A5 04 83 000F 01 :
http://bbs.elecfans.com/jishu_1729571_1_1.html
// здесь https://blog.csdn.net/wangkeyen/article/details/79455889 много примеров
Прямоугольник 5a a5 11 82 0300 0003 0001 002C 0038 0094 7E F800
Прямоугольник заполнения 5а а5 11 82 0300 0004 0001 002С 0038 0094 7E F800
Нарисуйте круг 5a a5 0F 82 0300 0005 0001 A0 78 0040 F800
Нарисуйте два круга 5a a5 17 82 0300 0005 0002 A0 78 0065 F800 A0 78 0022 f800 Вот нарисованные концентрические круги.
Обратите внимание, что толщина круга не может быть увеличена, его можно нарисовать, только рисуя несколько круговых радиусов непосредственно с интервалами и наблюдая за тем, как эффект толще.
Заливка 5a a5 0d 82 0400 0008 0001 A0 78 F800 Заполните центр круга цветом заливки. Обратите внимание на цвет базовой карты. Если вы хотите нарисовать кружок заливки, вам нужно создать две базовые графики, одну для первой базовой графики, а вторую Заполнить.
С графикой я разобрался. С "неответами", тоже.
Я тоже сначала подумал, что точки не рисует, а потом оказалось что просто они очень мелкие. Нарисуйте белым на черном фоне, будет заметнее.
С неответами не все так однозначно. У меня на выходе не CH340, а мах3232. Питание дисплея устроено по китайски. Короче если включаю дисплей с воткнутым кабелем RS232 от компа, то ТХ просажен, а если вынуть кабель а потом вставить , то все устаканивается. Пришлось резисторы воткнуть в линии RX TX, а то вообще максы горели. Короче похоже , что емкости в обвесе MAX3232 стоят кривые, маленькие.
Заливка 5a a5 0d 82 0400 0008 0001 A0 78 F800 Заполните центр круга цветом заливки. Обратите внимание на цвет базовой карты. Если вы хотите нарисовать кружок заливки, вам нужно создать две базовые графики, одну для первой базовой графики, а вторую Заполнить.
Вот этого я не нашел по ссылке... Но пакет составлен не правильно.... Тут либо не хватает двух байт, либо размер рассчитан не правильно.
Должно быть либо :
5a a5 0B 82 0400 0008 0001 A0 78 F800
либо:
5a a5 0d 82 0400 0008 0001 A0 78 F800 XXXX
И еще один, не понятный мне момент, если я рисую например первой посылкой три окружности, а потом пытаюсь добавить еще что то, это что то стирает то что нарисовано ранее. То есть нарисовать окружность и прямую в "Basic graphics" у меня не получается.
И еще один, не понятный мне момент, если я рисую например первой посылкой три окружности, а потом пытаюсь добавить еще что то, это что то стирает то что нарисовано ранее. То есть нарисовать окружность и прямую в "Basic graphics" у меня не получается.
простите, а для чего мучаться с базовой графикой? работа дисплея заточена на картинки ими и надо все отображать.
https://www.youtube.com/watch?v=ln1kmNDv6go - это все смена картинок
я никак не могу разобраться как считать кол-во отправляемых байт может подскажите?
вот пример отправки переменной типа int
5A A5 05 82 10 06 00 01
5A A5 заголовок
05 кол-во
82 команда записи
1006 номер регистра переменной
00 01 данные (1 в данном случае)
я никак не могу разобраться как считать кол-во отправляемых байт может подскажите?
вот пример отправки переменной типа int
5A A5 05 82 10 06 00 01
5A A5 заголовок
05 кол-во
82 команда записи
1006 номер регистра переменной
00 01 данные (1 в данном случае)
Дык это... Очень просто, кстати в руководстве написано. Начиная с признака записи, в этом случае 0x82, включая его и до конца, количество. Если есть контрольная сумма, то и она - два байта. То есть считается вся длина пакета, из нее вычитается 3 байта.
А графика мне в данном случае нужна... Вот представьте эскаватор, мне нужно нарисовать его в работе, у него изменяются углы сегментов стрелы. Наверное можно нарисовать куски стрелы в джипеге с прозрачным фоном и из них уже строить. Но математика , лично мне кажется более сложной, чем повернуть массив точек. Дисплей же крутит иконку относительно центра, а мне нужно крутить относительно определенной точки.
Ваша ссылка , почему то не открылась.
Кстати, судя по описанию в регистры нужно писать директивой 80, а 82 пишет в память.
А графика мне в данном случае нужна... Вот представьте эскаватор, мне нужно нарисовать его в работе, у него изменяются углы сегментов стрелы. Наверное можно нарисовать куски стрелы в джипеге с прозрачным фоном и из них уже строить. Но математика , лично мне кажется более сложной, чем повернуть массив точек. Дисплей же крутит иконку относительно центра, а мне нужно крутить относительно определенной точки.
Ваша ссылка , почему то не открылась.
Кстати, судя по описанию в регистры нужно писать директивой 80, а 82 пишет в память.
спасибо за подсказку, видимо я плохо даташит курил:))
картинку дисплей крутит от указанного центра а не от центра изображения.
центр в переменной можно менять,
хотя считать положения центров все равно придется, два сочленения еще ничего, а вот 3 да с выдвижением сегиента...
Пока никак не могу добраться до свойств объектов. Например не понимаю как изменять в процессе работы координаты объекта.... И найти в мануалах пока не получается. Точнее то что написано в мануалах у меня не работает:( Где бы пример нарыть.
А ведь получается, что доступа в координатам объекта на экране нет !!! То есть у DGUS нельзя двигать по экрану, кнопку, например. Если у некшна можно динамически изменять все параметры элемента, то тут ТОЛЬКО ОДИН, тот для которого этот элемент предназначен. Например у Icon Rotation можно изменить ТОЛЬКО угол. Так блин , с точки зрения юзабилити это дерьмо, а не инструментальный дисплей. Все ясно, цена адекватна. С моей точки зрения, по возможности, при выборе следует остановится на NEXTION.
Только вот я нихрена не понимаю, зачем все свойства так подробно пронумерованы в таблицах и зачем указана их размерность. Что бы ввести в заблуждение покупателя ?
Возможно поспешил с выводом, в описании написано, что можно изменять, но в моей версии дисплея этого не получается.
А ведь получается, что доступа в координатам объекта на экране нет !!! То есть у DGUS нельзя двигать по экрану, кнопку, например. Если у некшна можно динамически изменять все параметры элемента, то тут ТОЛЬКО ОДИН, тот для которого этот элемент предназначен. Например у Icon Rotation можно изменить ТОЛЬКО угол. Так блин , с точки зрения юзабилити это дерьмо, а не инструментальный дисплей. Все ясно, цена адекватна. С моей точки зрения, по возможности, при выборе следует остановится на NEXTION.
Только вот я нихрена не понимаю, зачем все свойства так подробно пронумерованы в таблицах и зачем указана их размерность. Что бы ввести в заблуждение покупателя ?
Возможно поспешил с выводом, в описании написано, что можно изменять, но в моей версии дисплея этого не получается.
все там можно делать, и перемещать, и включать отключать изображение
надо только разобраться.
делается следующим образом (на примере вращающийся иконки) -
размещаем иконку, привязываем ее в переменной VP 1001 - тут будут данные на какой угол крутить.
также привязываем ее к переменной SP 5000 - тут будут ее свойства на экране дисплея (положение размер цвет итд)
затем смотрим таблицу свойств и команд для данного объекта, в соответствии с ней шлем команды что хотим сделать, например сместить по оси Y - 5A A5 05 82 5005 0064 / иконка сместиться на координату 100 по оси Y
сместить по оси X - 5A A5 05 82 5004 0064 / иконка сместиться на координату 100 по оси X
затем смотрим таблицу свойств и команд для данного объекта, в соответствии с ней шлем команды что хотим сделать, например сместить по оси Y - 5A A5 05 82 5005 0064 / иконка сместиться на координату 100 по оси Y
сместить по оси X - 5A A5 05 82 5004 0064 / иконка сместиться на координату 100 по оси X
Вы это в теории говорите или проверяли ?
C моим дисплеем ситуация следующая. Если я обращаюсь непосредственно к свойству, в вашем примере по адресу 5004, то у меня дисплей эту команду не выполняет, хотя пишет ОК. А вот если я правлю блок, который начинается с адреса SP тогда свойства меняются :) То есть для смены одного параметра нужно передать пакет содержащий все предыдущие.
Nik_an, опять помогли, спасибо, обзац выше пофиксил благодаря вам:)
Кроме того если я читаю свойства , то могу запросит данные с 5000 или 5001 или 5002 и так до 0x5020 , и получу одно и тоже :) тот же пакет свойств. Как будто дисплей имеет один порт в диапазоне адресов от 5000 до 5020. Это просто выносило мозг. Точно так же происходит и с записью... Видимо ошибка в прошивке дисплея.
Пока пишу библиотеку для удобной работы с дисплеем. Если у кого есть желание, то может помочь, а я потом поделюсь, но не гарантирую что все доделаю до конца. На данный момент нужны свойства объектов в таком виде :
Сам я точно все объекты окучивать не буду, лениво. Да и важно у меня DGUSII, для других делать не планирую ибо цели слабать библиотеку не имею.
>Вы это в теории говорите или проверяли ?
конечно проверял:) - со звуком не очень получилось, но все понятно. - www.youtube.com/watch?v=LIrVLaQAMDA
> Пока пишу библиотеку для удобной работы с дисплеем. Если у кого есть желание, то может помочь,
с этим у меня швах, из меня кодер как их свиньи светская дама:(
по железу всегда пожалуйста.
а в библиотеке не предвидится обработка ответов от дисплея?
у меня на подходе дисплей на T5UID2 очень близкий к вашему, придет его тоже поковыряю
А как же без ответов то ? Тогда смысла нет. Только давайте это считать не библиотекой, а заготовкой для нее :) А то мне стыдно будет.
А кодить ничего и не нужно. Нужен список свойств объекта, в порядке как в описании на дисплей. Просто я туда добавлю только те элементы которые буду юзать.
Что то наверное делаю не так. Ставлю галку "Data auto upload", а в порт ничего не прилетает.... В чем мой косяк ?
И что то я совсем запутался с SP и VP адресами. У визуальных объектов всегда есть SP, но может не быть VP.
Если читаем по SP адресу, то получаем доступ к свойства компонента (размер, координаты, настройки). Если читаем с VP, то получаем доступ к "основным свойствам", у вращающейся иконки это угол, у data variables - значение которые она в себе содержит. Если VP нет, то и изменяемых (оперативных) данных у объекта нет.
А вот с компонентами ввода , не понимаю. У них нет SP, как же мне получить доступ к из параметрам (размерам расположении) ? Блин, как тяжела китайская мысль и логика.....
>А вот с компонентами ввода , не понимаю. У них нет SP, как же мне получить доступ к из параметрам (размерам расположении) ? Блин, как тяжела китайская мысль и логика.....
тож не смог разобраться, написал на китайском форуме вопрос, там есть админ от DWIN, может ответит чего путного
тож не смог разобраться, написал на китайском форуме вопрос, там есть админ от DWIN, может ответит чего путного
Как вы это делаете !? Знаете китайский ?
Кстати, мне так и не удалось получить автоответа ни от какого компонента при изменении данных с экрана. Может эта опция имеет какой то глобальный выключатель ?
тож не смог разобраться, написал на китайском форуме вопрос, там есть админ от DWIN, может ответит чего путного
Как вы это делаете !? Знаете китайский ?
Кстати, мне так и не удалось получить автоответа ни от какого компонента при изменении данных с экрана. Может эта опция имеет какой то глобальный выключатель ?
гугл переводчик очень не плох с китайским.
автоответ прилетать должен сразу, если галка установлена, по крайней мере у меня на обоих дисплеях так.
может имеет смысл ядро перезаписать? как то не понятно он себя ведет
вот тут вопрос автоматической отправки поднимали
http://forum.dwin.com.cn/forum.php?mod=viewthread&tid=28&extra=page%3D6
и по сенсорным клавишам -
Доступ к интерфейсу доступа к команде касания, определенному в переменном пространстве 0x00B0, через последовательный порт или ОС DWIN, который может динамически открывать, закрывать или изменять указанное касание
Если это экран серии T5 или T5L, вы можете использовать команду 0XB0 для управления закрытием одного сенсорного файла. Пример: 5A A5 0B 82 00B0 5AA5 0001 09 05 0000
(Закройте девятый файл касания на странице 0001, значение клавиши возвращает код клавиши 05, 0000, чтобы закрыть касание)
http://forum.dwin.com.cn/forum.php?mod=viewthread&tid=684&extra=page%3D12
Спасибо из первой половины вопроса, по ссылке, по 3 пункту у меня в конфигурации оно отключено. Но у меня IDE этого дисплея просит сохранить конфиг файл с изменениями, а создавать его не хочет. Как сделать этот *.CFG . И как скормить его дисплею ?
А вот про второй половине ответа нифига не понял :( Что это значит... ?
Спасибо из первой половины вопроса, по ссылке, по 3 пункту у меня в конфигурации оно отключено. Но у меня IDE этого дисплея просит сохранить конфиг файл с изменениями, а создавать его не хочет. Как сделать этот *.CFG . И как скормить его дисплею ?
А вот про второй половине ответа нифига не понял :( Что это значит... ?
по первой можно взять готовый конфиг, и подправить в редакторе необходимые байты.
по второй это пример управлением сенсорными кнопками
Пример: 5A A5 0B 82 00B0 5AA5 0001 09 05 0000
5A A5 заголовок
0B кол-во отправляемых
00B0 команда изменения свойств сенсорных кнопок
5AA5 тож стандарт какойто
0001 номер экрана
09 номер кнопки (как считаются не знаю)
05 байт из таблицы свойств кнопки
0000 данные которые надо вписать
PS сам не проверял
У кнопки есть параметр "Key Ct value ", может это номер ?
И никак в толк не возьму как конфиг файл скормить дисплею. Как этот файл должен называться и в какой папке на флешке лежать....
Разобрался файло, для моего монитора, должно называться T5UID3.CFG.
Только вот сгенерить или найти где то пример не удается. Грузить то он его в себя грузит, но настройки из него не применяет.
с изменением свойств тач кнопок разобрался, работает, правда не так просто как с иконками,
сниму как делать .
я так до конца и не разобрался как считать сколько отправляется данных
вот например в этом случае отправляем 2В (43 ) но данных явно больше, хотя команда воспринимается правильно и работает
5AA5 2B 82 00B0 5AA5 0000 0002 0003 0000 0001 0000 00C9 00C8 FF00 FF00 FE02 FE10 0000 0101 0001 0000 0032 0000 0000 0000 0000 0000 0000 0000 0000
5AA5 2B 82 00B0 5AA5
0000 00 02 0003 тут номер \экрана\номер кнопки\тип кнопки\команда изменить данные по всей видимости это тоже не учитывается
0000 0001 0000 00C9 00C8 FF00 FF00 FE02 FE10 0000 0101 0001 0000 0032 0000 0000 0000 0000 0000 0000 0000 0000 данные описывающие свойство кнопки
по конфигу -должен называться как то так T5UID3_1280800.CFG
поискать можно тут - http://forum.dwin.com.cn/forum.php?mod=forumdisplay&fid=78
чтобы скачать надо регистрироваться
Да, опять огромное спасибо, с конфигом разобрался, руками набил... Сплошной гимор :) Пошел возврат данных от кнопок.
Сей час какой нибудь data variables в библиотеке сварганю.
Насчет команд:
5AA5 2B 82 00B0 5AA5 0000 0002 0003 0000 0001 0000 00C9 00C8 FF00 FF00 FE02 FE10 0000 0101 0001 0000 0032 0000 0000
Вот посылка приведенная в нормальное состояние, должна работать так же как ваша. Просто дисплей все что находится после пакета игнорирует, туда можно пихать все что угодно.
На всякий случай конфиг с включенным возвратом данных , название должно быть как я писал выше.
Содержимое:
00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f
00 54 35 44 33 00 00 00 00 bc 00 44 5a 64 64 07 d0
01 00 00 00 30 29 02 01 e0 02 0a 02 01 10 02 00 00
Ковыряя форум по ссылке выше понял как определить нумерацию тач компонентов на странице. В окошке слева,внизу жмакаем на "Controls view", в выпадающем списке выбираем "Touch", видим нумерованный список, где слева порядковый номер, справа название тач компонента. Номер слева и есть номер компонента. Компоненты можно передвигать в списке с помощью кнопок вверху окна, при перемещении компонента, меняется его номер.
собственно видео www.youtube.com/watch?v=ehHQWghO358
все работает, единственное , что народ (китайский) на форуме говорит - надо делать паузы между отправками - 3-4 цикла, если слать подряд зависает
команды используемые в проекте что в видео снят
5AA5 2B 82 00B0 5AA5 0000 0002 0003 0000 0001 0000 00C9 00C8 FF00 FF00 FE02 FE10 0000 0101 0001 0000 0032 0000 0000 //
5AA5 2B 82 00B0 5AA5 0000 0002 0003 0000 0001 0000 00C9 00C8 FF00 FF00 FE02 FE10 0000 0101 0001 0000 0032 0100 0000 //
5A A5 0B 82 00B0 5AA5 0000 00 02 0000 // запретили работу кнопки
5A A5 0B 82 00B0 5AA5 0000 00 02 0001 // разрешили работу кнопки
5A A5 0B 82 00B0 5AA5 0000 00 02 0002 // разрешение на чтение
5AA5 2B 82 00B0 5AA5 0000 0002 0003 // запись параметров
5A A5 04 83 00B4 16 // читаем регистр
Огромное спасибо ! Понял. Буду ковырять дальше.
С удивлением обнаружил, что не все тач компоненты доступны для онлайн редактирования. Мало того они не учитываются в нумерации. Например Basic Touch. Их параметры не возможно считать или записать. Их нельзя выключить или включить. В списке "Control view" слева они видны, но если хотя бы один находится не в конце, а в середине или начале списка, то нумерация в этом окне , не соответствуют реальной нумерации, которая используется для доступа к свойствам компонента в онлайн режиме.
ЗЫ Возможно это ошибка IDE.
>Например Basic Touch.
по этим элементам, китайци пишут, что лучше делать переход на экран где будут измененные кнопки, чем править.
с пунктом Parameter Config. я честно сказать не разбирался, даже без понятия что там и куда
Я читал. Его просто не нужно использовать. Его можно заменить практически любым другим из списка.
Кому интересно, вышла новая версия ПО v8 которое они используют в своих видео http://dwin.com.cn/service/en/file/id/29 файл Development tool: For T5L_DGUS II Platform. После распаковки в файле Config\Language\Lang.ini прописать language=English.
Но я никак не могу найти примеры программ, которые они в своих новых видео показывают((
Кому интересно, вышла новая версия ПО v8 которое они используют в своих видео http://dwin.com.cn/service/en/file/id/29 файл Development tool: For T5L_DGUS II Platform. После распаковки в файле Config\Language\Lang.ini прописать language=English.
Но я никак не могу найти примеры программ, которые они в своих новых видео показывают((
чей то не впечатлила, предыдущая на мой взгляд удобнее была.
примеры можно тут поискать
http://forum.dwin.com.cn/forum.php
А у меня другое впечатление. Эта более удобная. Интуитивнее. Подставляет редактор икон файлов, когда это нужно. Позволяет генерить конфиг файлы с выбором формата. Предыдущая вообще T5UID2...3 не поддерживала. В этой версии есть пояснения параметров, в отсутствии вменяемых мануалов, вполне себе подспорье. Ну а если говорить про окошко параметров, то этот дизайн более современный, хотя и может создаться впечатление, что он менее удобный.
И я что то опять туплю... :( Как сгенерить ICL файл ? Похоже в новой версии китайцы забыли кнопку "сгенерить ICL" .
Здравствуйте ! Помогите разобратся :
Sinchrodata return. Нужно при нажатии на кнопку выдать в порт 0х00 , при отпускании 0х01.
У меня всегда выдается одно и тоже значение что при нажатии что при отпускании
Tp_ON_Mode
Mode :0x01
VP1S:0x0000
VP1T: 0x0020
TP_OFF_Mode
VP3S:0x0001
VP3T: 0x0020
В порт выдает 5A A5 06 83 00 20 01 00 00
Спасибо!
Добрый день!
Ребята, подскажите пожалуйста, как в ардуину получить введённое значение на экране DGUS?
Сделал проект, как из ардуины записать в поле экрана разобрался, а вот как прочитать, ума не приложу. Я не программист ни разу.
Заранее спасибо!
Я не программист ни разу.
А, тогда, как именно мы можем тебе помочь. Ты конкретнее скажи, чего нужно то ?
Есть два пути, установить галку в проекте (что то типа "auto send"), при этом правильно настроить конфиг дисплея. Второй - постоянно опрашивать память которая связана с изменяемыми данными.
Всё оказалось сложнее, чем кажется. Из-за того, что при записи инфы в ячейку VP в ответ приходит код подтверждения, буфер сериала забит этим мусором. Выцыпать нужную инфу при чтении другой ячейки не получается.
То есть, допустим, если я в Loop записываю в VP 1002, VP 1003, VP 1004, а потом пытаюсь считать из VP 1101, то в буфере уже хрен знает что творится.
Короче, после записи, нужно очищать буфер и ставить достаточную задержку, чтоб успело очистить.
Подскажите как генерируется ICL файл, в dgus v7 нет кнопки с генерацией как в этом видео.
https://www.youtube.com/watch?v=HKrLDjNCDxU
Подскажите как генерируется ICL файл, в dgus v7 нет кнопки с генерацией как в этом видео.
https://www.youtube.com/watch?v=HKrLDjNCDxU
Всё там есть. Запускаете DGUS Tool V7.597, создаёте или открываете свой проект, и в самом верху выбираете вкладку Setting(крайняя справа). Там выбираете среднюю вкладку "DGUS" Откроется окно приложений как на вашем видео. Левая вкладка на нём и будет "ICL Tool".