реклама на сайте
подробности

 
 
> Пишется лажа в память
Sholkin
сообщение Dec 16 2007, 14:45
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 41
Регистрация: 2-04-07
Пользователь №: 26 711



Здравствуйте .
Проблема вот какая . Написал давно несколько подпрограмм. Решил их вместе заставить работать как какое ни будь фукцианальное устройство. Проблема возникла в следующем.
Не записываются данные в память ($60 $61 $62 $63 $64 $65 ) в этих ячейках памяти должны быть цифры от1 до 9 в реале 00 15 00 0E 00 15 иногда что то другое. В блоке подпрограммы RESET я записываю туда единицы (сделал для того чтобы определить в каком блоке портак ) после команды RJAMP перехожу на вывод сигнала в порт у же в памяти портак (другие блоки отключал проверяю передачей по ком порту). В эмуляторе все считается и работает исправно в реале нет.
Есть вторая проблема когда к выводам 23 и 24 подвожу сигнал (для обработки ацп процессора ATmega 8) проц молчит сигнал вывода сигнала есть а по ком порту нет . Если 24 вывод посадить на землю то всё передача идёт. Код программы прилагаю .
На писан в мнемонике мне так понятнее писать и разбираться . Описал всё как мог что бы понятнее было . Если не понятно то по ходу обсуждения могу подробно описать и объяснить каждую подпрограмму .
Прикрепленные файлы
Прикрепленный файл  _____.txt ( 18.34 килобайт ) Кол-во скачиваний: 264
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Sholkin
сообщение Jan 21 2008, 03:37
Сообщение #2


Участник
*

Группа: Новичок
Сообщений: 41
Регистрация: 2-04-07
Пользователь №: 26 711



Здрасте.
Что то не кто не ответил . Сейчас то у меня правильно пишиться прога ? или нет ?
Запрогромировал проц с новым вариантом, ещё хуже стало . К старой ошибки добавилась ещё.
Стало передоваться только 5 цифр . А если ингорировать ацп (не обращаться к нему) вообще одна цифра и то не известно какая . Вообще не знаю, что делать. Два вечера убил толку..........
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Jan 21 2008, 17:53
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Цитата(Sholkin @ Jan 21 2008, 07:37) *
Здрасте.
Что то не кто не ответил . Сейчас то у меня правильно пишиться прога ? или нет ?


Привет. Сейчас более-менее прилично. Времени не вагон, поэтому задержки с ответом и замечания будут поступательные. По мере прочтения документа.

Сначала некоторые замечания по оформлению
Лучше всего все вектора объявлять ч/з org. Иначе ОБЯЗАТЕЛЬНО наступите на грабли.

Теперь по существу.
Прерывание от таймера для измерения АЦП реализовано неправильно. Точнее так не делают. Вообще все прерывания делают найкрадчайшими. У вас в самом прерывании будет задержка на ответ от измерения АЦП. Это значительная величина. И её элементарно можно избежать.

Для того, чтобы её избежать делается след. образом.
1) По входу в прерывание сразу читается значение.
2) Потом переключается канал
3) перестартовывается и выходят.

Таким образом к следующему прерыванию таймера АЦП гарантировано завершило преобразование. Если одного прерывания недостаточно, то делают счётчик прерываний.

Буду читать дальше


Да ещё одно замечание.

Выключи свой wdt.

ты должен отладить прогу так, чтобы работала как часы без wdt. wdt это сложная и отдельная песня. Правильная и добросовестная его настройка занимает половину времени от написания проекта. smile.gif Плюс надо понимание что и зачем и как. Иначе это абсолютно не даёт пользы а может даже наносить вред тем, что будет скрывать от тебя твои же собственные ошибки



