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

 
 
> Помогите ламеру с синтаксисом в IAR, #define ABC *(unsigned int *)0xFFFFF000
LeoLabs
сообщение Jun 1 2006, 07:12
Сообщение #1


Участник
*

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



Помогите разобраться - не пойму что значат следующие строки. Если не сложно поподробнее.

Код
#define ABC  *(unsigned int *)0xFFFFF000

#define EXTERNAL_ADDR 0x00800000
#define RAM_COMM_LBYTE ((unsigned char *)(EXTERNAL_ADDR+(0x0000<<1)))
#define RAM_COMM_HBYTE (*(unsigned char *)(EXTERNAL_ADDR+(0x0300<<1)))

я так понимаю это для работы с внешним устройством. smile.gif
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
forever failure
сообщение Jun 1 2006, 07:46
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 256
Регистрация: 6-03-05
Из: Екатеринбург
Пользователь №: 3 112



ну это в коде будет
ABS = 0x0001;
или
int i = ABS;
А вообще
#define ABC *(unsigned int *)0xFFFFF000
значит, что ABC - переменная целого типа по адресу 0xFFFFF000.
А если для работы с внешним устройством, следовало бы её объявить как
#define ABC *(unsigned int volatile *)0xFFFFF000

Сообщение отредактировал forever failure - Jun 1 2006, 07:48
Go to the top of the page
 
+Quote Post
LeoLabs
сообщение Jun 1 2006, 10:19
Сообщение #3


Участник
*

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



А вот еще вопросик. smile.gif (ох и глуп же я :-[)

Код
state=*(unsigned int*)p+(DatInfo[complect]?0x0200u:0)

Что значит вопрос "?" в выражении, а также буква u "0x0200u" и ":" ?
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 25th July 2025 - 12:41
Рейтинг@Mail.ru


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