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

 
 
> Доступ в память по указателю, Не получается записать и считать одно и то же число по указателю
umschalter
сообщение Apr 30 2008, 11:39
Сообщение #1





Группа: Новичок
Сообщений: 2
Регистрация: 30-04-08
Пользователь №: 37 177



Добрый день,
простой код для ARM на IAR.
Нужно записать через указатель 32-битное число в память, а потом его же оттуда считать.

unsigned long volatile write;
unsigned long volatile read;

write = 0x12345678;
*((u32*)0x40001FFF) = write;
read = *((u32*)0x40001FFF);


Пишется число 0x12345678, считывается 0x78563412.
Как нужно сделать, чтобы считывалось правильно?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
blackfin
сообщение Apr 30 2008, 11:46
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 106
Регистрация: 18-04-05
Пользователь №: 4 261



Цитата(umschalter @ Apr 30 2008, 15:39) *
Пишется число 0x12345678, считывается 0x78563412.
Как нужно сделать, чтобы считывалось правильно?
Адрес переменной u32 должен быть кратен 4:

*((u32*)0x40001FFC) = write;
read = *((u32*)0x40001FFC);

Сообщение отредактировал blackfin - Apr 30 2008, 11:46
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 13th August 2025 - 00:51
Рейтинг@Mail.ru


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