Разработка, производство и продажа радиоэлектронной аппаратуры
|
Карта сайта
|
Пишите нам
|
В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:
jobsmp@pochta.ru
Телесистемы
|
Электроника
|
Конференция «Микроконтроллеры и их применение»
Тфуты ошибся малость a = *((char*)addr);
Отправлено
F8
12 января 2007 г. 11:28
В ответ на:
a = *((char*)&addr);
отправлено F8 12 января 2007 г. 11:26
Составить ответ
|
Вернуться на конференцию
Ответы
Дааа... обмишурился чуток, только сей чуток понянет лет примерно на пяток(С) :( В тексте программы надо просто написать имя пременной, все регистры io обычно обьявлены как volatile.
—
F8
(12.01.2007 11:39:34
213.130.22.7
,
пустое
)
*((char*)addr) = *((char*)addr); //тогда уж вот так
—
бомж
(12.01.2007 11:38:12
84.147.152.123
,
пустое
)
Не всегда так можно. Во-первых, если регистр (ячейка памяти) Read-only, может сгенериться исключение при попытке записи туда (в Блекфине, например). Во-вторых, компилятор это скорее всего выкинет нафиг
—
K A A
(12.01.2007 11:41:10
213.132.80.164
,
пустое
)
Не если переменная обьявлена как volatile то прочитать должОн, Палыч истинную правду говорит.
—
F8
(12.01.2007 11:45:46
213.130.22.7
,
пустое
)
ну тогда остаётся, пожалуй, в аккумулятор прочитать инструкцией ассемблера
—
бомж
(12.01.2007 11:45:18
84.147.152.123
,
пустое
)
Отправка ответа
Имя*:
Пароль:
E-mail:
Тема*:
Сообщение:
Ссылка на URL:
URL изображения:
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
поделите двойку на единицу:
Перейти к списку ответов
|
Конференция
|
Раздел "Электроника"
|
Главная страница
|
Карта сайта
Web
telesys.ru