реклама на сайте
подробности

 
 
> Не получается читать и писать массив в eeprom
-=Женек=-
сообщение May 1 2010, 09:54
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 559
Регистрация: 6-09-06
Пользователь №: 20 131



Господа, пытасюь записать массив в eeprom, прочитать его и вывести на экран. Выводятся нули.
Вот код.
Где я не прав?
Код
#include <mega32.h>
#include <delay.h>
#include <stdlib.h>
#include <stdio.h>


#include <disp.h>

#define MAX_DEVICES 5
#define SEARCH_ROM 0xF0
#define DS1990_FAMILY_CODE 1

//Global vaiable defination
unsigned char devices;

// 1 Wire Bus functions
#asm
   .equ __w1_port=0x12;PORTD
   .equ __w1_bit=2
#endasm
#include <1wire.h>

unsigned char rom_code[MAX_DEVICES,9];

  
u08 variable;  
ui16 textcolor;    // color of text
ui16 backcolor;    // color of background

ui16 varvar;  
unsigned char str;
unsigned char i,j,a,b,c,d;
unsigned long serial;


eeprom unsigned char E_rom_code[5,9];
unsigned char eeprom *ptr_to_eeprom;
unsigned char *ptr_to_ram;
unsigned char rom_code2[MAX_DEVICES,9];


void main(void)
{

backcolor=0xBDF7;
textcolor=blue;

DDRA.0=1;
PORTA.0=1;
DDRD.2=0;          

lcd_init();
lcd_clr();        
fill_screen(0xbdf7);



for (i=0;i<5;i++)                //Заполняю массив
{
for (j=0;j<9;j++)
  {
   rom_code[i][j]=i;
   }
}

for (i=0;i<5;i++)                 //Вывожу содержимое массива в левую часть экрана
{
for (j=0;j<9;j++)
  {
    lcd_setxy(10+j*7,120-i*20);
    lcd_str_ram(rom_code[i][j],f8x14, textcolor);                  
  }
}


ptr_to_ram=rom_code;                  // Записываю переменную rom_code в eeprom
ptr_to_eeprom=E_rom_code;
while (*ptr_to_ram)
      *ptr_to_eeprom++=*ptr_to_ram++;

// copy the string e from EEPROM to
// the string r in RAM
ptr_to_eeprom=E_rom_code;                  // читаю из eeprom в новый массив rom_code2
ptr_to_ram=rom_code2;
while (*ptr_to_eeprom)
      *ptr_to_ram++=*ptr_to_eeprom++;


for (i=0;i<5;i++)                              // Вывожу в правую чать экрана содержимое  rom_code2
{
for (j=0;j<9;j++)
  {
    lcd_setxy(100+j*7,120-i*20);
    lcd_str_ram(rom_code2[i][j],f8x14, textcolor);                    //выводятся нули
  }

}
}
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 15:31
Рейтинг@Mail.ru


Страница сгенерированна за 0.01361 секунд с 7
ELECTRONIX ©2004-2016