PS: Так дело не пойдёт. В прерывании start я вообще не нашёл reti. И величина её запредельная. Тебе придётся полностью изменить логику работы программы. Опиши алгоритм хотябы общими словами
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Sholkin   Пишется лажа в память   Dec 16 2007, 14:45
- - =AVR=   Так писать нельзя, потому что так нельзя писать. С...   Dec 16 2007, 18:36
- - =GM=   Цитата(Sholkin @ Dec 16 2007, 14:45) Проб...   Dec 16 2007, 23:59
- - adc   Цитата(Sholkin @ Dec 16 2007, 17:45) како...   Dec 17 2007, 06:34
- - Sholkin   Здравствуйте. ADC вы не нашли где я записываю еди...   Dec 18 2007, 13:47
- - bodja74   Просто невероятное упорство автора темы или ... ...   Dec 18 2007, 16:58
|- - SasaVitebsk   Цитата(bodja74 @ Dec 18 2007, 20:58) Прос...   Dec 24 2007, 19:11
- - Sholkin   Здравствуйте. Не упорство. Конечно вы все здесь пр...   Dec 24 2007, 07:57
- - Sholkin   Здравствуйте. Александр моей целью не было каго то...   Dec 26 2007, 14:09
- - SasaVitebsk   Давайте попробуем ещё раз. Придерживайтесь следующ...   Dec 26 2007, 19:42
- - Sholkin   Здравствуйте. Первое большое спасибо за ответ . Ра...   Dec 29 2007, 08:24
- - Sholkin   Здравствуйте. Александр я и так почти везде испол...   Jan 6 2008, 15:08
|- - Qwertty   Цитата(Sholkin @ Jan 6 2008, 18:08) ldi w...   Jan 6 2008, 18:12
- - SasaVitebsk   Компилятор вам сообщает, что он не знает такого им...   Jan 6 2008, 16:15
|- - adc   Цитата(SasaVitebsk @ Jan 6 2008, 19:15) ....   Jan 9 2008, 06:06
|- - SasaVitebsk   Цитата(adc @ Jan 9 2008, 10:06) Поделитес...   Jan 9 2008, 11:09
- - Sholkin   Привет всем. Я не говорю что вы навязываете. Прост...   Jan 9 2008, 03:37
- - Sholkin   Здравствуйте. Переписал в такой вид ;описание пер...   Jan 10 2008, 07:50
- - SasaVitebsk   Вы немножко не поняли. Эти определения, которые...   Jan 10 2008, 12:01
- - Sholkin   Здравствуйте. Документация есть (на английском пра...   Jan 14 2008, 03:58
|- - adc   Цитата(Sholkin @ Jan 14 2008, 06:58) Про ...   Jan 14 2008, 05:07
|- - adc   Цитата(Sholkin @ Jan 14 2008, 06:58) Как ...   Jan 14 2008, 06:16
- - Sholkin   Пробовал так .equ constEEPROM = 0b00111111 Ошибку...   Jan 14 2008, 07:24
|- - adc   Цитата(Sholkin @ Jan 14 2008, 10:24) Проб...   Jan 14 2008, 08:05
- - Sholkin   Здравствуйте . Где эта строчка я нашёл (выше писал...   Jan 17 2008, 04:31
|- - adc   Цитата(Sholkin @ Jan 17 2008, 07:31) Сраз...   Jan 17 2008, 06:10
|- - defunct   2 SasaVitebsk, adc Неплохая попытка   Jan 21 2008, 13:54
- - Sholkin   Александр спасибо за помощь . Всё , что вы сказали...   Jan 22 2008, 03:26
|- - adc   Ну что вы все фанатично записываете адреса регистр...   Jan 22 2008, 06:26
- - Sholkin   Здравствуйте. Исправил всё как вы мне подсказали. ...   Jan 29 2008, 03:48
- - SasaVitebsk   Прерывание - это уникальное средство. Его надо пон...   Jan 29 2008, 22:44
- - Sholkin   Спасибо за ответ. До вашего ответа я немного набра...   Feb 3 2008, 14:03
- - Sholkin   Здравствуйте. Переделал прерывание от таймера след...   Feb 12 2008, 04:08
- - Sholkin   Привет всем. Что то уже больше недели смотрю тема...   Feb 20 2008, 05:07
- - Sholkin   Ребята помогите пожалуйста ? Код программы есть . ...   Feb 26 2008, 05:16
- - vet   ну что тут советовать? загружайте программу в симу...   Feb 26 2008, 05:35
- - Sholkin   Да дело то в том , что в имуляторе работает , я б...   Feb 26 2008, 07:35
- - Sholkin   Здравствуйте. Во вторник с человеком поговорил . П...   Feb 28 2008, 06:35
- - vet   только то, что бросилось в глаза. не сохраняете р...   Feb 28 2008, 07:58
- - Sholkin   Частично заставил работать. Я вот только понять не...   Mar 3 2008, 10:10
|- - SasaVitebsk   Цитата(Sholkin @ Mar 3 2008, 14:10) Прост...   Mar 3 2008, 19:31
- - IgorKossak   На этом и закончим. Sholkin, у Вас будет возможнос...   Mar 3 2008, 20:10


Closed TopicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 01:18
Рейтинг@Mail.ru


Страница сгенерированна за 0.01426 секунд с 7
ELECTRONIX ©2004-2016