Перейти к содержанию
    

Xenia

Модератор FTP
  • Постов

    4 838
  • Зарегистрирован

  • Победитель дней

    2

Весь контент Xenia


  1. Да не так уж и дорого по нашим временам - 76 руб + 158 руб доставка. https://aliexpress.ru/item/1005006181526011.html Это у нашей почты нынче доставка стала дорогой. Но все равно дешевле, чем делать самим, программируя для этой цели микроконтроллер.
  2. Китайская версия лучше 🙂 тем, что работает на вдвое большей частоте кварца: AD7705 - 2.4576 MHz TM7705 - 4.9152 MHz Благодаря чему число значащих бит на максимальной частоте выборки повышается (точнее сказать - повышается частота выборки при том же числе значащих бит). Вот такой модуль на Aliexpress покупала: Здесь: https://aliexpress.ru/item/32883035090.html Согласно даташиту, выбор между 3.3V и 5V на число значащих бит не влияет. Другими параметрами я не интересовалась.
  3. Нигде. Период по умолчанию сменится не в момент установки нового ARR, а лишь после того, как закончится текущий период (т.е. после сброса). Но если вам немедленно надо изменить период, то после замены ARR надо добавить это: TIM1->EGR |= TIM_EGR_UG;
  4. А тут и без HAL'а и без SPL'а можно обойтись, на одних регистрах: TIM1->PSC = делитель; TIM1->ARR = период - 1; TIM1->CCR1 = период / 2; Здесь CCR1 задан половине периода, чтобы меандр на выходе получился со скважностью 1:1. Т.е. таймер считает вверх до ARR, а затем сбрасывается. А на уровне CCR1 выходной сигнал меняет полярность. После сброса восстанавливается исходная полярность. И так в каждом цикле.
  5. Обычно внешние буфера не помогают, т.к. эффект "послевкусия" возникает внутри микросхемы, уже после входного мультиплексора.
  6. Зато наверняка влияет на 3-ый. Я называю этот эффект "послевкусием" 🙂, когда измерение по каналу зависят от того, что перед этим намерил предыдущий канал. Он у многих АЦП встречается. Иногда помогает временная задержка между измерениями в цикле, которую можно организовать, запуская АЦП по таймеру. Если АЦП достаточно скоростной, то есть и такой способ - заказать цикл вдвое большего размера, т.е. в вашем случае это был бы цикл по 6-ти каналам, из которых четные каналы измеряли бы напряжения от потенциометров, а нечетные были заземлены. Этот способ помогает почти всегда.
  7. Не всегда оно так. Например, я встречала в сети мнение, что для STM32L4 нужные какие-то другие номиналы конденсаторов возле кварца, но не знаю, правда это или нет.
  8. Нельзя - у него Vcap на 22-ой ноге: А что такое "второй уровень защиты"?
  9. Когда pin-to-pin совместимость имеет место, то и "общефилософские соображения" тоже должны совпадать. Больше всего совместимости со старшими моделями мешают конденсаторы Vcap, которые появились у STM32F4, заменив собой два пина питания. А коли я разводку платы менять не могу, то этот вариант для меня отпадает. Остаются STM32F3хх и STM32L4xx - других не вижу. Потому и вопрос этот я на форуме подняла - вдруг кто-то знает иные варианты? Апноут "AN4649 - Migrating from STM32F1 Series to STM32L4 Series microntrollers" я и прежде смотрела, откуда собственно и возникла идея про замену на STM32L431. Однако, на мой взгляд, от этого аппноута мало толку, что он почти на все 100% посвящен толкованию различий между сериями STM32F1 и STM32L4, которые для меня и так очевидны - ведь я на замену STM32F103 не клон и не аналог искала, а что-то более продвинутое. Тем более что STM32F103 по нашему времени уже старичок, оттого-то так популярен у китайцев и россиян :).
  10. Можно ли STM32F103C8T6 на плате "Blue Pill" перепаять на STM32LF431CBT6? Речь идет не о совместимости прошивок (конечно же одна для другого не годится), а о совместимости по пинам и обвязке. Картинки (pinout) в даташитах уже сравнивала - вроде бы они одинаковые (оба LQFP48). Так допустима ли такая замена? А если допустима, то какой еще контроллер можно воткнуть на место STM32F103C8T6 в этой плате, чтобы он в этой обвязке заработал? (китайские клоны не предлагать) P.S. Платы "Blue Pill" предельно дешевы, и на одной из них контроллер у меня сгорел (VCC коротит на VDD). Вот я и подумываю о возможности запаять на его место что-то более продвинутое, не изменяя схему платы.
  11. У меня тоже на STM32F103 периодически зависало, пока не уменьшила приоритет прерываниям от USB. Суть в том, что прерывания от системного таймера должны иметь бОльший приоритет, чем USB, UART и I2C, т.к. в их реализация в CubeMX иногда вызывает задержки HAL_DELAY(), которые превращаются в бесконечность, когда системный таймер не может пробить свое прерывание.
  12. Купила себе плату с этим АЦП (на прошлой неделе почтой пришла). Про внешнему виду понравилась - многоступенчатой фильтрацией напряжения питания. Судя по количеству конденсаторов и LDO, там сперва напряжение повышается до необходимого уровня, а затем покаскадно сглаживается фильтрами и урезается с помощью LDO до следующей ступени фильтрации. А на выходе из ЦАПа поставили операционный усилитель (AD825) с выходом на коаксиал. На мой взгляд это довольно редкий случай, когда модуль АЦП или ЦАПа снабжают такой солидной обвязкой (чаще о качестве напряжения питания предоставляют заботиться покупателю). А вопрсос у меня такой: кто уже работал с этим ЦАПом, подскажите, как/чем заполнять его "register map". Ибо регистров для настройки у него много, а среди них есть и установка режима самокалибровки. Пока самостоятельно мне разобраться в этой кухне не удалось, а хотелось бы испытать эту плату в деле до того, как на нее закончится период подачи претензий.
  13. Зеркала обычно делают на основе металла (даже если этот металл напыляется на стекло), но металлы ИК хорошо отражают. На мой взгляд для этой цели лучше всего подойдет глянцевая белая плитка (которой обычно ванные комнаты и туалеты изнутри покрывают). Смотреться такое зеркало нельзя, но свет оно довольно хорошо отражает (альбедо даже лучше снега).
  14. Осмелюсь предложить свой вариант, хотя далеко не уверена, что эта идея годится для микроскопа. Суть моей идеи - зеркало, которое видимый свет отражает, а тепловое ИК поглощает.
  15. У меня оно вот так, но всё переносимо:
  16. В классическом C все переменные объявляли в начале блока для того, чтобы внутри блока goto пользоваться :). Потому что как только goto перескочит через объявление переменной - быть ошибке. Но если посмотреть на ассемблерный листинг компилятора, то там всё равно место для всех локальных переменных выделятся на стеке в начале блока. А если что и хорошо, то это декларация переменной цикла внутри оператора for. Сильно это мне нравится, особенно когда в качестве такой переменной компилятор использует регистр.
  17. J-Link

    У меня на этой вкладке вроде всё то же самое, тем не менее, J-Link прошивку не запускает:
  18. Согласна, действительно это задается в конфигурации.
  19. А почему тогда I2C его для себя резервирует? А и откуда ему знать, какая у меня шина - SMBus или нет? А раз есть SMBAL, то вероятно I2C должна как-то на него реагировать, а иначе зачем он?
  20. У меня совсем короткий вопрос про ... SMBAL. У STM32 бывает по штуке на каждом I2C: I2C1_SMBAL, I2C2_SMBAL и т.д. По описанию это линия активации прерывания от каких-то SLAVE-устройств. Однако у CubeMX номер прерывания для нее не задает. Тем не менее, I2C "подминает" этот пин под себя, например не дает таймеру TIM3_CH2 с этим пином работать. Мой вопрос: можно ли использовать SMBAL-пин в качестве выхода, как обычный GPIO? Не повредит ли это работе I2C, если оно в это время работает?
  21. Сейчас поветрие такое - всем переходить на 64-разряда. Даже Intel грозится, что в своих будущих процессорах отрубит 32-разрядность, как когда-то в прошлом отрубили 16-разрядность. EWARM, EVAVR уже перешли на 64 разряда, a EWRICV изначально такой была. А ныне и до EW403 очередь дошла. Скорости 64-разрядность едва ли добавит, но ее главный козырь - возможность использовать всю память компьютера, тогда как нынче у всех компьютеров памяти больше, чем 4 ГБ. Причем совершенно не обязательно в случае, когда сама программа (в данном случае компилятор IAR'а) требует много памяти, а уже лишь по той причине, что куцая память может быть к этому моменту под завязку занята другими приложениями. Например, мой Firefox-браузер (64-разрядный), кажется, всю память раньше занимал, пока я не поставила в свой компьютер 64 ГБ (4х16).
  22. jcxz прав, EW430-8102 действительно позиционируется как 64-разрядная версия. Однако меня сильно заинтриговал тот факт, что компилятор у топикстартера компилирует нормально, а стало быть, патчер "iarpatcher32 v1.16" его ухитрился вылечить. А поскольку этот патчер я сама писала :), то равнодушно пройти мимо этого факта никак не могла. И вот что выяснила. Компилятор IAR EW430 v8.10.2 оказался из ряда вон выходящим - он позиционируется как 64-разрядный (и в соответствии с этим инсталлируется в "Program Files"), однако компиляторы с языков C/C++ (icc430.exe) и ассемблера (a430.exe) у него 32-разрядные. Такое я встречаю впервые. Однако это первая 64-разрядная версия для MSP430, а потому весьма вероятно, что что-то не успели к сроку доделать и закрутили в инсталлятор их 32-разрядные варианты. Именно поэтому компиляция у топикстартера идет (32-разрядный компилятор вылечился), но при отладке dll-модули (для каждого из отладчиков) требуют лицензию, поcкольку все эти dll - 64-разрядные. В этой ситуации я могу посоветовать вернуться на предыдущую версию из 7-ой серии (EW430-7211-Autorun.exe), которая еще на 64-разрядность не переходила, а потому нормально лечится. Однако можно и рискнуть - проинсталлировать EW430-7211-Autorun.exe, вылечить ее, а потом подпихнуть из нее отладочные dll-файлы в последнюю версию EW430-8102.exe (предварительно сохранив где-нибудь их оригиналы). Я же помочь в этом никак не могу, т.к. с MSP430 никогда не работала и отладчика для них у меня нет.
  23. Спасибо большое! А я даже надеяться не могла, что на CubuMX это возможно, т.к. у меня выход на Ethernet через транссивер DP83848, который на ST не делают (и в свои демо-плат не вставляют). Да и само сокращение "ETH" я не разгадала, хотя вроде бы его прежде видела.
  24. Хорошо, если есть такая возможность, однако пока моя плата не заработала, ставить TDST мне не на что - у мертвой платы нет IP-адреса. Именно поэтому я сейчас занята поиском для нее прошивки, т.к. считаю это первостепенной задачей, через которую мне не перешагнуть.
  25. Ну, а импортной компьютерной программе что я скажу? У нее в настройках выбор номера СОМ-порта, через которой она осуществляет связь со своим железом (теперь уже с моим). Она как-то определяет, какие СОМ-порты существуют (хотя виртуальные от реальных не отличает) и предлагает в комбобоксе выбрать какой-то из них. Соответственно этому, TCP-стеки она не видит и работать с ними не будет (не умеет).
×
×
  • Создать...