Jump to content

    

Sagittarius

Свой
  • Content Count

    212
  • Joined

  • Last visited

Community Reputation

0 Обычный

About Sagittarius

  • Rank
    Местный
  • Birthday 12/12/1973

Информация

  • Город
    СПб

Recent Profile Visitors

2480 profile views
  1. ESP12E в серии, входной брак

    GPIO0 в устройстве подтянут так же. Проблемы с прошивкой своего кода в модуль, AT-командами не пользовались, может с ними что то и работает, не пробовали.
  2. ESP12E в серии, входной брак

    схема отдельного тестера-прошивальщика (заливаем свою прошивку), вроде все по доке. Питание с USB, с этого же компа переходник USB-UART на X1. Собрано на макетке, провода короткие, скорость 115200 (пробовал и другие, без разницы). ESP-07(на схеме) и ESP12E по боковым выводам совпадают. По общему количеству из последнего из 50 модулей по этой схеме 18 не прошились, с 32 все нормально. Из обнаруженных странностей - иногда CH_PD (Enable) у некоторых модулей притянут к 0 самим модулем. Если его подтянуть резюком 700-800 Ом к +3.3В и потом резюк убрать, то этот вход остается на уровне 1.5-2В, этого может хватить что бы модуль запустился. Если на 3.3В ткнуть без резюка то уровень на Enable будет 2-3В. из 5-ти модулей с таким косяком 2 ожило, 3 нет. Часть модулей на BOOT (GPIO0) вне зависимости от его подключения (GND/висит/подтянут к+) выдают 26МГц, у нормальных там в режиме прошивки 0.
  3. ESP12E в серии, входной брак

    esptool, через переходник USB-UART. но еще до собственно программирования модули, с которыми все нормально мигают синим светодиодом, которые не прошьются - не мигают. Т.е. разница в работе уже просто при подаче питания.
  4. ESP12E в серии, входной брак

    Так и делаем, на пружинных иголках стенд, 1/4 не прошивается, ни на что не реагирует, максимум если BOOT оставить висящим, то на нем 26МГц будет
  5. Здравствуйте. Кто ни будь применял модули ESP12E (AI-Thinker) в мелких сериях? Сделали устройство, делаем мелкую серию, из 70 модулей 22 не прошиваются, никакими светодиодами не мигают. Закупались в чипдипе. Такой процент брака это норма для модулей или это какие то их не учтенные особенности? У кого какой опыт применения? Спасибо.
  6. Здравствуйте. Скорее информации пост. После очередного обновления Win10 перестала открыватся рабочая либа (база данных через exel). Работало только если файл xls был предварительно открыт в Exel. При этом аналогичная библиотека (намного меньше размером) нормально работала. Вылечилось только удалением обновления и запретом обновлений вообще, через реестр. Если кто сталкивался с таким и победил с сохранением обновления - что делать? Спасибо.
  7. STM32H7 работа с SDRAM. Проблема

    Делел проект на STM32F746G с SDRAM и видео выходом. SDRAM инитил куском либы из примеров, идущих с кубом-мх. Конкретно файл stm32746g_discovery_sdram.c (17 013 байт) но, как уже говорили, 133 там никак не получалось, и когда читал доку на H7xx то как запомнилось, выше 100 частоту SDRAM на нем тоже поднять нельзя. У меня на 100МГц плата в 4 слоя без особых ухищрений, единственно на что смотрели - чтоб длина проводника тактовой была не менее максимального из остальных адресов/данных/команд. Из доки на F746 === SDRAM waveforms and timings • CL = 30 pF on data and address lines. CL = 10 pF on FMC_SDCLK unless otherwise specified. In all timing tables, the THCLK is the HCLK clock period. – For 3.0 V≤VDD≤3.6 V, maximum FMC_SDCLK= 100 MHz at CL=20 pF (on FMC_SDCLK) === да, про куб - на прямую проект им сгенеренный с SDRAM у меня не заработал, только с другими файлами из примеров от этого же куба.
  8. LwIP, UDP

    автор забыл про отпуск перед написанием вопроса и ушел туда но уже вернулся :-) Вопрос именно про конкретную реализацию а не про сферический в вакууме RFC. Что сейчас наблюдается: используя udp_sendto раз в секунду посылается 28 пакетов. Пробовал как подряд в цикле так и с паузой 20-200 мс. Но глюк один и тот же. Иногда последний пакет из пачки задерживается и приходит как первый при начале посылок за следующую секунду. Задержка именно в LwIP, смотрел траффик по Wireshark. Так что где то внутри буферизация есть и возврат из udp_send не означает физическую отправку пакета. Собственно вопрос тот же, как правильно отправлять последовательность пакетов по UDP используя LwIP? Спасибо.
  9. LwIP, UDP

    Здравствуйте. Проблемка, не могу найти как сдеалть. Микроконтроллер периодически (раз в 1с) посылает UDP пакет, все работает. Но надо за один раз посылать порядка 20 разных отдельных пакетов. Буфер для формирования пакетов один. Как определить что предыдущий пакет уже отправлен и можно формировать и отправлять следующий? Определить что именно отправлен, обработан модулем Eth и выдан в линию связи (а не принят адресатом). Спасибо.
  10. char * и UTF-8 vs CP1251

    Цитата(uriy @ Sep 14 2017, 07:42) Проверьте в какой кодировке сохраняете свои *.c файлы. Да, по дороге на работу как раз об этом подумал :-) так и есть, одни в CP1251 а другие в UTF-8, в IAR оба отображаются корректно. Теперь вопрос - а как IAR узнает какой файл в какой кодировке? Спасибо.
  11. char * и UTF-8 vs CP1251

    Здравствуйте. Какой то косяк, но в чем никак не пойму. Собрал проект (STM32746, IAR 7.80, куб+freertos+uGFX) в исходниках uGFX определяется переменная как char const* text, ей в коде выполняется присваивание text="строка", и эта строка получается в кодировке UTF-8. В моем куске кода аналогичные строки получаются в CP1251. Если в своем коде описываю переменную как extern и размещаю ее в коде uGFX то она снова получается UTF-8. Включение мultibute support на результат не влияет. Наверное где то какая то опция в хедерах uGFX поднимается, но какая? Спасибо.
  12. Здравствуйте. Очередная засада с AD7124-8, разбираюсь с калибровкой. Процесс - выдаю сброс, инициализирую, для выбранного канала провожу внутреннюю калибровку, вычитываю все регистры, смотрю результат. Как понимаю производитель откалибровал АЦП для Gain=1 (PGA=0) и записал результат в регистры gain для каждого канала? и если я произведу калибровку на тех же установках то должен получить по крайней мере близкие к стартовым. И при этом, т.к. в процессе внутренней калибровки внутренние входы АЦП отключаются от внешних, то результат должен быть не зависим от конфигурации канала (что задано как вход). Реально же наблюдаю значительные изменения в регистре gain (изменяются 2 младших байта) и при этом есть зависимость от заданной коммутации канала - если подать на вход (AVdd-AVss)/6 или (IOVdd-DGND)/6 то регистр калибровки меняется весь, получается значение порядка 0xC0xxxx. Но это при установленном PGA=0(Gain=1). Если же задать PGA=1(Gain=2) то все приходит в норму, происходит лишь небольшая коррекция регистра калибровки. Собственно вопрос - а как правильно делать? Можно проводить калибровку для усиления 1 или это не корректно? И если значение калибровки (при Gain=2) от раза к разу отличается друг от друга на 0..70 это нормально? Спасибо.
  13. Цитата(Plain @ Aug 14 2017, 14:45) ((12484608 – 8388608) / 13584) – 272,5 = +29,03°C ((12488704 – 8388608) / 13584) – 272,5 = +29,33°C Опа! чего то не допер сразу. А ведь в доке то стоит запятая, 13.584, это как так? Спасибо.
  14. Цитата(MegaVolt @ Aug 14 2017, 13:29) Фраза не очень понятна. Потому что если вы меряете внутренний датчик температуры то нужно выставлять: AINP[4:0] = 10000 = temperature sensor AINM[4:0] = 10000 = temperature sensor Т.е. это по сути 17-ый канал. Плюс возможно влияние оказывает ещё PGA... хотя скорее всего нет. Если temperature sensor ставить на оба канала то результатом будет что то типа 0x7FFFe7, что тоже не проходит. Собственно с этой конфигурации начинал. А вот тут, вроде как форум самого AD: https://ez.analog.com/thread/94666 говорят именно про конфигурацию когда на IN+ подключают датчик а IN- на AGND. Да, по другим каналам (внешним, внутренним) приходят ожидаемые значения, там вроде как все нормально.
  15. Здравствуйте. Может кто ни будь сможет подсказать. Использую AD7124-8, пытаюсь измерить показания внутреннего температурного сенсора. На выбранном канале на "+" коммутирую сенсор, на "-" AVss. Конфиг на канал биполярный, буферизированный, референс внутренний. В принципе пробовал и всякие другие установки как по конфигу так и по фильтрам, как дефолтные так и из примеров и форума AD. Результат примерно одинаковый - результат преобразования 0xBE8xxx..0xBE9xxx что по формуле из доки дает температуру в районе 300 тысяч цельсия :-) Где то косяк, но в чем как то уже не придумывается. Может кто то сталкивался с подобным или подскажет рабочие настройки канал/конфиг/фильтр ? Спасибо.