jcxz 239 17 мая, 2022 Опубликовано 17 мая, 2022 · Жалоба 2 часа назад, onic777 сказал: то может все же стоит посмотреть внимательнее огрызок кода ?!!! // ************************************** // * Do One SPI Exchange // ************************************** byte TFT_SPI (byte data) { if (timeOut) { timeOut--; } return USART_SpiTransfer(TFT_USART, data); } И на что же тут смотреть??? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
onic777 0 17 мая, 2022 Опубликовано 17 мая, 2022 · Жалоба To jcxz На что смотреть? Издеваетесь? На функцию USART_SpiTransfer(TFT_USART, data); которой как вы утверждаете нигде нет! Вы же сами писали, что в представленном ОГРЫЗКЕ КОДОВ главной функции SPI обмена нигде нет?!!! И вообще, что это за неуважительное отношение к коллегам? Что за терминология "ОГРЫЗКИ КОДОВ"? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
onic777 0 17 мая, 2022 Опубликовано 17 мая, 2022 · Жалоба Несколько слов о задержках! В процедуре инициализации установлено после команды 0х01 задержка примерно 10 mS (Must be 6 mS) and after command 0x11 set delay 130 mS (must be 121 mS). Увы! Результат = 0!!! Ничего не изменилось! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 239 18 мая, 2022 Опубликовано 18 мая, 2022 · Жалоба 9 часов назад, onic777 сказал: To jcxz На что смотреть? Издеваетесь? На функцию Похоже это вы издеваетесь. Или троллите.... 9 часов назад, onic777 сказал: USART_SpiTransfer(TFT_USART, data); которой как вы утверждаете нигде нет! Вы же сами писали, что в представленном ОГРЫЗКЕ КОДОВ главной функции SPI обмена нигде нет?!!! Видимо я слепой.... Укажите номер строки, начиная с которой эта функция якобы находится в том, что вы прислали. 9 часов назад, onic777 сказал: И вообще, что это за неуважительное отношение к коллегам? Что за терминология "ОГРЫЗКИ КОДОВ"? Подайте жалобу в комитет защиты ёжиков... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 140 18 мая, 2022 Опубликовано 18 мая, 2022 · Жалоба 22 минуты назад, jcxz сказал: Укажите номер строки, начиная с которой эта функция якобы находится в том, что вы прислали. Вы что, издеваетесь? Это же функция из КУБа! Ее каждый должен узнавать в лицо и работает она всегда правильно. Ее по определению невозможно заставить работать неправильно. А если не верите - вы жертва пропаганды! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
k155la3 27 18 мая, 2022 Опубликовано 18 мая, 2022 · Жалоба Маркировка контроллера (чип), ревизия на рабочих и сбойном, одинаковые ? ("Вы проигнорировали мой вопрос . . . " ) :))) Quote Подайте жалобу в комитет защиты ёжиков... Я уже обращался. Пустая трата времени. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 239 18 мая, 2022 Опубликовано 18 мая, 2022 · Жалоба 1 час назад, Сергей Борщ сказал: Вы что, издеваетесь? Это же функция из КУБа! В самом первом сообщении ТС писал: 16.05.2022 в 11:07, onic777 сказал: Я имею 3 разные платы контроллеров (EFM32GG332) и 3 разные платы контроллеров (EFM32GG380) т.е. - вроде не STM32. Или....... неужто Куб уже и до SiLabs-а добрался??! PS: Вроде как оба EFM32GG332, EFM32GG380 - это Cortex-M3 (without FPU). И в то же время в присланном исходнике имеется такой "перл": void GLCD_VBandClear (unsigned NUM, unsigned x0,unsigned y0,unsigned x1,unsigned y1) { unsigned dx,dy,ddx; unsigned xx0,xx1; unsigned i,m; GLCD_Direction (USE_HORIZONTAL); dx = (unsigned)fabs(x1-x0); dy = (unsigned)fabs(y1-y0); ... Зачем-то(?) использована плавучка, там где вообще нафиг не нужна. Уж не говоря о том, что на Cortex-M3 будет программная эмуляция (тормоза), так ещё и возможны проблемы с ошибками округления на операциях unsigned->float->unsigned. И, соответственно - неверная работа функции. Автор сего творения просто на ровном месте разложил потенциальные грабли. Быдлокод детектед? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
k155la3 27 18 мая, 2022 Опубликовано 18 мая, 2022 · Жалоба USART_SpiTransfer(TFT_USART, data); Тут вроде норм., ф-ия из SDK-API Silabs. Работает с буферизацией и "синхронно". Spoiler https://docs.silabs.com/gecko-platform/latest/emlib/api/efm32g/group-usart Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 140 18 мая, 2022 Опубликовано 18 мая, 2022 · Жалоба 3 часа назад, jcxz сказал: Или....... неужто Куб уже и до SiLabs-а добрался??! Даю уроки вангования. Оплата пивом : 3 часа назад, k155la3 сказал: Тут вроде норм., ф-ия из SDK-API Silabs. Работает с буферизацией и "синхронно". Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x893 59 18 мая, 2022 Опубликовано 18 мая, 2022 · Жалоба 4 hours ago, jcxz said: неужто Куб уже и до SiLabs-а добрался??! Уже лет как 8 (или больше). Но со стороны Осло добирался. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
onic777 0 18 мая, 2022 Опубликовано 18 мая, 2022 (изменено) · Жалоба Добрейший вам Всем денек, Дорогие коллеги! Мой вопрос успешно разрешился, так что тему можно считать закрытой! Во-первых, еще раз перерыл интернет, и наткнулся на статью https://eax.me/stm32-ili9341/ "Использование TFT-дисплеев на базе ILI9341 с тачскрином", которая еще раз подтолкнула меня к мысли о том, что моя проблема связана с питанием, ну или с уровнями сигналов. Автор статьи в одном месте пишет "Важно! ILI9341 не понимает 5-и вольтовую логику от слова совсем". Пяти вольт у меня, как вы помните, нет в интерфейсе, но я все же взялся опять за осциллограф... Проверка всех используемых сигналов ничего особенного не дала. Тогда я написал маленькую функцию, которая последовательно устанавливает и сбрасывает уровни каждого из используемых в интерфейсе битов по 10000 тысяч раз. Ну то так, для удобства наблюдения. И вот стал я смотреть каждый из сигналов в течение достаточно большого времени - несколько десятков секунд... Питание контроллера 3,3В от достаточно мощного LDO (600мА). И на сигнале SCLK заметил с помощью цифрового осциллографа медленное изменение уровня в сторону увеличения!!! Сперва очень незначительное 3,34В, 3,35В, это все примерно за 10-12 S, но потом начались более существенные свачки от 3,1 до 3,7В. Хотя и взятся такому напряжению вроде бы как не откуда... И я не "мудрствуя лукаво" включил воздуходувку и снял контроллер (EFM32GG332F1024). Поставил другой! Включил! И обомлел! Все заработало! Попробовал с этой платой все имеющиеся дисплеи - все работает! Вот такие пироги! С этими контроллерами я имею дело уже лет 6, но такой случай у меня первый... Установил шт 60... (и EFM32GG332F1024. и EFM32GG380F1024). Очень хорошие контроллеры. И потребление в рабочем режиме у меня 3-4 мА не считая потребления дисплея... Всем участникам обсуждения большое спасибо за советы!!! Строки функции 114-125 Маркировка контроллера и серия одинаковые, партия куплена в Остине (USA) года 4 назад. Изменено 18 мая, 2022 пользователем onic777 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
k155la3 27 18 мая, 2022 Опубликовано 18 мая, 2022 · Жалоба 46 minutes ago, onic777 said: . . . но потом начались более существенные скачки от 3,1 до 3,7В. Хотя и взяться такому напряжению вроде бы как не откуда... Ну, наличие подключенного USB "дает шанс". А уплывание - подгулявшая где-то "земля". Из причнно-следственных связей, или контроллер был "подпаленный", или дефект самоликвидировался при выпайке чипа. Контроллер ILI9341 допускает максимум 3.3 В по входам при питании 3В. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
onic777 0 18 мая, 2022 Опубликовано 18 мая, 2022 · Жалоба Еще раз привет! Снятый контроллера жалко - $13!!! Поэтому я его хорошо "вымочил" в спирте, высушил, и решил еще помучать! Взял имеющуюся в избытке плату от другого проекта и поставил туда контроллер! Написал небольшую тестовую программку с перебором всех битов, которые барахлили в предыдущем случае и начал тестировать! Пока вроде никаких увеличений напряжения на выводах не заметил... Но буду продолжать тестировать еще несколько дней. Просто запущу непрерывно работать... Результат опишу позже! Скорее всего действительно была "плавающая" пайка! Хотя я всегда проверяю пайку контроллера да и всего остального под микроскопом и все выводы MCU проверяю на отрыв при сдвиге... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
k155la3 27 18 мая, 2022 Опубликовано 18 мая, 2022 · Жалоба 30 minutes ago, onic777 said: . . . Хотя я всегда проверяю пайку контроллера да и всего остального под микроскопом и все выводы MCU проверяю на отрыв при сдвиге... Даже при просмотре под микроскопом нет гарантии что все будет видно (замыкания между выводами мс). Был случай, проверил пайку визуально до включения (паял не я, заводская), плата не идет. Начали проверять по полной программе, нашли осциллографом-тестером замыкание между выводами. Смотрю через микроскоп - ничего. Проверяю тестером - кз. В мс начал высматривать на повышенной кратности. Оказалось между выводами перемычка из тончайшей нитки от "штамповки" вывода (держалась не на припое, а на металле вывода). В тесте желательно режим тестирования на кз смежных выводв мс. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться