[an error occurred while processing this directive]
проц то какой?
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
Отправлено
ы
17 октября 2006 г. 12:44
В ответ на:
как записать переменную в массив на с++ в CrossStudio
отправлено Rius 17 октября 2006 г. 10:55
Составить ответ
|||
Конференция
|||
Архив
Ответы
если это AVR то глюк, если ARM из серии LPC то нормально ибо у него внутрення память так организованна и компилер тут не причем
—
ы
(17.10.2006 12:48
80.92.98.211
, 157 байт)
Да, ARM LPC2138. И никак не обойти?
—
Rius
(17.10.2006 12:57
62.165.36.195
,
пустое
)
В чем собственно вопрос?
—
misyachniy
(17.10.2006 13:39
83.218.237.86
,
пустое
)
вопрос, вернее проблема в том, что во внутреннюю sram нельзя записать одним махом слово или двойное слово по нечетному дресу. адрес при этом округляется до предыдущего четного. короче не WYSIWYG
—
ы
(17.10.2006 13:42
80.92.98.211
,
пустое
)
не просто до четного, а еще и до размера типа - 4 или 2 байта. при чтении с такого "нечетного" адреса еще и байты переставляет. придется похоже memcpy юзать..
—
Rius
(17.10.2006 14:09
62.165.36.195
,
пустое
)
Перестановку байт можно изменить установками компилятора General option - выбрать Endian mode - Big. Ну а в остальном "ы" прав.
—
misyachniy
(17.10.2006 15:05
83.218.237.86
,
пустое
)
в компилере то можно, вот только LPC это не переварит. ему только "маленький конец"(с) нужен
—
ы
(17.10.2006 15:07
80.92.98.211
,
пустое
)
Серьезно? А то я читал оригинальный документ от АРМ и работал только с Атмел.
—
misyachniy
(17.10.2006 15:22
83.218.237.86
,
пустое
)
я это в общем и имел ввиду не уточняя. а memcpy повторюсь, для 4 байт жирно. я макрос привел
—
ы
(17.10.2006 14:13
80.92.98.211
,
пустое
)
Даже самая красивая девушка Парижа не может дать больше чем имеее :-) ARM работает со словами и двойными словами. С байтами не умеет.(-)
—
misyachniy
(17.10.2006 13:48
83.218.237.86
,
пустое
)
как это не умеет? все он умеет:) LDRB/STRB
—
ы
(17.10.2006 13:50
80.92.98.211
,
пустое
)
т.е. я не понял фразы "с байтами не умеет"
—
ы
(17.10.2006 13:54
80.92.98.211
,
пустое
)
Действительно умеет. Я ошибся :-( .
—
misyachniy
(17.10.2006 14:59
83.218.237.86
,
пустое
)
вот какой то TMS не умеет. у него вообще все по 32 бита.
—
ы
(17.10.2006 15:01
80.92.98.211
,
пустое
)
Не помогло?
—
Сергей Борщ
(17.10.2006 13:19
195.13.250.108
,
пустое
,
ссылка
)
Error: request for member `Data' in `(packed_dword_t*)(((byte*)(&buffer)) + 5u)', which is of non-class type `packed_dword_t*'
—
Rius
(17.10.2006 13:26
62.165.36.195
,
пустое
)
Ну это же не повод останавливаться. Синтаксические ошибки исправить-то не сложно.
—
Сергей Борщ
(17.10.2006 15:23
195.13.250.108
, 1451 байт)
незапись dword по нечетному адресу?.... никак. надо просто развернуть это в побайтную запись
—
ы
(17.10.2006 13:01
80.92.98.211
,
пустое
)
ну или тот же memcpy. хотя для 4 байт это слишком.
—
ы
(17.10.2006 13:03
80.92.98.211
, 258 байт)
Отправка ответа
Имя (обязательно):
Пароль:
E-mail:
Тема (обязательно):
Сообщение:
Ссылка на URL:
Название ссылки:
URL изображения:
Перейти к списку ответов
|||
Конференция
|||
Архив
|||
Главная страница
|||
Содержание