Jump to content

    

hd44780

Свой
  • Content Count

    1227
  • Joined

  • Last visited

Community Reputation

0 Обычный

About hd44780

  • Rank
    Профессионал
  • Birthday 06/30/1977

Контакты

  • Сайт
    http://
  • ICQ
    0

Информация

  • Город
    Донецк, ДНР

Recent Profile Visitors

4944 profile views
  1. Прикольный баг. Я такого не замечал, но виндозным терминалом никогда не пользовался, работал в этом - https://digitalchip.ru/terminal-1-9b-rabotaem-s-com-portom/ и команды всегда вводил ТОЛЬКО большими буквами. Зато могу поделиться другим багом - у меня 2 модуля, оба работают в режиме FU2. В этом режиме у модуля пониженное энергопотребление с прослушкой эфира. При этом куча ограничений - скорость только 4800 и какие-то задержки при передаче. Плюс ещё и длинные последовательности байт (по моим наблюдениям больше 10) не передаёт. Но мне этого оказалось достаточно. Так вот, один из модулей при входе в командный режим (SET:=0) всегда включает скорость уарта 9600, другой то включит 9600, то так и остаётся на 4800. Пришлось сделать в прошивке проца хак - сперва он стучится в модуль по 4800, если тот не ответил - врубает 9600. Только после этого система стабильно заработала. Процы у меня - один STM32F030, другой - STM32L152. И ещё раздражает то, что невозможно переключить радиоканал без запоминания его в EEPROM управляющего STM8. Где-то попадалась статья, чуваки пытались поменять STM8 на какой-то STM32, но там, по-моему, дело ничем внятным не закончилось.
  2. AvrUsb500 by Petka. продолжение

    Ясно-понятно. Спасибо.
  3. AvrUsb500 by Petka. продолжение

    Привет всем. Столкнулся с таким моментом - если проц, подключенный к программатору не отвечает (в моём случае был выставлен режим внешнего кварца, которого на плате вообще нет), то не читается даже версия прошивки самого программатора. Когда я воктнул его в другую плату, где есть кварц и target отвечает - всё нормально заработало. Подскажите - это баг прошивки или супер-мега-фича для вызова у людей холодного пота и мыслей про сдохший программатор? Тыкался в CvAVR. Спасибо.
  4. STM32G4 QuadSPI + FT810 ftdi EVE LCD controller

    QSPI не позволяет записывать в память в memory-mapped режиме. Он read-only.
  5. STM32H743 + SDRAM MT48LC32M16A2-75

    Спасибо, гляну. Я от SDRAM немного отвлёкся, запустил QSPI память w25n01gv, вроде пашет, но частоту выше 16.5 МГц поднять не могу - обмен виснет на опросе какого-то флага. Вожусь пока. Что касается SDRAM, то нашёл, что нога PC2 (сигнал NE0 - nCS) у этого проца двойным дном, по дефолту там сидит АЦП. Добавил в инит пинов SYSCFG->PMCR |= SYSCFG_PMCR_PC2SO; перед манипуляциями с GPIO регистрами. Улучшений пока не заметил. MPU пока выключил, на простую запись/чтение не влияет, а обо всём остальном говорить пока рано.
  6. STM32H743 + SDRAM MT48LC32M16A2-75

    Разводили сами в альтиуме (под Ф439+такой же SDRAM, который с полпинка взлетел тоже также разводили), заказывали в Китае. Дорожки рисовали руками с контролем длины. В принципе могу выложить альтиумные файлы, секретного там ничего нет, по сути макетка для разборок с этим процом. Плата 6-слойная (Ф439 - 4 слойная была). Настройки чипа взял из того же 439. Что такое "умощнение" внутреннего генератора частоты для работы? Приложил схему синхронизации из куба. FMC там виден. STM32H743I_EVAL вроде смотрел, пересмотрю ещё раз, может прогавил чего.
  7. STM32H743 + SDRAM MT48LC32M16A2-75

    Повключал и настроил всё: // Enable I-Cache SCB_EnableICache ( ); // Enable D-Cache SCB_EnableDCache(); MPU_Region_InitTypeDef MPU_InitStruct; HAL_MPU_Disable(); /* Configure the MPU attributes as WT for SDRAM */ // MPU_Region_InitTypeDef MPU_InitStruct; MPU_InitStruct.Enable = MPU_REGION_ENABLE; MPU_InitStruct.BaseAddress = SDRAM_BASE; MPU_InitStruct.Size = MPU_REGION_SIZE_64MB; MPU_InitStruct.AccessPermission = MPU_REGION_FULL_ACCESS; MPU_InitStruct.IsBufferable = MPU_ACCESS_NOT_BUFFERABLE; MPU_InitStruct.IsCacheable = MPU_ACCESS_CACHEABLE; MPU_InitStruct.IsShareable = MPU_ACCESS_NOT_SHAREABLE; MPU_InitStruct.Number = MPU_REGION_NUMBER1; MPU_InitStruct.TypeExtField = MPU_TEX_LEVEL0; MPU_InitStruct.SubRegionDisable = 0x00; MPU_InitStruct.DisableExec = MPU_INSTRUCTION_ACCESS_DISABLE; HAL_MPU_ConfigRegion ( &MPU_InitStruct ); // Enable the MPU HAL_MPU_Enable ( MPU_PRIVILEGED_DEFAULT ); Никакой разницы не заметил. Может я FMC/SDRAM неправильно сконфигурил?
  8. STM32H743 + SDRAM MT48LC32M16A2-75

    Вот пытаюсь запустить указанную связку (STM32H743 + SDRAM MT48LC32M16A2-75). Результат пока хреновый - читается какой-то бред. Не пашет вобщем :( Если точнее - весь объём памяти (64 MB) доступен, ни в накие xxxHandler проц не вылетает, но с чтением/записью памяти трудности. После заполнения памяти нулями оттуда читаются слова 0x2004. Казалось бы D13 и D2 где-то коротят на Vcc, но не так-то всё просто - простая запись байтов по адресу 0xC0000000 (у меня банк 0) показывает, что 2-й бит всё же сбрасывается. При этом в MemoryBrowser атоллика видно, что при этом меняются какие-то другие байты по другим адресам - хз почему. Ну и подобные баги. Все кэши проца выключены, На FMC подаётся 180 МГц, на память - 90. Инициализация FMC+чип: Тактирование (тут чистый кубовый хал): // PLL2R - FMC (180 MHz) PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_LTDC | RCC_PERIPHCLK_USB | RCC_PERIPHCLK_QSPI | RCC_PERIPHCLK_FMC; PeriphClkInitStruct.PLL2.PLL2M = 8; PeriphClkInitStruct.PLL2.PLL2N = 180; PeriphClkInitStruct.PLL2.PLL2P = 2; PeriphClkInitStruct.PLL2.PLL2Q = 1; PeriphClkInitStruct.PLL2.PLL2R = 1; PeriphClkInitStruct.PLL2.PLL2RGE = RCC_PLL2VCIRANGE_0; PeriphClkInitStruct.PLL2.PLL2VCOSEL = RCC_PLL2VCOMEDIUM; PeriphClkInitStruct.PLL2.PLL2FRACN = 0; // PLL3Q - LTDC (50 MHz) PeriphClkInitStruct.PLL3.PLL3M = 8; PeriphClkInitStruct.PLL3.PLL3N = 50; PeriphClkInitStruct.PLL3.PLL3P = 2; PeriphClkInitStruct.PLL3.PLL3Q = 4; PeriphClkInitStruct.PLL3.PLL3R = 1; PeriphClkInitStruct.PLL3.PLL3RGE = RCC_PLL3VCIRANGE_0; PeriphClkInitStruct.PLL3.PLL3VCOSEL = RCC_PLL3VCOWIDE; PeriphClkInitStruct.PLL3.PLL3FRACN = 0; PeriphClkInitStruct.FmcClockSelection = RCC_FMCCLKSOURCE_PLL2; // PLL2R PeriphClkInitStruct.QspiClockSelection = RCC_QSPICLKSOURCE_PLL; PeriphClkInitStruct.UsbClockSelection = RCC_USBCLKSOURCE_PLL; if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK) { Error_Handler(); } Кварц 8МГц. (8/8)*180/1=180MHz. LTDC нету, просто сконфигурено тактирование. Думать о нём без памяти бессмысленно. Такой же чип памяти прекрасно работает на Ф439. Здесь нашёл тему , но ТС так и не отписался, заработало у него что-то или нет, а сама тема укатилась хз куда... Может я чего не понял, как конфигурить это FMC. От Ф4 оно кое-где отличается. Спасибо.
  9. Где находится USART1 у STM32F030F4 ?!

    Конечно. Такая фича облегчает разводку платы в частности. Когда один и тот же уарт Вы можете взять с двух разных сторон чипа и не тянуть дорожки за три-девять земель в обход кучи компонентов на плате ... Или если вам надо включить уарт и ещё что-то, висящее на тех же ногах, например, таймер какой-то. Получается конфликт. Переключением уарта на другие ноги этот конфликт легко устраняется. Ну и тд. Для этого оно и придумано наверное. А если соединять проводками, то пофиг.
  10. не надо такой дисп сажать на F105, у него нет FSMC, ногами дрыгать программно долго будет. Возьмите либо дисп с SPI, либо проц с FSMC типа F103ZET6/F407/...
  11. STM32H7 работа с SDRAM. Проблема

    Нет, не делал пока :( . Подключал только SPI-малявку ILI9163 128x128. Работает. Да и то SPI этого проца недели 2 раскуривал с помощью коллег с этого форума
  12. Купил VK2828U8G5LF, заработал с полпинка :). Всем списибо и с наступающим!
  13. Harbinger , повезло вам. Я крышку содрал, припоя там не было вообще, чистая латунь или из чего там они её сделали. Припаял также аккумулятор на 3в. Модуль молчит, как и молчал. Греется сам чип, который там стоит. Явно сам этот NEO-6M бракованный. Уже 3-й раз нарываюсь на брак. В первый раз модуль с ENC28J60 оказался полным трупом, второй - VS1053 на платке проигрывал половину из того, что должен. Ну и хрен с ним.
  14. Заранее извиняюсь, если написал не в тот раздел. Не нашёл более подходящего.. По сути. Попал в руки GPS модуль GY-NEO6MV2 - https://ru.aliexpress.com/item/GY-NEO6MV2-NEO-6M-GPS-Module-NEO6MV2-With-Flight-Control-EEPROM-MWC-APM2-APM2-5-Large/32785629516.html?spm=a2g0s.9042311.0.0.274233edJaKoCc Пытаюсь подключить пока к компу через USB-UART переходник без каких-либо контроллеров и прочего. Включил - и ничего. В терминале пусто, ни одного байта, ничего. Запускал под монитором ком-порта - там тоже ничего. Даже светодиод молчит, хотя должен то ли светиться, то ли мигать, неважно. Пробовал частоты 9600 и 38400. Ждал долго (около часа). Вычитал, что можно включать и от 3.3в и от 5в, типа там есть стабилизатор. Тоже глухо как в танке. Единственное, что он делает - греет атмосферу - на ощупь довольно горячий. На 3.3в чуть менее горячий, на 5в чуть более горячий. На сайтах типа алиэкспресса вычитал в отзывах, что это для них нормально. Ещё сия хреновина любит жрать электроэнергию - мультиметр показал ток типа 195 мА, хотя всякие там ДШ обещают 65-70 мА. Обнаружил, что на модуле сдохшая батарейка - вместо 3в там около 40 мВ. Выдрал её оттуда вообще. Без батарейки тоже просто греет атмосферу и жрёт миллиамперы. Вопрос - ставить ему другую батарейку (типа CR2032) и париться дальше или ему хана, выкинуть его в помойку и идти купить новый? Или что? Спасибо.