-
Постов
5 795 -
Зарегистрирован
-
Посещение
-
Победитель дней
14
Arlleex стал победителем дня 6 апреля
Arlleex имел наиболее популярный контент!
Репутация
130 Очень хорошийИнформация о Arlleex
-
Звание
Гуру
Контакты
-
ICQ
Array
Посетители профиля
17 655 просмотров профиля
-
Плавный переход C -> C++ под МК
Arlleex ответил Arlleex тема в Программирование
Работает все прекрасно и у меня. И 15 лет назад тоже все работало. Меня интересовало, додумалось ли C++ сообщество до чего-то более удобоваримого в этом плане. P.S. Какие указатели в протоколе передачи данных??? Вы о чем? Вроде понятно, что данные снабжаются КС и уже улетают в провод. В дизасм смотреть или даже не пытаться?🙂 P.S. Я с МК тоже отправляю, так что способ ищу легковесный. Если нет - мне проще (как всегда, собственно) написать свой небольшой класс. -
Плавный переход C -> C++ под МК
Arlleex ответил Arlleex тема в Программирование
Я от того и спрашиваю, что задача тривиальная, а решалась всегда "криво"🙂 Но, видимо, нужно создать класс-оболочку над неким массивом известной длины (достаточной, чтобы вместить нужное количество данных) и с ним уже работать. Длину не нужно передавать, т.к. сам протокол умеет детектировать ее по механизму кадрирования нижних уровней. ИМХО, ужасное решение🙂 Потому что у меня десятки разных управляющих структур бегают, с разным содержимым и длиной. Контрольную сумму логично располагать где-то в одном конкретном месте для всех структур: и это либо начало кадра, либо самый его хвост. Иначе, чтобы определить положение КС, нам надо "узнать", что это за структура, а лезть в ее поля, не проверив КС - нельзя. У меня "узаконен" формат с CRC в хвосте. Алгоритм приема и отбраковки битых кадров становится универсальным. -
Плавный переход C -> C++ под МК
Arlleex ответил Arlleex тема в Программирование
Можно ли в C++ как-то красиво описать структуру с гибким положением последнего элемента? Допустим, есть структура struct TxRS485 { Header hdr; u8 byte[N]; u32 crc; } N должно будет стать известно в рантайме, поэтому шаблоны тут вряд ли помогут. Задача простая (и применяемая ну совсем повсюду): из поля ввода юзер-данных считать строчку, запихнуть ее в структуру с определенным паттерном (снабдив заголовками и т.д.), последним элементом должен "приклеиться" CRC-чек. Вроде все просто, однако как будто нет решения, кроме как по старинке "клеить" вручную хедер с данными, а потом к этому всему дописывать контрольную сумму. -
У китайцев чуть более прогнозируемая ситуация: если купить становится затруднительно у основного поставщика, то по инерции можно еще полгода точно ехать с помощью других продаванов, в это время подготавливая почву для внедрения новой аппаратной платформы. Другое дело - например, евреи - i.MX6 (по крайней мере, нужные нам SoM) пропали за месяц от слова "навсегда".
-
При мне уже несколько пытались - ни у кого не вышло.
-
У манагеров всегда все просто. Это вечно недовольным инженерам вечно то конденсаторов не хватает, то дорожки не лезут.
-
К этому и сводится большая часть программирования, несмотря на рядом стоящую помойку под названием стандартная библиотека.
-
Altium Designer для начинающих
Arlleex ответил ViKo тема в Altium Designer, DXP, Protel
А, понял. Ок. На листы разбивать хорошо - даже поощрительно: название листа отражает то, что на нем находится. У меня тоже есть проекты с десятками листов - очень удобно. -
Altium Designer для начинающих
Arlleex ответил ViKo тема в Altium Designer, DXP, Protel
А почему нельзя просто графически схему нормально рисовать, чтобы сразу понятно было, какая россыпь конденсаторов к какой микросхеме относится? -
Насколько я помню - itoa ограничивает длину строки 33 и 65 символами для int и long long, соответственно. Буквально вчера отказался от монструозных sprintf(), чтобы ужать first-bootloader под МК на нужный размер.
-
itoa не возвращает длину строки, или хотя бы указателя на последний записанный элемент в предоставленном буфере. А то получилась полная фигня - передаем буфер - функция возвращает указатель на него же Из-за этого приходится вызывать strlen() каждый раз после itoa() при самостоятельном формировании строк.
-
Плавный переход C -> C++ под МК
Arlleex ответил Arlleex тема в Программирование
Понял, спасибо. Мы же можем написать множество шаблонов функции с одним именем, и в случае, если в параметрах функции можно было бы не указывать какие-то параметры шаблона, компилятор не смог бы разобраться, какую из шаблонных функций инстанцировать. -
Плавный переход C -> C++ под МК
Arlleex ответил Arlleex тема в Программирование
Почему при введении шаблона функции нужно обязательно присутствие всех параметров шаблона в качестве формальных параметров функции? Т.е. допустимо template<class A, class B> void func(A a, B b) { ... } и недопустимо template<class A, class B> void func(A a) { B b; ... } несмотря на то, что тип B используется в теле функции. Учебники пишут только декларативно, зачастую (как в моем случае) не объясняя причин. -
20 лет назад выпадали, и щас зашел посмотреть - ничего не изменилось...😆
-
Я беру максимальную размерность прямоугольника, в который можно вписать плату. Для прямоугольной платы - максимальная сторона. ИМХО, по-другому просто не имеет смысла.