Здравствуйте. "Напрограммировал" себе таймер и он даже тикает но есть проблема, которую не знаю, как побороть. После нажатия кнопки старт он начинает отсчитывать секунды с некоторым запозданием. Может кто по коду подскажет?
Здравствуйте. "Напрограммировал" себе таймер и он даже тикает но есть проблема, которую не знаю, как побороть. После нажатия кнопки старт он начинает отсчитывать секунды с некоторым запозданием. Может кто по коду подскажет?
Йо парни, поясните по радио. Вот есть колебательный контур в передатчике, простыми словами генерит в простратсве череду электрического... Читать далее
дисплей сдох и перестал палец сканировать..прижимаю немного шлейф-работает изо,а скан пальца не работает.. как так? пол часа... Читать далее
Это не так,не топит она думаете блок качает бесконечно,каждое жало до опр процента мошьность хоть в воду суньте. Обратная... Читать далее
Не могу прошить Atmega8A. Есть готовое изделие (VFD-модуль), на нем Atmega8A и кварц 16 МГц. Выведен разъем для ISP. Родная... Читать далее
Всем привет, есть iphone 8 не работает фронт камера, тел утопленик и после другова сервиса, отсутствует проходной конденсатор... Читать далее
Всем привет) кто отгадает загадку?)авто Рав 4 2011 год бензин!!! Газа нет Не заводилась. Завелась при подаче быстрого старта... Читать далее
Комментарии: 28
Anton
Почему - то мне кажется проблема в строчке: if(i==40){i=0;seconds--; }; ведь i инкрементится в перывании и на момент вызова start_count может иметь произвольное значение. P.S. Оформление кода! Не неслышал. Однобуквенные глобальные переменные, отступы как попало. Читать почти невозможно :)
Paschendale
Почему - то мне кажется проблема в строчке: if(i==40){i=0;seconds--; }; это да, задержка отсчета после нажатия кнопки старт всегда разная. если обнулить эту переменную в функции, то отсчет вообще прекратится. так что я не вижу выхода из ситуации, которая сложилась в моих писюльках. Оформление кода! Не неслышал. Когда я рылся в чужой писанине, пришел к выводу, что каждый пишет так, как хочет. Вот и тоже так пишу) а почему однобуквенные глобальные переменные это плохо?
Pihto
режь красный провод!
Paschendale
у меня там нет такого
Pihto
Тогда, просто задай грамотно стартовые значения всех переменных. И, всё-таки, глобальные переменные начинай, типа, с буквы g... что ли. И да их бы неплохо сделать волатильными Ты же их через прерывание зовёшь, а значит, может быть труднопонимаемая каша. И это... а где у Тебя хоть что-то происходит с i? А, вижу
Anton
Все глобальные переменные волатильными делать не надо, volatile применяется только тогда, когда доступ к переменной происходит из прерывания и основного кода программы. Для того чтобы оптимизатор не выпилил лишнего. Это все, точка! В остальном volatile только мешает делать компилятору его работу.
Pihto
Антон, да. Я просто, судорожно пытаюсь развидеть это оформление )))
Paschendale
согласен с критикой. исправлюсь.
Anton
Если так уж лень самостоятельно расставлять отступы, воспользуйся хоть автоматическим оформлятором типа clang-format или uncrustify. Но такую писанину показывать на публику, ну такое себе :))
Paschendale
ну я и так уже до корней волос красный, хорош уж меня пинать)
Pihto
Не поленитесь, пожалуйста, пробежать взглядом этот документ http://geosoft.no/development/cppstyle.html Ну и, фактически, русскоязычная калька. https://habr.com/ru/post/172091/
Newalyashka
Мне вот эта зашла, по ней учил Си.
Paschendale
Спасибо. Очень бы хотел, чтобы и мне что-то хорошо зашло)
Newalyashka
У меня есть она в коллекции)) у меня дома целая библиотека по электроники)) Посмотри, может тоже понравится)) мне вообще зашла, другие не так пошли.
Andrey
Ну это великолепно) что много этого есть
Anonim
Чем она лучше классики от k&r?
Newalyashka
Керниган и Ритчи не читал, может глазами пробежался только максимум. Дейтел много задач, в общем мне интересно было её читать, по ней и учил Си. Керниган и Ритчи вроде тоже норм, не пробовал учиться по ней.
Unsupported
мне книги Г.Шилдта понравились, у него по С, ++, # есть книги, но вот перевод бывает не очень точный, увы. я в книге по крестам находил пару фактических ошибок. в оригинале этого не было
Newalyashka
а есть в свободном доступе?
Artemka
Я лет 7 назад очень много усилий приложил что бы найти Шилдта по плюсам Эта книга over100500 лет как не печатается.
Andrey
покажи кусочек своего кода. Что бы начинающие раз видели как делать)
Anton
Че попроще: Че попроще: https://github.com/a-sv/cbor Че посложней на плюсах: https://github.com/a-sv/lmcu/tree/testing
Paschendale
Точно. Стоило задать правильное значение глобальной переменой, которая инкрементируется в обработчике прерывания, всё запахало как стоит быть. Дед, ты осчастливил нуба
Pihto
Как много человеку мало ))))
Paschendale
Глубоко философская мысль. Чувствуется влияние марксистско-ленинской философии, правда в ее перевёрнутом с ног на голову состоянии.
Pihto
Маркс и Энгельс, тоже не муж и жена, а два разных человека.
Anton
Оформление кода - пишу как хочу. Збс. А если бы я написал книгу и совершенно случайно забыл расставить пробелы между словами, вы бы стали читать такую? Чужой код и так читать заметно сложнее своего, так еще оформление пиздец. Посмотрите на общепринятые стандарты оформления кода и выберете один из них. Глобальные переменные это плохо, но иногда без них никак. Глобальная переменная с именем i - это феерический пиздец, извините за мой французский :) Именем i можно обозвать счетчик цикла, но никак не глобальную переменную....