- Тоже хочу бутылку :). Наметилась дискуссия (см. 1-ю ссылку) "о роли и месте С++". Прошу знатоков и прежде всего fk0 прокомментировать материал (см. 2-ю ссылку). Моё ИМХО, что это как-то уже слишком заабстрагировалось, "или нет?" (с). - Chum_A(17.12.2019 08:56, dao, ссылка, ссылка, полностью)
- вот для микроконтроллера деструкторы не нужны - резет все спишет. а сейчас в линукс вздумал дописать кусок кода (там С если что) - полный атас, прописывать корректный выход из каждой ветки - и try catch тоже(18.12.2019 14:44,
)
- Как показывает практика, процессоронезависимость - это последнее, что нужно в долгоживущем проекте на МК. Нужна хорошая организация кода. А программист, который лабает приложение, о пинах, как правило, не знает ничего. И соблазн у него другой - Хитрый Китаец(181 знак., 18.12.2019 10:05)
- Такой код на С++ - это (простите) гавно. Возможно, он компилируется в корректный код, но человеку его сложно читать, писать и понимать. Он содержит избыточные кол-во ключевых слов языка, за которыми теряется суть. Это одноразовый код, напишут и Costic(239 знак., 17.12.2019 23:35)
- Спасибо всем ответившим! - Chum_A(17.12.2019 13:44)
- Выводы контроллера всегда управляются в контексте управления каким-либо более крупным аппаратным ресурсом. I2C-шиной, например. Вот в классе, функции, модуле управляющем шиной и не зазорно будет напрямую записать в GPIO регистр и подёргать за fk0(2049 знак., 17.12.2019 12:06)
- прочитал до середины, до самописных GetPin и PutPin, дальше читать не стал. Скажу так, после перехода на пик32 мне гармония(куб для ст) реально облегчила процесс конфигурирования. Она нагенерила мне макросы(и они уже процессорно независимые), abivan(265 знак., 17.12.2019 10:21)
- Оно? evgeniy1294(4415 знак., 17.12.2019 10:00)
- Вот! Сам вопрос - отличный пример того, что плюсы лишь заводят за корягу. Вместо того чтобы делом заниматься, придумывают всякие абстракции. - SciFi(17.12.2019 09:28)
- Все проблемы, которые я вижу сегодня в надежности встроенных систем, вообще не связаны с языком программирования. Например: VLLV(479 знак., 17.12.2019 09:24)
- С языком очень даже связано. Компилирующие языки со статической типизацией (C++, C#, Java, C, Pascal) пропускают гораздо меньше ошибок, чем ассемблеры (без типизации) или скриптовые языки (Python, Javascript). В последних пока не запустишь -- не fk0(1364 знак., 17.12.2019 12:24)
- Хочется в очередной раз повторить, что может не только "пропасть питание", но и произойти перезапуск абсолютно в любой момент, по массе причин. Поэтому если у кого-то что-то теряется, то проблема не в библиотечной функции, а где-то в другом месте, fk0(245 знак., 17.12.2019 12:11)
- Добрый день честнОму сообществу. Интересуют исходники IAR-овских либ для микроконтроллеров AVR. Интерес чисто академический, чтоб понять состав и принцип работы и написания. Версии IAR не принципиальны. Для изучения подойдут любые начиная с ir0407(41 знак., 21.12.2019 17:11, AVR, полностью)
- В SDCC исходники всех либ прилагаются. - Ozelot(22.12.2019 12:17, ссылка)
- Есть от 3.20C AlexG(21.12.2019 17:35)
- Неужели так и не нашлось ни одного легального пользователя EWAVR, который бы за все это время мог поделиться библиотеками? Ведь уже 15 лет прошло! - Ксения(21.12.2019 20:42)
- Премного благодарен. Однако, просмотрел содержимое, а там практически только одни системные сишные либы. Стесняюсь спросить... Я предполагал, что там должны быть хотя бы хоть какие либо драйверы стандартных устройств, типа АЦП, таймеров, UART, SPI ir0407(192 знак., 21.12.2019 18:08)
- Во времена Atmel основным источником либ для периферии служили апликейшн ноты. Более сложные либы шли отдельно от апликейшн нот, но тоже от производителя МК (например, QTouch и библиотеки для CAN AVR). ASF внутри устроен крайне по-идусски, но AlexG(46 знак., 22.12.2019 03:58 - 04:00)
- То, что называется именем "исходники библиотеки" (library-source) и есть библиотека стандартных функций языка C/C++, но системными они не являются, т.к. никакой системы на этом уровне нет :). Соответственно, нет там и таких понятий, как АЦП, Ксения(587 знак., 21.12.2019 20:36 - 20:44)
- IAR не пишет либы для периферии, это удел производителя. А генерация либ происходит в General options/Output/ - VLLV(21.12.2019 18:54)
- Балахна De_User(22.12.2019 08:04, Off, полностью)
- dsPIC33EP256MU806 + PICKit4 + asm ("reset") = подвисание дебаггера. Как это победить? RxTx(415 знак., 19.12.2019 21:13, PIC, полностью)
- Разобрался. На форуме Microchip подсказали трюк - сбрасывать самому через меню Debugger->Reset. RxTx(147 знак., 20.12.2019 01:13)
- А почему не пойти по цивилизованному пути и убрать ресет, заменив его выходом в верхушку main-а? my504(254 знак., 20.12.2019 17:38)
- А я это попытался сделать первым же делом. RxTx(2645 знак., 21.12.2019 15:40 - 15:57)
- Имхо по цивилизованному пути - это когда ресет только во всяких трапах, после записи "Караул!!!" в лог. А переход на верхушку main - еще более лютая дичь, чем использование ресета в процессе нормальной работы. - ant333(21.12.2019 00:05)
- Нельзя на верхушку мэйна. Люди уже попадались. То периферия не так зависла, то ещё что. Там, где есть в наборе инструкций настоящий сброс, грех им не воспользоваться. Там, где нет, у людей доходило до внешней схемы сброса по дёрганью вывода из Nikolay_Po(11 знак., 20.12.2019 18:06)
- Некоторые регистеры после сброса должны встать в спеццыально оговоренную позу. - mse homjak(20.12.2019 17:57)
- Специально оговоренные позы регистров нужно дублировать в начале исполнения. Тогда и не будет никакой дичи в верхушке мэйна. my504(339 знак., 21.12.2019 08:12 - 09:50)MBedder
- Тоже так считаю. Однако наблюдаю не первый проект, когда на любой чих делают просто полный системный reset, еще и заводя пин сброса на порт. - RxTx(21.12.2019 16:06)
- Я как-то пробовал продублировать специальные регистры в начале исполнения. Оказалось, очень много периферии теоретически может влиять на используемые порты и если её нужно явно инициализировать, это несколько страниц кода. Nikolay_Po(231 знак., 21.12.2019 15:05)
- Это лучшее из зол - перевести систему в заранее определённое состояние. Причом, практически, мгновенно, в отличие от шебуршения через МАЙН. Худшее из зол, это, например, зависнуть и оставить силовые ключи в статическом состоянии, на время, пока mse homjak(530 знак., 21.12.2019 12:28 - 12:31)
- Вы, милостивый государь, несете ахинею. Речь идет не об абстрактном МК, а о вполне конкретной архитектуре, где нет никаких 100500 СФР, среди которых, к тому же, реально применяются с полсотни или около того. Это во-первых. А во вторых, нужно иметь my504(726 знак., 21.12.2019 13:38 - 14:16)
- Чот не пойму, чо вы митингуете? Если у вас конкретная архитектура и конкретная задача, делайте что хотите. У нас свободная страна, есличо. И если обработка экцепшына не повлияет на катастрофичность последствий сбоя, то раздумывайте скока угодно, mse homjak(187 знак., 21.12.2019 14:25)
- Случайных сбросов НЕ БЫВАЕТ. Все сбросы имеют ПРИЧИНУ. В силовом оборудовании проблема сброса состоит в необходимости утилизации запасенной в реактивной нагрузке энергии. Поэтому организовывать сброс лишь потому, что не понимаешь что делать с my504(30 знак., 21.12.2019 14:49)
- А что можно сделать с зависанием? Пока вочдог не дёрнет НМИ, никто не знает, чем занимался процессор ,по каким переменным он скакал и чего в них ложил. Но если у вас есть память трека на 100500шагов, тоды ой! Запасённая энергия должна уйти в mse homjak(457 знак., 21.12.2019 19:32)
- Может, и не слишком умно. Но раз в конкретной системе уже давно реализовано - значит можно. Не нужно воображать себя богом и думать, что можешь предусмотреть всё в main() и исключениях. Nikolay_Po(422 знак., 21.12.2019 15:01 - 15:07)
- А запланированые бывают?) Как выше заметили, аппаратный сброс мгновенно приводит систему в детерминированное состояние, а после этого можно и сопли пожевать, для этого есть RCON, сами же написали - ant333(21.12.2019 15:01)
- Вот кто бы сказал, pic24/33 работает таки аппаратно, или как у армов есть скрытый бутлоадер стартующий до основной прошивки (и именно он взаимодействует с программатором). - fk0(20.12.2019 01:25)
- Емнип когда-то сталкивался с таким, подробностей не помню, кажется pic18 с icd2. И с собакой так же вроде. Поставить бряк перед ресетом и сбрасывать вручную не вариант? - ant333(20.12.2019 00:35 - 00:38)
- Попробовать другой отладчик, PICKi3, например. Запрос в техподдержку написать. Похоже, они такого случая просто не предусмотрели. Сыроват инструмент... - Nikolay_Po(19.12.2019 22:18)
- Умеющим HART. Где взять коды единиц измерения (units code)? И классификацию типов устройств(manufacturer's device type code), и заодно "manufacturer identification code" - IBAH(17.12.2019 00:29, dao, полностью)
- Лагунову про "разгон" учредительного собрания. Ви опять "господин соврамши" - Codavr(18.12.2019 21:08, Off, youtube, полностью)
- Посоветуйте, как быстрее пару-тройку простейших виртуальных машин c Win7 / WinXP и браузером cделать? - De_User(21.12.2019 03:21 - 04:47, Off, полностью)
- Народ, в чем проще нарисовать импульсную последовательность. Надо фпгашникам техзадание нарисовать. Что то типа как в даташитах. Например spi протокол. Просто дохрена выходов засинхронизировано на клок, я запарюсь в графредакторе ваять. - danuna(19.12.2019 15:12, dao, полностью)
- Может кто объяснит, чем руководствуется компилятор когда вставляет функцию как инлайн, а когда вызов? Вот сравнение _Constantin24(466 знак., 19.12.2019 07:46, dao, полностью)
- Кто как делает спецификацию на разъем, который покупается отдельно из ленты контактов, кожуха и собственно самого разъема? Делаем отдельный сборочный чертеж на разъем или можно как то проще без чертежа? - Make_Pic(17.12.2019 12:33, SCH, полностью)
- Уважаемые сэры,посоветуйте пожалуйста методику выбора номинала плавкого предохранителя для устройства, питающегося от импульсного блока питания (флайбэк на TOP258) - Rainman62(03.12.2019 20:31, SCH, полностью)
- Нужно проверять работу неких небольших алгоритмов на голом С++ под WIN7, что лучше использовать для этого (редактор/компилятор легковесный, возможно portable)? - Make_Pic(01.11.2019 11:24, dao, полностью)
- "Инцидент
никак нихуя не повлияет на сроки ремонта корабля" :)) --> - MBedder(18.12.2019 23:42, zen, ссылка, полностью)
- Изучил срач по ссылке. Подкину дохлую кошку (см.ссылку "картинка"): "На 1000 строк исходного кода открытых программ насчитывается 1 дефект". Подобное исследование было и у НАСА (лень искать). Собственно вопрос - надежней ли банальный релейный Chum_A(714 знак., 14.12.2019 16:15, dao, ссылка, ссылка, полностью)
- аффтар снёс топик со срачем. как обычно. - Vit(15.12.2019 02:30, youtube)
- А какого хера он снёс _чужие_ сообщения? - fk0(15.12.2019 13:36)
- Ковыряйтесь =AlexD=(26409 знак., 15.12.2019 20:05)
- Опостылил этот "seryy" своим нетрадиционным поведением. Может на неделю-другую ему помочь - сразу перемещать его сообщения в мусорку? - De_User(15.12.2019 17:38)
- Кирюша, ты про свои сообщения, скорее всего, печешься? Заведи свою тему по плюсам, будем в ней обмениваться опытом, крестоёбить. :)))) И никто не снесет и тема в твоих руках. В основном, конечно, я бы послушал. Век, знаете ли, живи, век учись. - RxTx(15.12.2019 14:38)
- Машенька, сними буденновку и открой, наконец, для себя "Always" - со сносимым постом автоматически
сношаются сносятся и все ответы, о чем русским по белому выдается предупреждение сношающему :)) MBedder(15.12.2019 13:44 - 13:47)
- Пока нет реальной информации о "дефектах", всё это вилами на воде писано. RxTx(197 знак., 14.12.2019 23:29)
- По поводу реле и дефектов. misyachniy(1319 знак., 14.12.2019 23:07)
- На 1000 строк? Я считал раз в 20 больше. Это уже после тщательного тестирования остаётся столько. Ну я по ссылке и написал, что множество слоёв абстракций привносят множество проблем. И более простая система может оказаться более надёжной. Но не fk0(388 знак., 14.12.2019 20:54)
- А чтотговорит linting? Хаос(86 знак., 14.12.2019 16:41,
)
- Пятница же. Обычный день в России (буржуинское издание) --> - SciFi(20.12.2019 10:58, Off, ссылка, полностью)