Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

Help me! Не получается прочитать 2 байта из EEPROM и "склеить" их в int16 :(

Отправлено fmssp.ere 05 мая 2007 г. 14:50


Коипилятор CCS PICC 4.032
За основу процедуры был взят пример из мануала.

#rom 0x2100={0x05,0xDC,0x02,0x58,0x01,0x2C} // Данные в EEPROM
#define YPorogAdrs 0x2100 // Нач.адрес в EEPROM для YPorog

Объявление функции:
------------------------------
int16 read_int_eeprom(int16 n)
{
int16 i, data;
for (i=0; i<2; i++)
*(&data +i ) = read_eeprom(i + n);
return(data);
}
----------------------------------------
Вызов её:
----------------------------------------
YPorog = read_int_eeprom(YPorogAdrs);
----------------------------------------
Вместо 0x05DC получаю в результате 0x0005
read_eeprom(i+n) работает правильно - оба раза: в EEADR и EEDATA всё ОК.
а вот тут что то не получается:
*(&data +i )= ???
в "data" прописывается только первый считаный байт...

Подскажите, куда девается второй байт????
Заранее благодарю!




Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
поделите 6 на два:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru