Разработка, производство и продажа радиоэлектронной аппаратуры
|
Карта сайта
|
Пишите нам
|
В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:
jobsmp@pochta.ru
Телесистемы
|
Электроника
|
Конференция «Микроконтроллеры и их применение»
Ответ:
Отправлено
bvk
(92.63.67.102)
22 октября 2010, г. 11:25
В ответ на:
хоть и тяпница, хоть и утро, но есть вопрос по делу: AVR-GCC функция pgm_read_byte(ptr) читает из FLASH байт по адресу ptr, т.е. ptr - это указатель на байт. для контроллеров с FLASH более 64К для адресации обычного 16-битного указателя мало... блин, как поиметь нормальный указатель, но с разрядностью больше 16 бит? чтобы компилятор понимал?
отправлено
A_R_V
22 октября 2010, г. 08:51
проще написать новую функцию, чем заставить pgm_read_byte читать за 64К. Передавать в функцию long-указатель, 17-й бит копировать в RAMPZ0, остальные 16 как аргумент ELPM
Составить ответ
|
Вернуться на конференцию
Ответы
я как раз о том, как сделать "long-указатель" : AVR-GCC все указатели по размерности приравнивает к размерности int, т.е. 16 бит
-
A_R_V
(22.10.2010, 12:29:35
172.20.20.23,87.117.1.141
,
пустое
)
:) Помощь к avr-lib читать пробовали ?. Есть pgm_read_byte_near, а есть pgm_read_byte_far. Просто pgm_read_byte - аналогично pgm_read_byte_near.
-
Юрий_СВ
(22.10.2010, 14:02:40
213.5.199.158
, 1143 байт)
поздно я прочел... однако, вопрос был в том КАК СОЗДАТЬ УКАЗАТЕЛЬ, а не как прочитать память! указатель нужен, чтобы компилятор вычислял верно адреса полей структур ptr->field5
-
A_R_V
(22.10.2010, 20:29:38
87.117.1.198
,
пустое
)
Ответ:
-
bvk
(22.10.2010, 13:45:28
92.63.67.102
, 195 байт)
Отправка ответа
Имя*:
Пароль:
E-mail:
Тема*:
Сообщение:
Ссылка на URL:
URL изображения:
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
введите число 387:
Перейти к списку ответов
|
Конференция
|
Раздел "Электроника"
|
Главная страница
|
Карта сайта
Web
telesys.ru