66 размер массива? Вот Вы решите добавить еще параметр (или убрать). Придется весь код просматривать и править - не осталось ли где 66. Причем, например, при выходе за границу массива, Вы можете не увидеть сразу проблему. Сейчас надо посмотреть объявления mass и eep_mass, чтобы убедиться, что нет ошибки. comp почему не локальная? Чтобы убедиться, что ошибки нет - надо просмотреть весь текст. result Также глобальная. Чтобы убедиться, что ошибки нет - надо просмотреть весь текст. delayt Также глобальная. Чтобы убедиться, что ошибки нет - надо просмотреть весь текст. А ошибка скорей всего есть, так как данная переменная много где используется (судя по текстам, которые Вы давали ранее), в том числе и в обработчике прерываний. w, опять же глобальная. Назначение непонятное, к тому же поиск затруднен (переменная очень короткая). Много где используется, в том числе и в обработчике прерываний. Скорей всего есть ошибка (и даже не одна). eeppp&0b0011111110010000 - назначение eeppp и константы непонятно, модифируется в обработчике, используется вне обработчика: как volatile не объявлена, атомарность доступа "побоку". Лень смотреть, но скорей всего есть ошибка. PORTB.5 PINC.3 непонятно как используются, но используется много где. Если PORTB.5 - это включение alarm-а, то почему не сделать функцию
В том то и дело, что работает "криво". Я за пару минут нашел ошибку, с которой Вы даже согласились. Поверьте ошибок у Вас куча. Не удивлюсь, если иногда устройство "глючит" и подвисает. Структурированный и понятный код - это не самоцель, это способ значительно уменьшить количество ошибок в ПО и время для исправления ошибок, расширения функциональности.
Но, если Вам удобнее, то Ваше дело - пишите, как хотите.
Не понятно что вы подразумеваете под ошибкой? Если сбой в работе или нарушение алгоритма, то всё работает без единого сбоя,без глюков и практически не выключаясь уже полгода,всё как и задумывал работает, ну а если под ошибкой подразумевается просто загроможденность кода лишними действиями,то возможно соглашусь, потому и спрашивал про упрощение.
Карма: 90
Рейтинг сообщений: 1289
Зарегистрирован: Чт мар 18, 2010 23:09:57 Сообщений: 4510 Откуда: Планета Земля
Рейтинг сообщения:0 Медали: 1
ra9ust писал(а):
Почему нежелательно инициализация где-то там и в чем минус того что она глобальная?
А какой смысл делать её глобальной и тратить на неё статическую ячейку памяти, если она используется только в одном месте ? Минус, хотя бы, в том, что нет читабельности кода.
ra9ust писал(а):
Почему никаких дисплеев и пищалок?
Потом, что функция, выполняющая определённые действия, должна только их и выполнять. Ничего лишнего в ней быть не должно. Если хочется что-то вывести по результату этой функции, то выводите после её вызова.
PS: Ладно, Вы вместо критики, пытаетесь отбрыкиваться и доказать, что Ваш стиль не хуже других. О чём дальше можно вести беседу ?
по семантике она локальная. Плюс не факт, что вы очень общее название result не захотите использовать где-то еще. Плюс компилятор может оптимизировать использование локальной переменной, заменив обращение к ней операциями целиком в регистрах.
логическое разделение и структурирование кода. Функция проверки чего-то должна проверять это что-то; реагировать на результат проверки - дело того, кто функцию вызвал.
Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.
Не понятно что вы подразумеваете под ошибкой? Если сбой в работе или нарушение алгоритма, то всё работает без единого сбоя,без глюков и практически не выключаясь уже полгода,всё как и задумывал работает, ну а если под ошибкой подразумевается просто загроможденность кода лишними действиями,то возможно соглашусь, потому и спрашивал про упрощение.
Я же Вам показал ошибку. И Вы даже согласились. Или мне еще проанализировать и сказать, в каких случаях Вы ее увидите и что увидите? И показал возможные проблемы, где еще могут быть проблемы. А зачем? Вас же все устраивает.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Не понятно что вы подразумеваете под ошибкой? Если сбой в работе или нарушение алгоритма, то всё работает без единого сбоя,без глюков и практически не выключаясь уже полгода,всё как и задумывал работает, ну а если под ошибкой подразумевается просто загроможденность кода лишними действиями,то возможно соглашусь, потому и спрашивал про упрощение.
Я же Вам показал ошибку. И Вы даже согласились. Или мне еще проанализировать и сказать, в каких случаях Вы ее увидите и что увидите? И показал возможные проблемы, где еще могут быть проблемы. А зачем? Вас же все устраивает.
Я считаю ошибкой то что в какой-то момент происходит сбой или зависание или еще что, никаких сбоев не было, ни изначально еще когда в протеусе проверял, ни в процессе работы уже в железе, режимы все работают уж какие еще нужны ситуации я не знаю, не так уж там и много то функций.
Добавлено after 2 minutes 8 seconds: Уменьшение счетчика учтем, пожалуй это наглядней чем увеличивать.
После завершения минуты у Вас в EEPROM будет (32 декабря 2017 года, вместо 1 января 2018): eep_day=32 eep_month=12 eep_year=2017
Это не ошибка? Или Вы так задумывали? Ну тады как-то работает и ладно.
Да есть такое дело, но я и не планировал так изначально,конечно через сутки епром обновится, но поправить можно, учтем. Да это даже и не сбой, а недочет, и вот тут то мне бы и помогла та функция проверки еепром в 20.00, и она бы вылезла, что было бы сигналом для отладки, так что смысл в ней есть.
Как всё запущено здесь... А таким "комментаторам" потом как бы падать высоко не пришлось.
*НАДМЕННО* Простите, конечно, наверное вам так понятнее будет: "4 страницы. Вот как говнокод множит этропию. "Автору" надо не советы сотянми давать, а ремня и книжки читать. )))))))"
так вам спокойно и объясняли: и про форматирование, и про названия переменных, и про магические числа... и каков итог? у вас на все объяснения один ответ - я так привык и нахер ваше мнение.
ra9ust писал(а):
Да что толку тут объяснять...
и не добавить ничего
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...
Сейчас этот форум просматривают: nvv13 и гости: 11
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения