- Здравствуйте, можно вопрос - чем сейчас можно синхронно
(земля+измерит) переключать измерительные цепи напряжения? измеряю
отдельно каждый элемент аккумуляторов = 16 шт, начальство хочет с
ADS1115 (4 канала) измерять 16 элементов. схема на LTC68041
работает = 12 ячеек не устраивает, начальству надо 16 шт LiFe04. - cтpaтeг(03.03.2023 15:44,
, MCU, полностью)
- Панели Nextion. Имеет смысл связываться? С одной стороны заманчиво, с другой очень ардуиной
воняет. Я так понял там недоскада наоборот, панель ведомая. - IBAH(18.03.2023 17:44, MCU, полностью)
- Кто-нибудь помнит, у ADuC812 защита от считывания прошивки была? - Chum_A(10.03.2023 16:57, MCU, полностью)
- Как сделать уведомление обработчику прерываний единообразно? Есть
декларация hwdevN, можно ли не вынося в заголовочник декларацию
структуры с параметрами(которые использует обработчик) сделать
уведомление вроде hw_Notify( hwdev0, value); чтобы вызывающий код
не знал о внутреннем устройстве обработчика прерываний? Dingo(400 знак., 10.03.2023 07:46, MCU, полностью)
- Какие проблемы? =AlexD=(161 знак., 10.03.2023 10:25)
- Ух ты. Модулой-2 повеяло :) В духе Си - указатель на void. Если
хотите проверять тип - объявите указатель на массив "снаружи", а
внутри функции - приведение типа и локальную переменную-указатель
на структуру. Cкpипaч(131 знак., 10.03.2023 09:45)
- А в чём проблема? описываешь две структуры, начало одинаковое,
конец по длине разный :) пpoгpaммиcтcи(37 знак., 10.03.2023 08:08,
)
- За указателем на void можно спрятать всё, что угодно. И отдельным
аргументом передать код типа, например. Или, если обработчик шибко
умный, он по значению указателя сам догадается. Но вообще странное
желание, наверняка можно сделать не так экзотично. - SciFi(10.03.2023 07:56)
- Как в SPL от STM делали device0_event(), device1_event(), ... ? - Dingo(10.03.2023 10:06)
- Что это такое? STM знаю. SPL не знаю. - SciFi(10.03.2023 10:14)
- Standard Peripherals Library - библиотека от производителя до Cube. - Dingo(10.03.2023 10:20)
- Это я слышал. Что такое device1_event()... не знаю. Если бы дали
ссылочку на код с какого-нибудь гитхаба, может, что-нибудь и
подсказал бы. - SciFi(10.03.2023 10:23)
- Как минимум один случай подобной организации функций: Dingo(1338 знак., 10.03.2023 10:30)
- Не смотрите туда, это г-нокод. Научат плохому. - SciFi(10.03.2023 10:30)
- Вот и мне такое не понравилось. - Dingo(10.03.2023 10:32)
- Просто есть несколько регистров AHB1RSTR, AHB2RSTR, AHB3RSTR,
APB1RSTR, APB2RSTR, AHB1ENR, AHB2ENR, AHB3ENR, APB1ENR, APB2ENR.
Какой-то умник подумал, что типичный ымбеддер испугается
устанавливать и сбрасывать битики в них, это же ужас-ужас. А
функций не испугается! Бред? Так точно, бред. - SciFi(10.03.2023 11:11)
- Всем привет! Друзья, может кто встречал и знает такую платку
управление LCD? Не могу мануал на нее сыскать. vesago(2 знак., 03.03.2023 15:23, MCU, картинка, картинка, полностью)
- Вроде где-то на сайте были бенчмарки для микроконтроллеров, с
исходниками и результатами. Найти не могу. Вроде не пьян. - max(02.03.2023 16:28, MCU, полностью)
- Потребовалось удалённо конфигурировать систему. При инициализации
заполняю структуры численными значениями из флэши проца (stm32).
Которые туда записываются парсингом получаемых с сервера файлов.
Прикол в том, что это три независимых структуры, соо-нно три файла.
Пользователь будет конфигурировать у-во изменяя данные в файлах. Но
все это хранится и во флэши, причем в одном секторе, который надо
стирать весь, чтобы что-то там перезаписать... И попал я в какой-то bnb62(248 знак., 27.02.2023 09:38 - 01.03.2023 22:11, MCU, полностью)
- Что вы там такое наворотили?! У меня в меньше 500 строк,
инициализация, поиск блока по своему тегу, контрольные суммы. Нужна
структура - присваиваем тег, по нему и ищем при случае. Не файл
целиком, а блок данных/параметров. Есть тонкости типа ограничения
размера и другого, но всё поправимо. При чтении тега ищем последнее
валидное вхождение. Использует SPL. Dingo(570 знак., 02.03.2023 06:03, ссылка)
- надвое: либо ОЗУ хватает чтобы хранить одну страницу флеш, либо не
хватает, тогда следующий вопрос, записывать можно хоть по одному
слову, и если вдруг стерли и записали настроек только часть, сможем
запуститься и натворить плохих дел? надо чтобы не смогли. а просто
тормозить запуск и требовать дозаписать недостающее, либо же
инициализировать недостающие данные по умолчанию но тоже проорать
что нас не настроили до конца, стартуем с дефолтом. законченность
записи данных NAUT(219 знак., 28.02.2023 00:36)
- Рекомендую ознакомиться с аппнотом STM "eeprom emulation" как
список идей. Упрощённо так: модификации все в буфере в RAM,
записываем следующий, сохраняя предыдущий (copy on write), при
чтении берём последний целый(валидный). Хорошо использовать
несколько страниц для размазывания износа и возможности чтения при
ошибках. И помните, что контроллер на время записи заблокирует
флешь, где хранятся обработчики прерываний... Dingo(1 знак., 27.02.2023 12:23, ссылка)
- не касаясь вашего случая, спасибо за идею. Думаю тоже перейти на
этот метод - скидывать файл конфигурации с FTP, чтоб проц потом всё
куда надо раскидывал. - Лaгyнoв(27.02.2023 11:13)
- Сектор переписываешь в RAM, там обновляешь и потом записываешь. А
лучше записываешь в след. сектор и переводишь указатель. - General(27.02.2023 09:52)
- Не селен в Keil, встала задачка написать boot loader для мегавин
хотелось бы утоптать в 1К это все. Но Keil на Си сходу создает
проект 1,3кБ (для ARM), куда копать? Вроде методом тыка пытаюсь
пофиксить всю инициализацию переменных и т.п., но что то
кардинального в уменьшении кода получить не могу. - PeterD(01.03.2023 10:21, MCU, полностью)
- Выбираю микроконтроллер для прототипа с аналоговыми сигналами.
Склоняюсь к STM32F303, но уж больно он старый. Может быть что-то
получше есть? И второе, где сейчас модно ОУ подбирать без ВПН?
Хочется Rail-to-Rail похожий на AD8022 и доступный как MCP6022. - Costic(29.01.2023 21:10, MCU, полностью)
- А не встречал ли кто у китайцев микроконтроллеры с рабочей
температурой ниже -40? (наподобие Texas Instruments Enhanced
Plastic) В Китае около 100 микроконтроллерных контор, может и такое
есть? - AlexG(25.02.2023 08:06, MCU, полностью)
- Кто нибудь разбирался как устроены недороги самонастраивающиеся
релейные регуляторы температуры? Я так понимаю, там
пропорциональное звено с коэф. 1 и дифференциальное с адаптивным
коэффициентом, релейный элемент переключение в 0. Не могу придумать
алгоритм адаптации дифзвена. - IBAH(15.02.2023 12:53, MCU, полностью)
- толково про релейный регулятор DH(2 знак., 19.02.2023 08:41, ссылка, ссылка)
- Кажись придумал. Короче, ПД регулятор, П=1, Кд адаптируется
следующим образом: IBAH(538 знак., 17.02.2023 12:47 - 18.02.2023 13:49)
- По занудствую. Сиё на сколь я понял ТЗ - речь идет про систему
"автоматической обратной связи". там обходятся интеграторами и
дифференциаторами. можно на рассыпухе , можно на операционниках.
теорию и практику лет 30 назад изучал/использовал. Есть "слежение"
по позиции, по скорости изменения, по ускорению. - Zoro(15.02.2023 21:22)
- а такие бывают? покажи пример - LordN(15.02.2023 15:23)
- Там тупо гистерезис. Либо заданный двумя температурами, либо одной
заданной и ширина плеча гистерезиса. Это недорогие. Cкpипaч(325 знак., 15.02.2023 13:49)
- Ну вообще-то дифсоставляющая таки нужна для точных
терморегуляторов. Позволяет скомпенсировать задержку
распространения тепла от нагревателя до термодатчика. Когда делал
инфракрасную паяльную станцию для пайки BGA несколько лет назад,
без дифсоставляющей никак невозможно было побороть
перерегулирование, а оно там недопустимо вообще. Тупо затягивать
динамику пропорционалом и интегралом не вариант, там жёсткие нормы
на скорость разогрева/охлаждения. Когда правильно настроена Yurasvs(156 знак., 15.02.2023 20:16)
- есть модификации гистерезисного регулятора, когда включение и
отключение происходит с каким-то опережением, вычисляемым
пересечению сигнала ошибки через нуль, при знаке производной +
отключаем, при минусе - включаем. иногда работет неплохо. одно
время было популярно в сплитах, пока не стали массово появляться
инверторы и смысл в этот пропал абсолютно. LordN(299 знак., 15.02.2023 15:31)
- Укроинфополе разрушает мозг, в результате он способен только на
автоматизацию "торговых центров". - IBAH(15.02.2023 15:18)
- Включили воздействие, с секундомером замеряем зависимость отклика
от времени, находим постоянную времени цепи. Частота это обратная
величина от постоянной времени - DH(15.02.2023 13:21)
- Первое, что приходит в голову - критерий выхода на заданную частоту
коммутаций. Слишком часто - уменьшаем дифф. коэффициент. Слишком
редко - увеличиваем. И всё. - Nikolay_Po(15.02.2023 12:54)
- Добрый день! Как оптимально разбирать сообщения от модулей типа
SIM800L. По UART данные падают в кольцевой буфер, а дальше? Как их
правильно разбирать? Как искать конец строки, там же нет
терминального нуля, есть только \r и \n. petrd(33 знак., 08.02.2023 16:27, MCU, полностью)
- Все было хорошо (в моей реализации) до момента пока был обмен по
типу "запрос-ответ". Все сломалось когда пошли асинхронные данные
(например, смс), а они мне нужны. - petrd(13.02.2023 08:18)
- Недавно всё у себя переделал. Раньше вообще выпадал из основной
программы, пока не закончу с модемом. Теперь по каждой посылке в
модем по прерываниям в буфер приходит ответ. Смотрю, что всё
пришло, разбираю и шлю новую посылку. Зачем здесь "кольцевой"
буфер? Всё равно каждая следующая посылка зависит от ответа на
предыдущую. И там - ветвление. Да, сразу не понял. В принципе
большинство простых ответов заканчиваются "ОК" и CR,LF. Но есть
масса ответов со смыслом, где есть Лaгyнoв(128 знак., 08.02.2023 17:17)
- Я бы делал буфер для полной строки (в дополнение к или вместо
кольцевого буфера). Когда набирается полное сообщение, тогда его и
разбираем. Можно при помощи sscanf, strtok, memcmp и т.д. - SciFi(08.02.2023 16:47)
- А кто заставляет именно в конце чего-то там проверять? .. ресурсов
сейчас на всё обычно хватает... POV(233 знак., 08.02.2023 16:39, картинка, картинка)
- Web контроль 3 часть. Всё работает, а вот как бы данные сохранять
из контролера через браузер. Сейчас делаю console.log(response) ,
затем руками записываю. Нашёл примеры записи в файл , но нужен
https. Знаю что это нарушение безопасности. Но помнится всякие
блокировщики лет 12 назад умели прописываться и на рабочий стол и
даже в реестр = помню с таким сталкивался - cтpaтeг(14.02.2023 11:18,
, MCU, полностью)
- Кейл51. Два варианта кода. Один дает глюки. Кейл проигнорил
volatile или я не смог тому внятно сказать что хочу?.. POV(234 знак., 11.02.2023 14:38, MCU, картинка, картинка, полностью)
- Так и должно быть! Вставьте между двумя присвоениями вызов
какой-нибудь фиктивной функции или хотя бы NOP. - Bill(13.02.2023 13:05)
- обоснуй - POV(13.02.2023 13:09)
- Вообще-то неплохо было бы на сгенерированный код взглянуть. Я думаю
так. Компилятор копирует переменную systick в какой-нибудь регистр,
а содержимое этого регистра копируется в обе переменные и далее
сразу идёт проверка условия. Другими словами. компилятор может
исходное выражение привести к виду Bill(137 знак., 13.02.2023 13:24 - 13:30)
- Если systick был объявлен как volaitle, то, вне зависимости от
того, куда класть его значение, вне зависимости от переменных temp,
должно быть обращение к systick принудительно. Простите, без
подписей что к чему, в асм-е Nikolay_Po(713 знак., 13.02.2023 14:15, ссылка)
- Топик пошёл по N-ому кругу. Кот уже был, всё там нормально
>>> SciFi(1 знак., 13.02.2023 13:28, ссылка)
- А как NOP этот гипотетический сценарий исправит? - POV(13.02.2023 13:28)
- Я когда на 51-м прогал, делал две вещи: 1) Обработчик от таймера
использовал отдельные банки регистров. Там их 4 было. 2) При чтении
таймера проверял "атомарный" флаг, который взводился в прерывании,
и если он был сброшен, то запрещал прерывания и считывал. - Звepoящep(13.02.2023 08:27)
- У вас кейл -51 следовательно MCS-51, следовательно атомарны только
чтения байтов. Вы читаете 4 байта, следовательно чтение не
атомарно, следовательно величина может изменится во время чтения.
При проверке temp!=systick время чтения systick больше чем при
temp2 =systick следовательно операция temp!=systick чаще приводитк
к глюкам, но это не значит что и код temp2 =systick тоже
безглючный. Вам нужно либо прерывания запрещать на время чтений
systick либо организовывать мютекс, Boвa(33 знак., 12.02.2023 10:09)
- А волатиле ваще не про это. Тут, походу, прерывания запрещать. - mse homjak(11.02.2023 23:42)
- Я бы с торону стека смотрел. Покажи, что выдаёт компилятор/линкер
после сборки - вот эту строчку: "Program Size: data=129.4 xdata=876
const=285 code=11864" И хорошо бы настройки/опции проекта глянуть:
Target и C51. Costic(1 знак., 11.02.2023 21:19, картинка)
- Листинг дизассемблера в студию. - SciFi(11.02.2023 21:04)
- По-моему, действительно глюк компилятора, если systic объявлен
volatile. - Nikolay_Po(11.02.2023 21:01)
- Не видно как объявлен systick. Он volatile ? - ЫЫyкпy(11.02.2023 14:59)
- volatile должен быть systick, для temp это бесполезно. Дальше надо
смотреть что в асме получилось - AlexBi(11.02.2023 14:56)
- Косяки смачные в компиляторах бывают:-) Писал на ПИКе
восстановление ошибок посредством БЧХ 31. 21, оказалось что с
переменной в 32 бита не работает вариант var32 = var 32 ^ 1.
Инверсия младшего бита. Как то иначе сделал. - Visitor(11.02.2023 14:53)
- Спрошу, на всякий случай про STM32F407VGT6. Пришли сегодня, один на
место F207 ого впаял, КЗ нет, как бы проверял соответствие. Вот
прошивка по DFU USB не работает, F207 в плате шился. Может
проглядел что то? Хотя, и F207 партии попадались, где 50 на 50. - Visitor(02.02.2023 19:08, MCU, полностью)
- встречались 205-е, в которых калибровки какие-то отсутствовали.
тоже не шились по DFU. некогда было искать, что ещё в них не так -
возвращали продаванам партиями - Vit(03.02.2023 06:00)
- были несколько партий 405х, по дфу не шились, только джитагом
(свд), все остальное работает. Считаю, либо какая та заказная
партия для кого то с отсутствующим (или измененным) дфу - 0men(02.02.2023 19:16)
- А USB в дальнейшем работает или нет? Для нас важно. Измененный вряд
ли, пуллапа нет, внешний напаял, комп булькает при подключении,
загрузчик проц не видит. Понятно, что булькать будет при подтяжке
линии ДП. - Visitor(02.02.2023 19:37)
- работает без проблем штатно - 0men(02.02.2023 19:40)
- Спасибо, обнадежили:-) Завтра проверять будем. - Visitor(02.02.2023 19:44)
- ? - Nikolay_Po(03.02.2023 17:55)
- См. выше:-) Причем, прошивку от 207 залили без перекомпиляции,
дивайс полностью прет. Программисты сами в шоке:-) - Visitor(03.02.2023 18:37)
- Спасибо! - Nikolay_Po(03.02.2023 18:37)
- Как бы радует, что все так просто, но осадочек то остался: в процах
даже коры разные, кортекс 3 и 4, совместимость, видимо. Ресурсы
используемые на плате: USB communication class, Ethernet rmii,
Uart, 8 ADC, 4 PWM, I/O. Все проверили, ОК, а где подвох? - Visitor(03.02.2023 19:08)