Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Работа с указателями 
V
    Опции темы
zuuuuk
Дата 18.1.2008, 21:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 10.2.2007

Репутация: нет
Всего: нет




 ! 
archimed7592
Не забываем пользоваться кнопкой "Код" или тэгами [code=xxx][/code]
Помогите разобрать код.
Код

#define DATA 0x0 
#define STATUS 0x4  
#define CONTROL 0x8 
#define SCALER 0xC

#define ENABLE_RX 0x1
#define ENABLE_TX 0x2
#define RX_INT 0x4
#define TX_INT 0x8

volatile int *ureg = (int *) 0x80000100;
void uart_init(void)
{
   ureg[CONTROL/4] = ENABLE_RX | ENABLE_TX | RX_INT; // 0x2 rxen,txen;int,par: dis  ;483
   ureg[SCALER/4] = 0x35;//???          115200 ==   0x15
}


1)Прошу вас пояснить этот код.
2) почему ureg вдруг стал массивом.-> ureg[CONTROL/4]
3)всетаки с каким адресом он работает?

благодарю за помощь..

Это сообщение отредактировал(а) archimed7592 - 19.1.2008, 02:11
PM MAIL   Вверх
JackYF
Дата 18.1.2008, 21:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 6
Всего: 162



Цитата(zuuuuk @  18.1.2008,  20:29 Найти цитируемый пост)
почему ureg вдруг стал массивом

ureg - это переменная-указатель.
Цитата(zuuuuk @  18.1.2008,  20:29 Найти цитируемый пост)
CONTROL/4

смещение по указателю


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
zuuuuk
Дата 18.1.2008, 21:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 10.2.2007

Репутация: нет
Всего: нет



Можешь уточнить:
-смещение по указателю, на сколько
-у почему в квадратных скобках []. он же небыл обявлен как массив.
-может есть ресурс, где можно об этом почитать.
PM MAIL   Вверх
Fazil6
Дата 18.1.2008, 22:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1653
Регистрация: 3.5.2006
Где: Минск

Репутация: 7
Всего: 60



Цитата(zuuuuk @  18.1.2008,  20:44 Найти цитируемый пост)
-может есть ресурс, где можно об этом почитать.

любая книжка по C\C++
PM MAIL   Вверх
zuuuuk
Дата 18.1.2008, 22:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 10.2.2007

Репутация: нет
Всего: нет



Цитата(Fazil6 @ 18.1.2008,  20:02)
Цитата(zuuuuk @  18.1.2008,  20:44 Найти цитируемый пост)
-может есть ресурс, где можно об этом почитать.

любая книжка по C\C++

у меня 2 книги по C. под рукой.
подобного смещения ureg[CONTROL/4] нигде не описывается.
-я правильно понемаю, что он смещается просто на 0х2 относительно 0x80000100




Это сообщение отредактировал(а) zuuuuk - 18.1.2008, 22:41
PM MAIL   Вверх
JackYF
Дата 18.1.2008, 22:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 6
Всего: 162



Цитата(zuuuuk @  18.1.2008,  21:29 Найти цитируемый пост)
то он смещается просто на 0х2 относительно 0x80000100

да.

Цитата(zuuuuk @  18.1.2008,  21:29 Найти цитируемый пост)
подобного смещения ureg[CONTROL/4] нигде не описывается.

либо плохо ищешь, либо книжки можно выбросить. Это база.


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
W4FhLF
Дата 18.1.2008, 23:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: 2
Всего: 121



Цитата(zuuuuk @  18.1.2008,  22:29 Найти цитируемый пост)
-я правильно понемаю, что он смещается просто на 0х2 относительно 0x80000100


На 2 чего? Он смещается на 8 байт или на 2 элемента в массиве int'ов, размер int - 4 байта. 


--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.2247 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.