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

 
 
> Пишется лажа в память
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
Ответов
SasaVitebsk
сообщение Jan 10 2008, 12:01
Сообщение #2


Гуру
******

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



Вы немножко не поняли. smile.gif
Эти определения, которые вы написали, на самом деле не нужны. Они уже написаны за вас самой фирмой Atmel. К тому же без ошибок. Вам просто необходимо подключить соответствующий файл в свой проект!

Ну например вы в проекте используете мегу8. Тогда первой строчкой проекта вы должны написать:
.include "m8def.inc"
И всё! Все регистры и биты данного микроконнтроллера, а также его распределение памяти, вектора и прочее - всё указано в данном файле и, соответственно, объявлено в вашем. Вам необходимо только объявить свои переменные и работать!

Про уход процессора в резет.
Причин может быть несколько сотен. smile.gif Но, учитывая ваш уровень, смею предположить что вы не проинициализировали стек. Или сделали это неверно. Обычное написание начала программы выглядит так(убрал комментарии, дабы уменьшить текст):
Код
.include "m8def.inc" ; объявили МК
...
; объявляем переменные и константы
...
.cseg ; начинаем сегмент кода
.org 0; с начала
    rjmp    init  ; Переходим на инициализацию

.org INT0addr     ; Описываем вектор прерывания от INT0 (если есть)
    rjmp    j_int0; Переходим к обработке прерывания INT0
; Описываем все другие вектора прерывания, задействованные в программе
....
init: ; метка начали инициализации программы
    ldi        tmpl,low(RAMEND);инициализация стека
    out        SPL,tmpl
    ldi        tmpl,high(RAMEND)
    out        SPH,tmpl
; Прочая инициализация оборудования
....
main: ; главный цикл
....
; работа
...
    rjmp  main

INT0addr:; метка обработки прерывания от INT0
...
; обработка прерывания
...
    reti  ; возврат из прерывания


Ну а вообще неплохо бы теорию какую-нибудь почитать. Хотябы книжку какую по данной тематике. А то вы выполняете кучу глупой работы. То есть быстрый старт у вас получается не очень быстрым. smile.gif
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
- - 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
- - Sholkin   Здрасте. Что то не кто не ответил . Сейчас то у ме...   Jan 21 2008, 03:37
|- - defunct   2 SasaVitebsk, adc Неплохая попытка   Jan 21 2008, 13:54
|- - SasaVitebsk   Цитата(Sholkin @ Jan 21 2008, 07:37) Здра...   Jan 21 2008, 17:53
- - 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 - 16:55
Рейтинг@Mail.ru


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