Поздравляем Dingo с днём рождения!
- [!!! NVidia может купить ARM] - Evgeny_CD(23.07.2020 14:55 - 24.07.2020 00:46, dao, ссылка, полностью)
- Господа, есть проблема в понимании вложенности упакованных
структур. В функцию передается указатель на структуру, в результате
внутри и снаружи функции структура видится по разному, отличия в
хвосте вложенной структуры - в одном случае он "съеден", в другом
он пустым местом. Что говорит теория по этому поводу? VLLV(216 знак., 06.04.2020 15:17, dao, полностью)
- А структуры объявлены через typedef или непосредственно? - IBAH(07.04.2020 21:03)
- Я бы отказался от упакованных структур вообще. Проблема упакованных
структур, что абсолютно все должны знать, что вот именно эта
структура -- упакованная. А атрибут применяется не к типу данных, а
с переменной. В итоге тот же указатель -- он указывает как бы на
обычную (не упакованную) структуру уже. Либо замучаться везде
писать packed, либо отовсюду убрать, что сильно проще. Ибо вообще
непонятно зачем, создает массу проблем и ничего не решает.
Сериализацию нужно нормально fk0(29 знак., 06.04.2020 17:06)
- Я отказался в новых проектах, а в старых не могу из-за
совместимости с ранее выпущенными устройствами. - VLLV(06.04.2020 21:41)
- Разве? Сколько раз использовал Andreas(118 знак., 06.04.2020 17:17)
- В хедере описываете тип: LightElf(137 знак., 07.04.2020 17:52 - 08.04.2020 00:26)
- +1 - Aleksey_75(07.04.2020 17:57)
- Есть очевидная проблема, как например взять адрес члена упакованной
структуры и передать его по-указателю в функцию, например? А никак.
Потому, что член имеет определённый тип со своим свойстом alignas
(в C++, в C тоже, но неявно) и он ничего не знает, про то что
уложен в упакованную структуру. А для работы с членом положенным в
упакованную структуру нужно генерировать совершенно другой код
(из-за "ручного" выравнивания например). fk0(196 знак., 07.04.2020 21:55)
- Да, теперь понял в чем проблема, спасибо. Но до таких высот я пока
не поднимался и члены структур передавал в ф-ции только по
значению, и то редко. ИМХО заполнять заголовок пакета(а зачем еще
упаковка?) надо в одном месте. - Andreas(07.04.2020 22:35)
- вы о членах структуры которые сами являются структурами ? хм!
Принято! Хотя я последнее время поголовно упаковываю - Aleksey_75(07.04.2020 22:08)
- Нет, я даже об обычном int, например. Он же тоже выровнен должен
быть. И если на AVR оно прокатит, то на ARM'е может не проканать. - fk0(07.04.2020 22:18)
- Если долго и упорно стрелять себе в ногу - то рано или поздно
попадешь. Вменяемые люди таки обычно располагают поля структур
сообразно их размеру. - LightElf(07.04.2020 23:05)
- Тогда и упаковка не нужна. - fk0(07.04.2020 23:56)
- Какие альтернативы, например, для такой структуры? LightElf(475 знак., 08.04.2020 00:33)
- Сериализация руками. Вообще адский говнокод, очевидно же, хотя бы
из-за ендианности. Хотя ты конечно выкрутился и int32 у тебя
оказался случайно выровненный. Но если развивать мысль дальше, то и
без прагм оно точно так же разложит. Спрашивается, зачем
"упакованная" структура? - fk0(08.04.2020 01:33, ссылка)
- Но зачем делать руками работу компилятора и/или железа?
Эндианность, очевидно, в IP пакете фиксирована. А в коде, очевидно,
используются стандартные HTONL()/htonl() сотоварищи. Без прагм, в
зависимости от компилятора и целевой платформы, может разложиться
весьма по-разному. С прагмами - единственным определенным образом.
И почему это "случайно выровненный int32"? Вполне себе не случайно,
а вовсе даже прописано в спецификации на драйвер канального уровня.
Для LightElf(95 знак., 08.04.2020 02:37)
- Зачем делать работу... в твоем случае ни за чем. Но в общем случае
-- это не решение, а говнокод. - fk0(08.04.2020 11:46)
- Никак по-разному разложиться не может. Разложится всегда именно так
же как и с прагмами. Потому, что иначе не были бы возможны массивы
(alignas == sizeof) если речь идет о типах uint8, uint16, uint32 и
о "ручном" раскладывании с выравниванием, как сделано у тебя. А
если речь о других типах (структуры), или раскладка не выровненная
(int32 не на 32-битной границе), то возникает упомянутая мною
проблема: невозможность использования указателей. Выводы -- прагмы
бесполезны и не fk0(104 знак., 08.04.2020 11:42)
- А ты упертый :) Но блох ты ловишь не там. Разложиться по-другому
может, особенно на архитектурах без 16-битных операций (типа ARMv4)
- компилятор выровняет uint16_t на 32 бита. А вот как раз получить
раскладку с int32 не на 32-битной границе - это надо сильно
постараться. Ну и использование указателей на поля структуры,
вместо указателя на структуру целиком - это путь к успеху. - LightElf(08.04.2020 12:17)
- Отлично. Но ты ж сам доказал, что говнокод. На ARMv4. У тебя там
что лежит за 16-битным значением окажется не выровненным и на него
нельзя будет взять указатель. А сериализация ручками -- она всегда
работает, надежно железобетонно. И использование указателей на поля
структуры -- нормальный способ, иначе как писать абстрактные
функции, а не функции работающие именно с такой структурой. Хотя
конечно скалярные значения нормальные люди возвращают вовсе
по-значению, но случаи они fk0(14 знак., 08.04.2020 13:50)
- Я ж говорю - упертый ты :) В приведенной выше упакованной структуре
(стандартном заголовке IP пакета) все поля натурально выровнены.
Т.е. uint16_t лежит по смещению, кратному двум, а uint32_t лежит по
смещению, кратному четырем. Так задумано изначально не самыми
глупыми людьми. Соответственно, если сама структура лежит по адресу
кратному четырем, то и все ее поля лежат как положено. И указатели
нормально можно брать и использовать. Упаковка нужна, чтобы особо
умные LightElf(208 знак., 08.04.2020 16:21)
- Ну есть же возможность объявить указатель __packed, тогда
компилятор знает, что выравнивания нет. - VLLV(08.04.2020 14:55)
- Покажи пальцем где есть, я не в курсе. Всю жизнь упакованными были
только структуры, а не указатель на int. Кроме того, невозможно же
всем функциям присвоить такой атрибут. Есть, например, обычная
функция, которая возвращает значение по-указателю (например,
time(3)) и она ни сном, ни духом, что её аргумент могут положить в
упакованную структуру. - fk0(08.04.2020 15:09)
- Help IAR VLLV(1 знак., 08.04.2020 17:45, картинка)
- У меня ИАР ругается: argument of type "int __packed *" is
incompatible with parameter of type "int *" йцyкeн(379 знак., 08.04.2020 15:55)
- А разве компилятор не пожалуется, если взять такой указатель без
явного приведения типов и т.п. трюков? - AlexBi(08.04.2020 15:15)
- Невыровненный доступ компилятор может еще и догадается обыграть, а
вот урезанное поле - уже не обязательно. Помню у меня запись в
упакованную структуру грохала пару соседних полей. Решил отменой
упаковки везде где можно. lloyd(47 знак., 08.04.2020 15:36)
- "Урезанное поле" - это когда пакед и не пакед структура различаются
по размеру? И потом a=b, где а и b структуры с разной паковкой? Мне
кажется пакед и не пакед компилятором считаются разными типами со
всеми вытекающими ошибками на этапе компиляции. - AlexBi(08.04.2020 15:55)
- int:4 - я про такие. - lloyd(08.04.2020 16:00)
- Указатели на битовые поля невозможны. И сами битовы поля такой же
источник граблей как упакованные структуры. Их давно пора выкинуть
из стандарта, а упакованных структур и никогда не было в стандарте,
к слову (по причине массы сопутствующих проблем и невозможности
писать портируемый код). - fk0(08.04.2020 16:20)
- Битовые поля, как и обычные поля в структуре - это эффективный
способ систематизации данных. Да, есть недостатки, но цель
выполняет. Если дурак наступает на грабли, так что, от
использования граблей отказаться? - VLLV(08.04.2020 18:06)
- Поэтому в каждом компиляторе есть свой собственный, уникальный
способ сделать упакованные структуры. Я ж говорю, стандартизаторы -
те еще затейники. Ввести в стандарт мало кому нужный complex.h, но
не ввести стопку элементарных макросов с описанием целевой машины
(типа эндианности, направления роста стека, нативного размера
машинного слова и т.д.). В результате каждый второй Цэ-проект на
гитхабе занимается попытками выяснить сие по косвенным признакам. - LightElf(08.04.2020 16:34)
- Смотря как смотреть. Упакованные структуры -- не нужны. Знать тебе
эндианность, направление роста стека и прочее -- зачем? Если ты
пишешь портируемый код, то ты не должен полагаться на такие знания.
Это нужно только системным программистам в исключительных случаях.
А пытаются применять когда попало, когда не нужно -- и огребают
проблем. Код на другой платформе уже или не скомпилируется, или не
зарабоатет. А complex.h же очевидно нужен в цифровой обработке
сигналов, fk0(9 знак., 08.04.2020 16:55)
- Блин, но системное программирование - это и есть основная область
применения Цэ в дивном новом мире питонов и джаваскриптов. И как
раз для портируемости и надо знать эндианность и все такое прочее.
Прятать голову в песок можно сколько угодно, но вот тебе IP-пакет и
у него строго предопределенная эндианность. Ввели бы один раз в
стандарт что-то вроде GCC-шного __BYTE_ORDER__ - и прекрасно. То же
самое с упакованными структурами/типами. Если бы они не были нужны
- никто бы LightElf(359 знак., 08.04.2020 18:29)
- Вот потому и в стандарт и не вводится. Написанная программа должна
одинаково работать на всех платформах. Почему не стандартизовать --
я ответил, из-за проблемы с указателями на члены структуры.
Касательно ЦОС, я видел, где complex.h использовался. Питон здеь ни
при чём, можно конечно всё то же самое сделать руками, посчитав
синусы и косинусы отдельно, и более того в реализации на целых
числах так и будет, но в обобщённом коде -- вполне себе решение. И
да, системные fk0(209 знак., 08.04.2020 22:17, ссылка)
- вот сейчас прям смотрю , передаю в функцию член структуры массив
uint8_t все четко, никаких траблов не испытываю - Aleksey_75(07.04.2020 22:26)
- У меня не gcc, а IAR, а там грабли еще те ... The #pragma pack
directive affects declarations of structures following the pragma
directive to the next #pragma pack or the end of the compilation unit. - VLLV(06.04.2020 21:45)
- Вроде бы про упаковку теория молчит. То есть это это нестандартное
расширение, и наличие глюков в слабо протестированных сценариях не
должно удивлять. Может, лучше код показать? - SciFi(06.04.2020 15:19)
- Помню, давно Aleksey_75 жаловался на наличие напряжения 110В на
корпусе компьютера. При отсутствии заземления, конечно. Что в
России не редкость. Появились в продаже развязывающие
трансформаторы (я советовал ) =L.A.=(1048 знак., 22.07.2020 17:56, dao, ссылка, ссылка, полностью)
- Мощность указана в кВа, не в Ваттах. Мощность в Ваттах = кВа * 0.8. - RxTx(23.07.2020 16:53)
- Ндя, цена микроволновки у которой такой же мощности трансформатор и
еще прорва всякого прочего недешевого добра. - Codavr(23.07.2020 12:04)
- Проходная емкость (экран не подключен) – 800 пикофарад??? - fk0(22.07.2020 23:04)
- Уже более 10 лет напряжение 230В, с допуском до 253В сверху. А они
всё на 220В трансформаторы делают! - Nikolay_Po(22.07.2020 18:40)
- Для дома можно X и Y - конденсаторы из БП удалить. - Visitor(22.07.2020 18:19)
- Ну я пока что не для дома. :) А для масс-спектрометра в Институте
биохимической физики им. Н. М. Эмануэля РАН. =L.A.=(566 знак., 22.07.2020 19:29)
- А зачем вообще ставят конденсаторы между земляным проводом и обоими
сетевыми линиями? Причем не только в ноутбуках, но и в блоках
питания для десктопов. - Kceния(22.07.2020 19:10)
- Данная схема с двумя конденсаторами или Y-конденсатором имеет смысл
только в домах с обязательным истинным заземлением. В таком доме не
два, а три истинных проводника - заземление, ноль и фаза. Два
конденсатора таким образом соединены не с абстрактным "земляным
проводом" или там просто общей массой, а с реальным, настоящим
заземлением. Логично ВЧ токи импульсных помех направить
(закоротить) на заземление. Кстати дальше в направлении сети может
ставиться дроссель и др. RxTx(55 знак., 23.07.2020 17:10)
- Нифига не логично. Токи текут в замкнутой цепи. И если компьютер
стоящий на столе и никуда не подключенный ещё, кроме электрической
розетки -- то с чего токам течь куда-то в заземление? Смысл
Y-конденсатора в том, что ток из вторичной обмотки течёт обратно к
источнику, первичной обмотке. Ну а вторичная обмотка связана с
корпусом, шасси, землёй. Конечно компьютер сам по себе обладает
ничтожной уединённой ёмкостью, есть можно представить виртуальный
конденсатор, где одна fk0(103 знак., 23.07.2020 18:17)
- Дальше там еще можно говорить про синфазные помехи, и эти
конденсаторы (или может быть элементы фильтра) именно от синфазной
(т..е одновременной по фазе и нулю) помехи. Помеха может быть еще
дифференциальной, в этом случае фильтр ставится и работает между
как раз двумя проводами нуля и фазы. - RxTx(23.07.2020 18:12)
- Аппнота от topswitch приложена, там ближе к концу см. схемы с
пояснениями. Если вкратце, то когда закрывается транзистор
(исключением является Zero Voltage/Current Switch technology
популяризуемая Evgeny_CD), то токи-то продолжают течь и начинают
течь через любые возможные места, в первую очередь ёмкости
(монтажа, межобмоточную трансформатора и т.п.) Потом через
некоторое время быстрый диод сообразит, что ему нужно открыться и
цепь замыкается. Ситуация особенно критична для fk0(236 знак., 22.07.2020 23:21, ссылка)
- Есть ГОСТы по уровню электромагнитных излучений, при заземленном
корпусе помогает, в пластике тоже, там заземленный экран имеется,
иногда совмещенный с теплоотводом, а вот для меня остается загадкой
Y - конденсатор, что между первичным минусом и вторичным включен,
якобы должен компенсировать паразитную емкость трансформатора в
флибеке, но даже в резонансном полумосте его наличие повышает
устойчивость ОС. И в дешевых адаптерах током то через него бьет.
Емкость 1000.. 4700 пФ, Visitor(12 знак., 22.07.2020 19:32)
- Изображают фильтрацию продольной (синфазной) помехи. - BlackPrapor(22.07.2020 19:22)
- Там и 4 КВт, чтобы развязку на дом сделать, стоят разумных денег. - Evgeny_CD(22.07.2020 18:12, ссылка)
- ??? а можно первоисточник когда я жалился ?? а то мну похоже
склероз обуял )) - Aleksey_75(22.07.2020 18:11)
- Вот бы в С/С++ была возможность работы с битами переменных, как с
массивом. Ведь любая переменная это массив битов соответствующего
размера. И диапазоны бы пригодились [2:6] типа как в Питоне maleon(10 знак., 03.07.2020 13:09, dao, полностью)
- Кстати, а в Кодевижине к битам портов можно обращаться как к полям
структур, записывать туда и читать оттуда, например, TIFR1.OCIE1A =
1; - maleon(21.07.2020 13:50)
- А какая размерность массива бит нужна? Компиляторы легко
поддерживают до 64 бита, всего то адресация через дополнительное
преобразование номера бита в маску. - VLLV(06.07.2020 09:51)
- Скажу больше. В Си вообще нет массивов! Есть операция индексации []
определенная над указателем. Никто не запрещает определить операцию
битовой индексации, определенную либо над значением, либо над
указателем. - Зaбылпapoль(05.07.2020 12:38,
)
- Переменная это "массив" байтов. В большинстве вычислительных
архитектур байт — это минимальный независимо адресуемый набор
данных. - BlackMorda(04.07.2020 22:11)
- Но зачем? - lloyd(04.07.2020 21:57)
- Понимая, что от языка не дождёшься, придумали для АРМ-ов области
"Bit band alias"-сов, maleon(214 знак., 04.07.2020 14:17 - 16:29)
- "Абстракторы головного мозга" до сих пор не осилили получения адрес
битового поля, пусть даже младшего байта и смещения в нём, а вы
говорите массивы бит. Дoктyp77(241 знак., 03.07.2020 14:49,
)
- Есть же vector<bool> и std::bitset. Но использование этих
классов, если нужна сколько-нибудь сложная работа с битами -- не
эффективно. Они преимущественно позволяют работать с отельными
битами. Но ведь если нужны массовые операции, то их удобнее делать
с машинными словами, а не по отдельным битикам (до 64-х раз
быстрее!) В принципе можно написать свой подобный класс, который
позволяет обеспечивает только адресацию внутри битового массива
(слово и маска, последняя fk0(152 знак., 03.07.2020 13:49)
- std::vector<bool> - RxTx(03.07.2020 13:34)
- std::bitset - RxTx(03.07.2020 13:33)
- Такого могут хотеть только жадные задроты, нормальные программисты
булев тип записывают в int и не парятся, даже если он 64-битный - maleon(03.07.2020 13:29)
- Она есть, можно нафигачить на шаблонах с constexpr функциями и
перегрузить оператор []. И это все будет считаться на этапе
компиляции - evgeniy1294(03.07.2020 13:23)
- Потом ещё захочется как с массивом байтов (слов и т.д.). Пусть
остаётся всё как есть, нельзя такого хотеть. Объединения и битовые
структуры для этого уже придумали - maleon(03.07.2020 13:20)
- "Samsung периодически проверяет по сети все свои устройства на
соответствие текущим системным политикам компании" - хоть
кардиостимуляторы и самолеты не делают. - evgeniy1294(20.07.2020 16:05 - 19:44, dao, ссылка, полностью)Evgeny_CD
- Циклический ребут -- классика жанра. Бутлоадер должен уметь функцию
обнаружения проблемы, остановки на пятой попытке и перепрошивки с
помощью не удаляемого и не обновляемого железно-работающего
бутлоадера с синим экраном (мол включите в интернет и ждите). Ну и
опять же, отказ одного маленького компонента всей системы не должен
обрушивать всю ракету. А то привыкли -- программа мол допустила
ошибку, подумаешь, компьютер ошибся. Почему важна СТРАТЕГИЯ
обработки ошибок, а не fk0(36 знак., 20.07.2020 17:10)
- Для такого сценария, между прочим, нужно изначально рассчитывать,
что устройство всегда в онлайне по интерфейсу, доступному
бутлоадеру. Что оно может стучаться на фиксированный IP и
выкачивать подписанные блобы. lloyd(130 знак., 20.07.2020 20:04)
- Хорошее слово «ребут», столько всего с ним рифмуется... - Kpoк(20.07.2020 20:01)
- Сейчас программиситы не те....они сидят в удобных теплых креслах и
совсем не понимают, что можно изза их гребаной лени на вертолете
туда обратно летать... - sav6622(20.07.2020 19:15)
- Нууу американцыыы, нуууу дебилы.....! А может дебилы те, кто все
подобные вопросы свалили на программистов? Ибо это типичный просчёт
управленческого уровня. Дело программиста -- программировать от
проходной и до обеда, согласно техническому заданию или иной
заменяющей его документации. Которая рождается в конечном счёте из
скоупа работ и имеет строчки в бюджете. А если в бюджете только
багфикс, а всё остальное сделано подпольно -- кто виноват? - fk0(20.07.2020 23:18)
- А давай щаз поделим кто из тех кого называют программерами виновен
лично, архитектор, писатель алгоритмов, фронтендкодер, бэкендкодер,
дизайнер, тестер, менеджер проекта, директор... - Codavr(21.07.2020 09:18)
- Что характерно, среди перечисленных нет никого, ответственного за
собственно то, что должен делать продукт, какие функции и как в нём
должны быть реализованы. Никакие "писатели алгоритмов", "аналитики"
и прочие "архитекторы" ничего не решают на самом деле, потому, что
менеджер может ассайнить только таски обоснованные бюджетом
проекта, который или уже подписан у заказчика и зафиксирован, если
контора продуктовая, или направления работ утверждаются на
периодической основе, fk0(1579 знак., 21.07.2020 12:02)
- Одна жена готовит, одна детей воспитывает, одна мужа любит...... и
всё одна? - Kpoк(21.07.2020 10:54)
- "Убивайте всех, Бог разберётся" - древняя мудрость из средних
веков. symbions(173 знак., 21.07.2020 09:54)
- Пока они не оплачивают вертолет сами - может, им по приколу на
вертолете полетать. - Evgeny_CD(20.07.2020 19:43)
- Ну и ещё перед выкладыванием таких файлов нормальные люди тестируют
на ограниченном подмножестве пользователей, начиная со своей тест
лабы. И без подписи QA никакую буковку поменять нельзя. - fk0(20.07.2020 17:14)
- Так что наш закон про КИИ по делу. - Evgeny_CD(20.07.2020 16:23)
- Есть ли (и где) программа для CH341A чтобы прочитать/записать 24
eeprom с запаянным на плате ненулевым адресом? - GF6(21.07.2020 12:45, dao)
- Отчёт по государеву проекту. Требуют текст программы, но в формате
*doc. При экспорте из любого человеческого редактора теряется вся
красота. Есть какие-нибудь трюки? - Kpoк(19.07.2020 13:46, dao, полностью)
- Используем моноширинный шрифт для текста программы и заменяем
табулирование пробелами в зависимости от того какая ширина
табулирования в исходнике и всего делов. Или какие то грабли в
наличии? - Codavr(20.07.2020 08:31)
- On line конвертер RTF в doc, docx. Вдруг прокатит? - Evgeny_CD(20.07.2020 00:09)
- Переименовал *.c в *.doc, открыл в ворде, всё чики-пуки. ЧЯДНТ? - SciFi(19.07.2020 23:42)
- За такое - не забудь встать в ворд пасхалочку "define true==false". - OтпeтaяToчкa(19.07.2020 21:13,
)
- Как-то непонятно. Им красоту или *doc? В том смысле, что "всё равно
эту херню никто читать не будет". А я-то ещё считал себя нищастным,
когда с меня потребовали сборочные чертежи ПП. Вот, где горе-то :) - Бapбoc(19.07.2020 21:06)
- Не теряется так maleon(1 знак., 19.07.2020 20:37, картинка)
- Трюк - послать.. дурачков с такими трбованиями. - Moлoдoй кoллeгa(19.07.2020 20:14)
- ГОСТ Р ИСО/МЭК 26300-2010 (ODF) 21 декабря 2010 г. Федеральное
агентство по техническому регулированию и метрологии уведомило об
утверждении стандарта ГОСТ Р ИСО/МЭК 26300-2010 «Информационная
технология. Формат Open Document для офисных приложений
(OpenDocument) v1.0». Стандарт вводится в действие с 01.06.2011 с
правом досрочного применения. BlackPrapor(41 знак., 19.07.2020 19:41, ссылка)
- трюки трюками, но лучше сделать орг.выводы: программы надо сразу
писать в ворде и только от тудова передавать во всякую херню типа
мплаба и т.д. LordN(3 знак., 19.07.2020 18:55)
- Какой смысл в программе в *.doc, если без мегабайтов
микрочиповского кода оно никогда не заведётся. Его тоже
распечатывать? Исходники мплаба и всё такое прочее. - fk0(19.07.2020 16:42)
- --> - fk0(19.07.2020 14:43, ссылка)
- Попадались конверторы в html. Может html более корректно вставится? - kaf1(19.07.2020 14:40)
- Настроить нулевые отступы и моноширный шрифт, после чего "вставить
как/неформатированный текст". - Cкpипaч(19.07.2020 14:09)
- Вставить в doc скриншоты редактора? - s_h_e(19.07.2020 14:06)
- На хрена? Пусть имеют. - VLLV(19.07.2020 13:52)
- Есть-ли какая-то тулза, которая может вычитывать 80-й порт на
предмет POST-кодов уже при работе операционной системы?
Порекомендуйте пожалуйста. Или (было бы вообще замечательно) может
кто знает как вычитывать сообщения, которые биосописатели в ACPI
пишут методом ADBG? - Mebius(18.07.2020 10:32, dao, полностью)
- [FPGA + Arduino] Сводный топик - Evgeny_CD(28.04.2018 00:01, dao, полностью)
- [Evo M51] от Alorium Technology. - Evgeny_CD(18.07.2020 18:59, ссылка)
- Arduino на Intel MAX10, AVR как софткор, научились делать до 32
МГц. - Evgeny_CD(18.07.2020 18:57, ссылка)
- ARDUINO MKR VIDOR 4000 -> --> Похоже, что от самих создателей дурины - Evgeny_CD(07.06.2019 00:25, ссылка, ссылка)
- Ужас какой, у людей нет ничего святого - evgeniy1294(28.04.2018 01:00)
- +1 :) - Evgeny_CD(28.04.2018 01:03)
- Papilio -> - Evgeny_CD(28.04.2018 00:02, ссылка)
- FPGArduino -> - Evgeny_CD(28.04.2018 00:01, ссылка)
- [UEFI, ACPI] Оно все вроде открытое, но объем и сложность документов потрясают.
По мотивам поста Mebius Evgeny_CD(1134 знак., 18.07.2020 18:17, dao, ссылка, ссылка, полностью)
- Гайд как научить ПК больше ОЗУ чем заложено производителем - Evgeny_CD(18.07.2020 12:59, dao, ссылка)
- Куб генерит проект для IAR 7.80.4 Moлoдoй кoллeгa(727 знак., 18.07.2020 01:13, dao, полностью)
- Можно ли средствами GNU в makefile анализировать содержимое файлов?
У меня есть проект, собирается make, в проекте есть файлы с
#define. Я хочу что бы в зависимости от того, что там в define
получались разные имена файла у результата. Все это в виндовсе с
установленным msys. - AlexBi(17.07.2020 19:15, dao, полностью)
- Кто-нибудь юзал Altium CircuitStudio? Общие впечатления интересуют. - LightElf(16.07.2020 13:29, dao, полностью)
- Определить максимум - вроде просто, но как правильней? Dingo(1056 знак., 16.07.2020 13:06, dao, картинка, полностью)
- А задержка сильно напрягает? Я давно экспоненциальный фильтр везде
использую, и по ресурсам не напрягает, сдвигами даже на 8 - ми
битном пишется, памяти меньше надо, чем "оконному". - Visitor(16.07.2020 17:41)
- В задачах DSP необходимо знать/понимать название метода или хотя бы
математической функции. В данном случае твоя задача называется Peak
Detection и по нему для тебя можно найти продвинутые методы, что я
и сделал. RxTx(1396 знак., 16.07.2020 17:21, ссылка, картинка)
- => - Kceния(16.07.2020 17:15, ссылка)
- Первое с тремя точками пропустит случай с 1 отсчетом. Согласно
теореме матанализа, в точке экстремума производная равна нулю или
не существует и при переходе через нее меняет знак. Поэтому я
всегда делаю по т. м. а., это работает. - RxTx(16.07.2020 14:42, ссылка)
- Всё здорово, но в реальных зашумлённых сигналах производная всегда
будет колебаться около нуля и экстремумов будет в каждой третьей
точке. Как их количество снизить до разумной величины? - fk0(16.07.2020 16:48)
- Тем не менее для задачи весьма интересное предложение: мне не надо
ловить
максимумы экстремумы возле нуля, у меня есть порог, только при превышении
которого следует анализировать сигнал. И, скорей всего, будет ФНЧ
как усреднение небольшого количества значений. Dingo(123 знак., 16.07.2020 17:22)
- Обязательной (к примеру ФНЧ) фильтрацией полезного сигнала. Эта
операция приводит сигнал в требуемую тебе практически область
частотного пространства (выкидывая шумы). - RxTx(16.07.2020 17:17)
- Если шум ничем не отличается от сигнала, то этот шум и есть сигнал.
А если есть какие-то признаки, по которым шум отличается от
сигнала, то пользуясь этими признаками можно отделить сигнал от
шума и затем уже что-то измерять. Для этого, очевидно, нужна
априорная информация о сигнале. Например, если априори известно,
что сигнал лежит в определенной полосе частот, а шум белый, то
можно отфильтровать полезный сигнал полосовым фильтром. Остаточный
шум, который пройдет вместе с Xaoc(399 знак., 16.07.2020 17:15,
, ссылка)
- Аппроксимируйте функцию возле максимума по трём точкам квадратной
(или по четырём - кубической) параболой. Дальше - дело техники. - Kpoк(16.07.2020 13:11)
- Почему просто не посчитать для каждой точки разность от среднего и
взять ту где она макс. - General(16.07.2020 13:10)
- Что за данные? Доллары, килограммы, километры? Откуда? С какой
целью ищем максимум? - SciFi(16.07.2020 13:08)