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

 
 
> Вопрос по AVRstudio, Это баг или я чего-то незнаю?
Potter
сообщение Feb 21 2007, 21:08
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 151
Регистрация: 27-05-06
Из: Харьков
Пользователь №: 17 508



Собственно вопрос вот в чем....

Тело вектора прерывания:

.org ovf0addr
rjmp Timer0


Timer0:
cli

ldi r16, 0x94 ; 148
out TCNT0, r16

sei

reti

Почему после того как выполнилось все тело прерывания по команде "reti" щетчик переходит по нулевому адресу?

И почему после следующих операций:

ldi r16, 0x94 ; 148
out TCNT0, r16

Число 0x94 не заносится в регистр TCNT0?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
beer_warrior
сообщение Feb 22 2007, 00:55
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 065
Регистрация: 8-10-05
Из: Kiev, UA
Пользователь №: 9 380



Цитата
Не подскажите, что она значит? Понятно, что работать будет, но <<CS00 зачем???

Чтобы не думать о совместимости. Сдвинули на позицию N и неважно 5 -й это бит или 0-й.
Цитата
почему все таки у меня не получается записывать в щетный регистр TCNT0 командой out?

А как это выглядит? Обращение выше пространства IO ассемблер не пропустит - выдаст ошибку.


--------------------
Вони шукають те, чого нема,
Щоб довести, що його не існує.
Go to the top of the page
 
+Quote Post
Qwertty
сообщение Feb 22 2007, 01:18
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 408
Регистрация: 21-10-06
Из: Санкт-Петербург
Пользователь №: 21 527



Цитата(beer_warrior @ Feb 22 2007, 00:55) *
Цитата
Не подскажите, что она значит? Понятно, что работать будет, но <<CS00 зачем???

Чтобы не думать о совместимости. Сдвинули на позицию N и неважно 5 -й это бит или 0-й.

Бывают кристаллы у которых CS00!=0 ? А если думать о будущих, то необязательно CS02..CS00 будут распологаться последовательно, их могут раскидать как WGMxx - даже по регистрам.
Go to the top of the page
 
+Quote Post
Dopler
сообщение Feb 22 2007, 08:14
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 437
Регистрация: 23-04-05
Из: Таганрог
Пользователь №: 4 425



Цитата(Qwertty @ Feb 22 2007, 01:18) *
Цитата(beer_warrior @ Feb 22 2007, 00:55) *

Цитата
Не подскажите, что она значит? Понятно, что работать будет, но <<CS00 зачем???

Чтобы не думать о совместимости. Сдвинули на позицию N и неважно 5 -й это бит или 0-й.

Бывают кристаллы у которых CS00!=0 ? А если думать о будущих, то необязательно CS02..CS00 будут распологаться последовательно, их могут раскидать как WGMxx - даже по регистрам.


Я пишу так для сохранения общего стиля вывода битов, т.е. не для каких битов стараюсь имя не опускать. Объединяю несколько битов и одну запиь исключительня для сокращения длины. Вот для меги 48 (действительно, WGM22 выкинули в другой регистр) делаю так:

Код
    ldi        tmp,    (0b00<<COM2A0)|(0b10<<COM2B0)|(0b11<<WGM20)        sts        TCCR2A,    tmp
    
    ldi        tmp,    (0<<FOC2A)|(0<<FOC2B)|(0<<WGM22)|(0b001<<CS20)
    sts        TCCR2B,    tmp
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Potter   Вопрос по AVRstudio   Feb 21 2007, 21:08
- - beer_warrior   ЦитатаПочему после того как выполнилось все тело п...   Feb 21 2007, 21:18
|- - Potter   Цитата(beer_warrior @ Feb 21 2007, 22:18)...   Feb 21 2007, 21:24
- - Potter   Блин... Ну подскажите... Я в тупике....   Feb 21 2007, 21:44
- - Dopler   На самом деле даже в приведенном коде много что не...   Feb 21 2007, 21:45
- - Potter   Вот код всей прогаммы: .include "m128def.inc...   Feb 21 2007, 21:54
|- - Dopler   Цитата(Potter @ Feb 21 2007, 21:54) Ну ...   Feb 21 2007, 22:04
- - beer_warrior   ЦитатаЧто значит переполнение стека? при вызове пр...   Feb 21 2007, 21:58
- - Potter   Dopler... Будьте добры... Пожалуйста прокоментируй...   Feb 21 2007, 22:23
- - Dopler   Мой код, это тоже самое, что и у вас. 1. Подключа...   Feb 21 2007, 22:42
|- - Qwertty   Цитата(Dopler @ Feb 21 2007, 22:42) Мой к...   Feb 22 2007, 00:25
- - Potter   Спасибо... ведь не обязательно в программе писать ...   Feb 21 2007, 23:58
- - beer_warrior   Цитатаведь не обязательно в программе писать все а...   Feb 22 2007, 00:04
- - Potter   И последнее... почему все таки у меня не получаетс...   Feb 22 2007, 00:47
|- - SasaVitebsk   Цитата(Potter @ Feb 22 2007, 01:47) И пос...   Feb 22 2007, 01:01


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

 


RSS Текстовая версия Сейчас: 26th June 2025 - 21:51
Рейтинг@Mail.ru


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