Jump to content

    

AleksBak

Участник
  • Content Count

    274
  • Joined

  • Last visited

Community Reputation

0 Обычный

About AleksBak

  • Rank
    Местный
  • Birthday 06/16/1974

Контакты

  • Сайт
    Array
  • ICQ
    Array
  • Yahoo
    Array

Информация

  • Город
    Array

Recent Profile Visitors

1337 profile views
  1. Необязательно такое имя (насколько знаю). Я например просто пишу "settings_2706_NotePad_PP_02.epf", а потом импортирую эти настройки (этот файл). Импортировать нужно выбрав соотв. значок в левом нижнем углу окна "Preferences" (в меню "Window->Preferences").
  2. Какая опция? Тут, на скриншоте, показано меню где настраиваются все нужные цвета для встроенных типов и т.д. и т.п. Вы вообще пробовали там, в том меню, что-то просмотреть/поменять? Если человеку что-то нужно реально, то достаточно небольшой подсказки чтобы дальше сам догадался... Конкретно для "bool, "false" может быть "others". Надо смотреть.
  3. Ответил на Ваш похожий вопрос, заданный в другой теме. Также устанавливал различные цветовые схемы тут (в STM32CubeIDE). Названия этих плагинов подзабыл и на вскидку покамест не могу узнать т.к. некоторое время назад пришлось переустанавливать STM32CubeIDE по некоторым причинам. А когда ее переустановил, то даже не установив снова тот плагин для цветовой схемы, а просто открыв свою старую workspace, получил в итоге все предыдущие цветовые настройки заново (!).
  4. Я никак покамест не нашел ту старую версию RM (еще в одном компе вроде должна быть, но туда пока не скоро добраться смогу). В Кубе открываю всегда эти RM и в этот раз получается обновился он т.к. не с потолка же я взял эту цитату оттуда. На внешней SDRAM Winbond-овской. Я пока забросил с горя ту плату т.к. на ней никак не хочет работать QUADSPI память Spansion. Как заколдованная не хочет. Пока разбираюсь на совсем другой готовой плате (там тоже STM32H743 только 100-пиновый) с работой QUADSPI.
  5. Спасибо большое! Посмотрел - да сейчас они (STM) его поменяли (7-ая версия сейчас). Но пока не нашел в каком документе эти изменения отражены. Вот так теперь там: Значит нужно '7' прибавлять все-таки. Еще добавлю - эти изменения ('3' или '7) у меня никак не отражались на изображении дисплея (в 1-ом посту написал), но может потому, что пока я только успел с одним слоем сделать что-то в программе, а потом забросил работу с LTDC т.к. другие проблемы вышли.
  6. У Вас уже какой-то набор слов уже пошел - "интегрированием" и т.п. :) Лучше почитайте вначале какую-то теорию. Хотя бы небольшую. Если у Вас кватернионы, то это замечательно т.к. углам Эйлера свойственно "защелкивание". Я когда-то идеально знал по этой теме все что надо, но сейчас боюсь что-то не то скажу. Лучше поизучайте сами т.к. "если хочешь все сделать хорошо, то сделай сам". 100%. Если у Вас кватернионы, то вероятно тут есть их все четыре составляющие правильно?
  7. Вот этот "Basic 32-Bit MCU Design and Troubleshooting Checklist (PIC32MZ, PIC32MX, PIC32MK, PIC32C, and SAM Devices)" что ли?
  8. Там контакторы можно, после определенного усилия, вынимать из этой двухрядного "гнезда" (header). Может такую использовать с как бы дополнительной промежуточной пластмассовой проставкой чтобы не "расходились" эти контакты после вытаскивания: Еще вот тут эта проставка (spacer) видна отдельно: ПС: Ссылка для 1-го варианта (с алиэкспресс), что-то не вставилась.
  9. Добрый день. Разбираюсь с работой LTDC - без использования CubeMX кода. Заработало нормально - использую только 2-ой слой (самый верхний) и т.д. Показывает. Просто решил спросить по поводу настройки регистра CFBLR слоя. В RM по поводу его настройки написано следующее: Я тогда пишу так: /* Frame buffer line length and pitch: * В RM0385 (на стр. 537) указано, что тут младшее слово должны такое содержать: * Bits 12:0 CFBLL[12:0]: color frame buffer line length * These bits define the length of one line of pixels in bytes + 3. * The line length is computed as follows: * active high width * number of bytes per pixel + 3. */ LTDC_Layer2->CFBLR &= ~(LTDC_LxCFBLR_CFBLL | LTDC_LxCFBLR_CFBP); LTDC_Layer2->CFBLR |= (((PIXEL_SIZE * DISPLAY_WIDTH) << 16) | (PIXEL_SIZE * DISPLAY_WIDTH + 3U)); Т.е. добавляю '3' в конце. Здесь 'PIXEL_SIZE' == 4U т.к. формат у меня ARGB8888, а вначале обнуляю регистр CFBLR, а потом пишу указанное в RM значение. Однако в CubeMX HAL, при настройке этого регистра, пишется другое значение: if (pLayerCfg->PixelFormat == LTDC_PIXEL_FORMAT_ARGB8888) { tmp = 4U; } else if (pLayerCfg->PixelFormat == LTDC_PIXEL_FORMAT_RGB888) { tmp = 3U; } else if ((pLayerCfg->PixelFormat == LTDC_PIXEL_FORMAT_ARGB4444) || (pLayerCfg->PixelFormat == LTDC_PIXEL_FORMAT_RGB565) || (pLayerCfg->PixelFormat == LTDC_PIXEL_FORMAT_ARGB1555) || (pLayerCfg->PixelFormat == LTDC_PIXEL_FORMAT_AL88)) { tmp = 2U; } else { tmp = 1U; } /* Configure the color frame buffer pitch in byte */ LTDC_LAYER(hltdc, LayerIdx)->CFBLR &= ~(LTDC_LxCFBLR_CFBLL | LTDC_LxCFBLR_CFBP); LTDC_LAYER(hltdc, LayerIdx)->CFBLR = (((pLayerCfg->ImageWidth * tmp) << 16U) | (((pLayerCfg->WindowX1 - pLayerCfg->WindowX0) * tmp) + 7U)); т.е. тут прибавляется '7' в конце. Здесь 'tmp' как видите, это PIXEL_SIZE, что выше. А (pLayerCfg->WindowX1 - pLayerCfg->WindowX0) это просто (DISPLAY_WIDTH - 0). Т.е. так в итоге если привести к 1-му куску кода: LTDC_Layer2->CFBLR = ((DISPLAY_WIDTH * PIXEL_SIZE) << 16U) | ((DISPLAY_WIDTH * PIXEL_SIZE) + 7U); Если это я применю у себя (вместо '3' напишу '7'), то тоже показывает совершенно одинаково, что и до этого. (а если ничего сюда не писать, то не покажет изображение). Поэтому решил спросить, что это за настройка и почему в CubeMX так делают.
  10. У Вас там, на шлейфе индикатора, распаяны элементы цепи какого-то повышающего питания на LCD. Их внимательно смотрели под микроскопом? Может там, скорее всего от коррозии, площадки этих элементов разъело? Просто как возможный вариант написал.
  11. Здесь имелось ввиду (мной), что "софтово" - т.е. используется тот же самый Таймер на генерацию через чуть больше чем 3.5 символа прерывания и при приеме очередного байта по каналу ModBus мы каждый раз обнуляем счетчик этого Таймера (можем и в соотв. прерывании DMA). Т.е. буквально 1-2 команды контроллера тратим на это и очень быстрый вход в прерывание. Если очередного байта нет при приеме, то тут же, следом, появляется прерывание Таймера и в нем можем и проанализировать и принять соотв. решение. Когда ног контроллера под завязку, то вполне норм. решение по-моему. Кроме того, у PIC32MX/MZ есть возможность одновременного внутреннего подключения 2-х входов от каких-то периферийных модулей - например RX входа UART и входа от Таймера на один и тот же физический пин контроллера. Т.е. опять-таки не используется не разумно лишняя нога контроллера. В STM32 я такой возможности не обнаружил к сожалению (но у STM32 есть много др. своих "плюшек"). В каком конкретном контроллере из серии STM32 Вы его видели. Это интересная возможность, но сколько не спрашивал пока что все пишут "что вроде есть и где-то там", а конкретно так и не понял где и в каком контроллере. Спасибо. Вот где он? В каком конкретном контроллере Вы его видели? Спасибо.
  12. А зачем внешний вход Таймера и как следствие не разумно использованная нога контроллера под это дело? Софтово нельзя делать все тоже самое? А какой этот Таймер не подскажите? Я вот новичок пока что в STM32 и не встретил, что называется, такой Таймер. Но я когда-то спрашивал у людей, вроде бы давно знакомых с STM32, про подобные аппаратные возможности для лова таймаута в UART-приеме и никто не говорил мне что такой Таймер есть. Может не там и не у тех спрашивал. В PIC32MX/MZ нет таких аппаратных вещей и там я софтово ловил (как написал выше) этот таймаут. Подскажите или намекните если можете тут. Спасибо
  13. И еще CubeMX всегда подсвечивает красным цветом такую ошибку. Т.е. какой-то "левый" скриншот автор темы привел.
  14. Попробуйте поступить радикально - откажитесь от всей этой дури и разбирайтесь/пишите сами на регистрах. Будет мучительно очень больно, но по-моему так зато что-то получится. Сам сейчас пробую тоже самое. Вот человек задал вопрос тут: И ему никто и ничего так и не ответил с тех пор. Хотя вроде все есть и за несколько "кликов мышью" можно готовый проект с кодом наклепать. Но так никто и не ответил.