Разработка, производство и продажа радиоэлектронной аппаратуры
|
Карта сайта
|
Пишите нам
|
В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:
jobsmp@pochta.ru
Телесистемы
|
Электроника
|
Конференция «Микроконтроллеры и их применение»
В MCS-51 без внешнего ОЗУ всё адресное пространство - 256 ячеек. Поэтому даже такое безграмотное выражение работало (с предупреждением о несоответствии типов). Естествено, в AVR, ARM даже с предупреждением не прокатит (не хватает разрядности).
Отправлено
Юрий_СВ
(91.214.248.66)
12 июля 2010, г. 15:26
В ответ на:
Чесно не должно работать нигде. Ты смотри как присваиваешь unsigned char pointer = (unsigned char *)&count_key;
отправлено
VasilyS
12 июля 2010, г. 14:46
Ссылка:
http://microchipinf.com/articles/43/78
Составить ответ
|
Вернуться на конференцию
Ответы
8051 серьезный дядя. У него что, внешней шины для подключения RAM не предусмотрено? Или вы где-то увидели намек на крошечную модель памяти? Кроме того, у указателей-51 часто длина заведомо больше чем указываемая область потому что там теги области указываемой памяти pdata, xdata, idata, data. Но не в этом дело. Нормальный компилятор как Иар должен дать еррор на такую вопиющую. Error[Pe144]: a value of type "unsigned char *" cannot be used to initialize an entity of type "unsigned int"
-
VasilyS
(12.07.2010, 15:35:57
80.92.96.25
,
пустое
)
Меня интересовала только базовая память. До 128 байт. И, повторю, Keil-51 компилил правильно, х...{+}(+)
-
Novichok
(12.07.2010, 15:53:8
109.232.106.36
, 761 байт)
Я же уточнил "без внешнего ОЗУ" (!). Карту адресного пространства я привёл по ссылке. В этом случае для адресации достаточно 1 байта. (старший байт при преобразовании типа от 8 к 16 разрядов компилятор замяет нулём). А принимать ли к исполнению такое выражение - зависит только от строгости конкретного компилятора (т.к. сторого говоря выражение безграмотное).
-
Юрий_СВ
(12.07.2010, 15:48:34
217.12.195.250
,
пустое
)
А я сразу напесал: Чесно не должно. А на побочных эффектах все можно сделать.
-
VasilyS
(12.07.2010, 16:02:10
80.92.96.25
,
пустое
)
Отправка ответа
Имя*:
Пароль:
E-mail:
Тема*:
Сообщение:
Ссылка на URL:
URL изображения:
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
поделите шесть пополам:
Перейти к списку ответов
|
Конференция
|
Раздел "Электроника"
|
Главная страница
|
Карта сайта
Web
telesys.ru