 |
|
|
|
| Автор |
Сообщение |
bgn Новичок
Зарегистрирован: 03.03.2007 Сообщения: 1 Откуда: херсон
|
Добавлено: 04 Мар 2007, 10:13 Заголовок сообщения: Как правильно прочитать данные из Eeprom? |
|
|
Как правильно прочитать данные из Eeprom?
В CV написано, симулирую в протеусе
Не могу понять как правильно прочитать!?
Я так понимаю читается с первого адреса Eeprom,
Объясните пожалуйста если можно,
Спасибо.
| Код: |
#include <mega8.h>
// Alphanumeric LCD Module functions
#asm
.equ __lcd_port=0x18 ;PORTB
#endasm
#include <lcd.h>
#include <delay.h>
#include<stdio.h>
#include<math.h>
#include<MEM.H>
// Declare your global variables here
eeprom unsigned int e=555;
char lcd_buffer[33];
void ini(void)
{
// Global enable interrupts
#asm("sei")
}
///////////////////////////////
void main(void)
{ unsigned int temp;
ini();
lcd_init(16);
temp=e;
while (1)
{
lcd_gotoxy(0,0);
sprintf(lcd_buffer,"R-%x\n\r %i",temp,temp);
lcd_puts(lcd_buffer);
delay_ms(300);
};
}
|
насколько я понимаю CV записывает в eeprom еще дополнительную информацию (количество байтов, и наверно контрольную сумму). Поясните пожалуйста как все таки правильно считать данные из eeprom, используя CV.
Спасибо.
| Описание: |
|
 Файлообменник |
| Название файла: |
proba_eeprom.rar |
| Размер файла: |
71.42 KB |
| Скачено: |
150 раз(а) |
|
|
| Вернуться к началу |
|
 |
AndryG Модератор
Зарегистрирован: 24.07.2006 Сообщения: 411 Откуда: Helios-3
|
Добавлено: 05 Мар 2007, 9:42 Заголовок сообщения: |
|
|
CV делает работу с ЕЕПРОМ "прозрачной" для разработчика ... достаточно при описании переменной поставить впереди "eeprom"...потом можно работать с обычной переменной.
Размещает компилятор переменные в памяти как ему нравится (а как ему нравится - хорошо описано в справке)...
если же Вы хотите размещать или брать данные в определенных ячейках, то при их описании их используйте "@" для указания адреса (Allocation of Variables to Registers - раздел справки)
Судя по Вашему исходнику (кстати ... аккуратность оформления вопроса - залог ответа ) Вы присваиваете значение переменной в ЕЕПРОМ на этапе проектирования - посему ее значение находится в HEX файле для прошивки ЕЕПРОМ... для нормальной симуляции Вам необходимо прописать в свойствах контроллера (именно контроллера) файлик с первоначальным содержимым ЕЕПРОМ... иначе как симулятор узнает, какое Вы ей значение присвоили при описании?
_________________ AndryG |
|
| Вернуться к началу |
|
 |
AndryG Модератор
Зарегистрирован: 24.07.2006 Сообщения: 411 Откуда: Helios-3
|
Добавлено: 05 Мар 2007, 10:29 Заголовок сообщения: |
|
|
Посмотрел Ваш проект ... Вы файлик ЕЕПРОМ подключили - не идет... попробовал предварительно конвертнуть HEX в BIN ... не идет ...
Попробовал тоже самопе на модели at90s2313 - подсунул bin-файл с еепром - пошло ... подсунул hex - тоже пошло. Получается модель ATMega8 кривая. Попробуйте поискать посвежее модельку ... если найдете - будем благодарны, если поделитесь.
_________________ AndryG |
|
| Вернуться к началу |
|
 |
bgn62 Новичок
Зарегистрирован: 12.03.2007 Сообщения: 1
|
Добавлено: 12 Мар 2007, 13:37 Заголовок сообщения: |
|
|
долго не отвечал не мог войти
пришлось сменить имя
по вопросу разобрался сам
все работает
необходимо конвертировать из *.eep в *.bin
|
|
| Вернуться к началу |
|
 |
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете добавлять вложения в этом форуме Вы можете просматривать вложения в этом форуме
|
|