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

 
 
> Вопросы новичка.Часть 1., Нужна помощь =)
nunzio
сообщение Jul 20 2005, 15:02
Сообщение #1





Группа: Новичок
Сообщений: 9
Регистрация: 7-04-05
Пользователь №: 3 944



Добрый день.
Недавно начал осваивать AVR на примере at90s2313 , и как у всякого новичка возникли вопросы.
Вот один из них:
У АВР есть вход (XTAL1) и выход(XTAL2) тактового генератора.Соответственно я могу использовать как внутренний RC-генератор,так и подключать внешние источники (кварцевый резонатор,сигнал синхронизации и т.п.). Т.е. при использовании внешнего источника, частота ЦПУ микроконтроллера будет соответствовать частоте внешнего источника.
Правильно ли я рассуждаю ?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
fredo
сообщение Oct 23 2006, 19:41
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 54
Регистрация: 13-09-06
Пользователь №: 20 357



Я тоже недавно начал осваивать AVR (Atmega16) и сразу же столкнулся с проблемой при написании подпрограммы: при выполнении команды ret происходит ошибка и программа начинае выполняться заново. При отладке AVRS пишет
AVR Simulator: Invalid opcode 0xffff at address 0x00e8e8
AVR Simulator: Invalid opcode 0xffff at address 0x0008e9

В чем проблема??
Go to the top of the page
 
+Quote Post
AVR
сообщение Oct 23 2006, 20:07
Сообщение #3


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



Цитата(fredo @ Oct 23 2006, 23:41) *
Я тоже недавно начал осваивать AVR (Atmega16) и сразу же столкнулся с проблемой при написании подпрограммы: при выполнении команды ret происходит ошибка и программа начинае выполняться заново. В чем проблема??

В начале программы есть инструкции вроде out SPL,... out SPH,... ?
Попробуйте добавить это в самое начало программы:
Код
ldi r31,LOW(RAMEND)
out spl,r31
ldi r31,HIGH(RAMEND)
out sph,r31


--------------------
Go to the top of the page
 
+Quote Post
fredo
сообщение Oct 23 2006, 20:13
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 54
Регистрация: 13-09-06
Пользователь №: 20 357



Цитата
Попробуйте добавить это в самое начало программы:
ldi r31,LOW(RAMEND)
out spl,r31
ldi r31,HIGH(RAMEND)
out sph,r31


Спасибо, помогло laugh.gif

Сообщение отредактировал fredo - Oct 23 2006, 20:15
Go to the top of the page
 
+Quote Post



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

 


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


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