Jump to content

    

Сергей Борщ

Модераторы
  • Content Count

    9158
  • Joined

Everything posted by Сергей Борщ


  1. Сам только начинаю разбираться с CAN. Купил на али анализатор как на первой картинке. Как обычно - сначала купил, потом прочитал в комментариях про китайсуий софт. Внутри анализатора STM32F103, CP2102 и драйвер CAN. В комментариях нашел упоминание, что с небольшим допиливаним в этот анализатор заливается софт с гихаба, после чего он начинает работать с программой canhacker. Мне кажется, можно допилить этот проект под использование более современного STM32 с USB и CAN на борту (в F103 они не могут работать одновременно) и собрать подобный анализвтор, но уже без CP2102, самостоятельно. По деньгам получится чуть ли не дешевле этого экземпляра с али (я заплатил за него около 14 евро), а разработка софта добавит опыта. Вот еще одна ссылка, тут уже на F105 с использованием набортного USB.
  2. То, что вам нужно. Заботу об ошибках берет на себя TCP. Считайте, что это такой безошибочный COM-порт с определением выдергивания кабеля. Протокол потоковый, по дороге пакеты могут фрагментироваться/дефрагментироваться, поэтому придется самостоятельно разбираться, где заканчивается одно сообщение и начинается следующее.
  3. Есть в нем пример web-сервера именно в такой конфигурации. Чем не устраивает? Вот вбил в гуглю "lwip sample" и прямо первая ссылка. То есть вам либо надо использовать websockets, либо не нужен web вообще. В последнем случае непонятно, в чем сложности? Соединились и шлите себе данные в обе стороны, протокол поверх TCP самопальный. Это вообще нижний уровень любого примера.
  4. Размечтались. Только что прибил такую тему. Сообщение состояло из одной ссылки хрен пойми куда.
  5. Теперь на странице "мои ленты" справа какие-то объявления появились, почти четверть экрана занимают. И, кстати, они не имеют даты, степень "протухлости" можно определить только из контекста.
  6. Категорически против. Вменяемые пользователи пользуются поиском до регистрации, а регистрируются, когда нужно задать уточняющие вопросы по результатам поиска или когда поиск ничего не дал конкретного, но видно, что люди достаточно хорошо знакомы с интересующей меня темой. И если после регистрации мне вместо возможности задать вопрос будет принудительно подсовываться какая-то другая страница - это будет мое первое и последнее посещение такого форума.
  7. Тогда из старого трансформатора можно сделать размагничиватель. Пригодится и для других инструментов.
  8. Примагничивания не наблюдал ни разу. А вот прилипание к остаткам флюса на пинцете случается постоянно. Стоит только поправить припаиваемую феном деталь и мелкие компоненты начинают к нему липнуть. Протирка пинцета спиртом "размагничивает" его моментально.
  9. Отключается битом NOVBUSSENS в GCCFG, но не во всех всех процессорах с OTG этот бит есть. И неизвестно, трогают ли его писатели встроенного загрузчика.
  10. Не поможет. Им это в течении семестра читают и список литературы дают, вот только не в коня корм.
  11. Если отверстия достаточно большие - можно демонтировать, разогревая каждый вывод и погружая в отверстие иглу от шприца.
  12. Зачем эти сложности с явными приведениями типов и взятием адресов, если можно использовать массив неопределнного размера? Сложностей с ним нет никаких, писанины меньше, его поведение четко расписано в Стандарте. Ручные манипуляции с адресами - потенциальный источник ошибок, поэтому во всех книгах призывают не злоупотреблять ими.
  13. Как-то паранойей пахнет. Ну не можешь сгенерить конструктор копирования или оператор присваивания - так и ругайся только тогда, когда этот контструктор или оператор понадобится. Но пока я их не использую - работай. Выдавал, в какой-то одной недавней версии. Не разбирался глубоко. До этой версии и после нее не выдает. Или я уже что-то путаю на ночь глядя. Во всяком случае версией GNU Tools for Arm Embedded Processors 9-2019-q4-major мои исходники с такими конструкциями собираются без ругани... Но сравнительно недавно я подобную ругань видел, помню точно,.
  14. Резистор, резистор. Копайте дальше. Очень часто они уносят за собой и транзисторы. Или наоборот.
  15. Сказали "а" - говорите "б". Какие именно предупреждения? У меня не выдают. Была какая-то версия гцц недавно, ругалась. Последняя вроде бы успокоилась.
  16. Я такие структуры использую для описания некоторых пакетов данных. В структуре хранится заголовок пакета, в массиве байтов - данные. Поскольку размер данных заранее неизвестен - располагаю их в куче, выделяя под них sizeof(packet) + data_size байтов. Память под такой пакет выделяется одним куском, нет лишней неявной операции разыменования указателя на данные. Или для разбора принятых пакетов. что-то типа такого: struct header { ... }; struct packet_int { header Header; int Data; }; struct generic_packet { header Header; uint8_t Raw_data[]; }; generic_packet * pGeneric_packet = (generic_packet *)Rx_buffer; В конце пакета может быть не только массив байт, но и массив каких-то структур, количество которых указано в заголовке пакета. В теории можно было бы определить массив из одной структуры, но тогда есть шанс нарваться на ругань компилятора о выходе за пределы массива при обращении ко второму, третьему и т.д. членам массива.
  17. Не знаю, что такое "церновская ветка", но о проблемах в последних версиях из репозитория (git MASTER) я пишу сюда. Исправляют довольно оперативно, если что-то критическое (типа падения или несохранения).
  18. Он будет считать размер массива равным нулю.
  19. Неправда. Пустые скобки будут равносильны массиву неизвестного размера (incomplete array), который может располагаться только в конце структуры (flexible array member). Его размер определяется в момент определения структуры. Почему именно только в конце - становится понтяно, если поставить себя на место компилятора, который при компиляции другого файла увидит только объявление структуры из заголовочного файла, но не определение.
  20. Который именно? Там же куча разных полиномов, два направления сдвига, может быть инверсия данных или результата... Вот тут есть решение для двух разных вариантов CRC8 и описание, как вывести для любого полинома любой разрядности.
  21. Приветствую. Отправил в Читу несколько плат своей разработки, пока платы ехали - легенда поменялась и теперь надо на трех платах поменять в общей сложности около десятка резисторов типоразмера 0603. Очень не хочется платы гнать почтой обратно мне или кому-то из знакомых в России - долго получится. Было бы хорошо, если бы у откликнувшегося нашлись собственные резисторы на 12 кОм (2 шт.), 2 кОм ( 2 шт.), 1 кОм (3 шт.), 15 Ом (1 шт.). Оплата в пределах разумного.
  22. Быстро собрались все и решили за нерадивого студня его задачу.
  23. С али тормозит безбожно. Едет по два - три месяца, две посылки приехали уже после истечения несколько раз продленных сроков защиты и открытия споров (так совпало, что буквально через несколько часов после открытия споров). Причем примерно месяц перед получением висит статус "прибыла в страну назначения". Сроки защиты али уже сразу ставит 90 дней.