Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Кто знает ассемблер, помогите плиз!!! (https://forum.antichat.xyz/showthread.php?t=115404)

-=NoVeNkIy=- 11.04.2009 16:16

Кто знает ассемблер, помогите плиз!!!
 
Ситуация следующая: есть микросхема (подробности о ней давать не буду), используемая для сигнализации. К ней подключается сотовый телефон. На плате имеются клеммные колодки: (+-) и 4 шлейфа, к которым подключаются датчики (датчик движения, открытия двери...и т.п.) при размыкании контакта от шлейфа, телефон отправляет смс на номер, забитый в симке. Это техническая сторона вопроса. Теперь о главном - на плате имеется контроллер, в который заливается прошивка. Глюки начались следующие: при постановке на охрану номера телефона приходит смс о тревоге на последнем из замкнутых шлейфов, хотя все шлейфы в норме. если ставлю 4 шлейфа - о четвертом, 3 - о третьем и т.п. проверял на арзных платах - дело в прошивке. прошивка на ассемблере. если кто сможет помочь - напишите плиз...скину саму прошивку, может что подправите. Очень надеюсь на вашу помощь.

slesh 11.04.2009 16:26

как вариант проверить цикл опроса датчиков.
т.е. ошибка может быть в условии провекри кол-ва датчиков.
Тут зависит от последовательности их номеров.
Но всё равно гдето ты привышаеш это значения на 1.
ищи места cmp *,кол-во датчиков и далее команду
j*
там может быть условие типа jne - не равно, je - равно. А также меньше или меньше или равно. Вот в этом условии скорее всего и ошибка.

slesh 11.04.2009 16:29

ну или порядок нумерации с 0 или с 1 неверный.
т.е. логика ошибки такого цикла - провекра датчика следующего за последним. А так как его не существует то тут и срабатывает тревога типа поломка датчика или чтото типа того.
Ты для теста попробуй сделать разрыв на 1-м датчике и поглядеть какой датчик сработал.

-=NoVeNkIy=- 12.04.2009 15:34

Цитата:

Сообщение от slesh
ну или порядок нумерации с 0 или с 1 неверный.
т.е. логика ошибки такого цикла - провекра датчика следующего за последним. А так как его не существует то тут и срабатывает тревога типа поломка датчика или чтото типа того.
Ты для теста попробуй сделать разрыв на 1-м датчике и поглядеть какой датчик сработал.

немного уточню...ложная тревога срабатывает только при первой постановке на охрану...если поставить, принять смс с тревогой, снова снять и поставить - все работает как часы )) а при первой постановке, когда уже пришло смс, потом можно хоть замыкать, хоть размыкать...хоть матом кричать - результата не будет никакого (

slesh 13.04.2009 09:48

Значит гдето регистры какието не инициализированы


Время: 12:43