Я не программист...но сделал заказ...получил устройство и у меня есть несколько вопросов. Помогите пожалуйста разобраться.
Итак пульт для мойки самообслуживания.
Устройство сделано не лично для меня, их разрабатывает и исполняет мелкими партиями небольшое КБ, в общем продукт якобы испробованный и отлаженный. Но...есть косяк....кнопки нажимаются не всегда...то есть процентах в 10 нажатие кнопки результата не даёт, нужно нажать повторно. При этом в некоторых пунктах меню, сто процентный отклик кнопок... наблюдаются косяки только в работе аппарата, когда надо переключить программы. Нажатие с удержанием дают стопроцентный отклик.
Программисты в принципе проблемы не видят, а в несрабатываниях обвиняют кнопки , типа плохие, хотя такие же точно на дешевых пультах у меня работают и в зиму и в дождь без сбоев, и опять же в меню они же работают без проблем.
В общем на каждое несрабатывание программисты мне говорят что я просто не дожал.
Выяснил интересный факт...прерываний в программе по части опроса кнопок нет. И вот вопрос. Может ли это из-за отсутствия этого самого прерывания быть такой баг. В какой-то момент мне показалось что мозги аппарата задумываются о чем-то и время от времени идёт прямо череда пропусков по нажатиям.
Присоединяйтесь — мы покажем вам много интересного
Присоединяйтесь к ОК, чтобы подписаться на группу и комментировать публикации.
Комментарии 10
Ну а вообще причины могут быть разные. Как плохо написанный код, так и аппаратные проблемы. Дело может быть и в кнопках. А может в электронике - кандеры битые, контроллер глючный.. Да все что угодно.
Сложно сказать не покрутив устройство в руках. При этом даже не зная о чем вообще речь - хотя бы какой контролер
Поясните пожалуйста, прерывания работают так... Контроллер при опросе кнопки увидел ее изменение, после чего он бросает все дела и начинает делать то что должен делать после нажима на кнопку пользователем. То есть само нажатие проходит и без прерывания, а вот далее скорость реагирования будет быстрее если прерывание есть?
В случае с атмегой, это вдвойне актуально. Это же маленький проц со скромными ресурсами.
К тому же, если я правильно помню, то атмега прерывания в очередь ставит. Ну типа если во время обработки одного, пришло другое - оно будет ждать. В общем там много нюансов. Писать под контроллеры это не сайты на пхп шлепать.
Контроллер кнопки не опрашивает. Он как раз реагирует на прерывания. Нажатие кнопки как раз вызывает прерывание. Проц отработал прерывпние и дальше своим занимается.
Офигеть, что как у них работает без прерываний?
Как только ставлю карту в картридер аппарат наченает лагать... Без карты работает изумительно