Почему, если в IAR2.20 MSP объявить глобальную переменную volatile unsigned int var, то на действие &var компилятор ругается?
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
Отправлено
MSP
13 сентября 2004 г. 14:25
Составить ответ
|||
Конференция
|||
Архив
Ответы
дык правильно делает, что ругается
—
Аскольд
(14.09.2004 06:28, 94 байт)
Предваряйте обращение к адресу переменной явным указанием типа (unsigned int )&var
—
rezident
(13.09.2004 14:32,
пустое
)
хотя так тоже правильно если нужен адрес переменной...не ясно же что нужно!:))
—
Romario
(13.09.2004 14:39,
пустое
)
тогда уж так (unsigned int *)&var ;)
—
Romario
(13.09.2004 14:35,
пустое
)
ага. именно :)
—
rezident
(13.09.2004 14:41,
пустое
)
приведите действие полностью
—
Romario
(13.09.2004 14:31,
пустое
)
&var - это параметр функции, объявленный тоже unsigned int *.
—
MSP
(13.09.2004 14:39, 116 байт)
выше ответили...просто надо принудительно привести тип
—
Romario
(13.09.2004 14:40,
пустое
)
Всё понятно. Спасибо. Только не понятно почему с volatile нужно явно указать тип, а без него не нужно.
—
MSP
(13.09.2004 14:47,
пустое
)
потому что с volatile это уже "другой" тип а явным преобразованием происходит "переназначение" на другой тип.
—
Romario
(13.09.2004 14:51,
пустое
)
Самое прикольное, что константам в IAR тоже надо указывать явно тип. Пример для начала сегмента INFO и указателя pntr: pntr=(unsigned int *)0x1000; :)))
—
rezident
(13.09.2004 14:45,
пустое
)
и что забавно, команда для регистров с 26 своя специальная, не INDF какой-нидь и нафига какие-то типы приводить ;)
—
patton
(13.09.2004 15:14,
пустое
)
да вроде это обычное дело...(!?)
—
Romario
(13.09.2004 14:47,
пустое
)
Перейти к списку ответов
|||
Конференция
|||
Архив
|||
Главная страница
|||
Содержание
|||
Без кадра
E-mail:
info@telesys.ru