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

 
 
> Загадочное число $20 при обращении к РВВ
serg_42
сообщение Jun 12 2012, 04:38
Сообщение #1





Группа: Участник
Сообщений: 9
Регистрация: 26-09-11
Из: Новокузнецк
Пользователь №: 67 380



В книге А.В.Евстифеева "Микроконтроллеры AVR семеййства Tiny и Mega фирмы ATMEL"
на странице 391 есть любопытный абзац:

"Необходимо только помнить, что если для обращения к регистру
ввода/вывода используется команда обмена с ОЗУ, то к символическому
имени требуется добавить число $20".





Сам понять смысл этого действа не смог...
Растолкуйте, пожалуйста, зачем и почему?
Для чего таки надо добовлять эти самые $20 к имени РВВ?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
serg_42
сообщение Jun 12 2012, 07:33
Сообщение #2





Группа: Участник
Сообщений: 9
Регистрация: 26-09-11
Из: Новокузнецк
Пользователь №: 67 380



На странице 174 той-же книги нашел ещё одно упоминание про это:



Что-то теперь я совсем запутался.

Допустим, имеем РОН TIMSK0.
Для Atmega168 его адрес $6E, т.е. для команд IN и OUT он недоступен.
В каком случае мы до него "достучимся" правильно (в 1-м или во 2-м)?

1)
sts TIMSK0, temp

2)
sts TIMSK0+$20, temp
Go to the top of the page
 
+Quote Post
_Артём_
сообщение Jun 12 2012, 07:42
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Цитата(serg_42 @ Jun 12 2012, 10:33) *
В каком случае мы до него "достучимся" правильно (в 1-м или во 2-м)?

1)
sts TIMSK0, temp

2)
sts TIMSK0+$20, temp

Зависит от того как определён TIMSK0.
Если так(а по другому его нет смысла определять - он через IN/OUT недоступен):

Код
#define TIMSK0 0x6E

то так:
Код
sts    TIMSK0, temp
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 22:52
Рейтинг@Mail.ru


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