View Single Post
Old 25-02-2009, 04:16 PM   #24
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi saoden1102 View Post
Bác Nampn ơi cho em hỏi với a. em dùng 2 hàm để ghi dữ liệu vào eeprom ngoài (24c512) mà sao ko được(nó bị ghi vào rom trong của pic) anh có cách nào ko giúp em với a.

Code:
void write_eeprom(long int address,unsigned char data)
 {
   int upper_addr;
   int lower_addr;
   upper_addr=(int)(address >> 8);        
   lower_addr=(int)(address & 0x00FF);

   i2c_start();
   i2c_write(0xa0);
   i2c_write(upper_addr);
   i2c_write(lower_addr);
   i2c_write(data);
   i2c_stop();
   delay_ms(11);
}

//********************************************************

unsigned char read_eeprom(long int address)
{
   unsigned char data;
   int upper_addr;
   int lower_addr;
   upper_addr=(int)(address >> 8);        
   lower_addr=(int)(address & 0x00FF);

   i2c_start();
   i2c_write(0xa0);
   i2c_write(upper_addr);
   i2c_write(lower_addr);
   i2c_start();
   i2c_write(0xa1);
   data=i2c_read(0);
   i2c_stop();
   return(data);
}
Bạn đang dùng trình biên dịch nào? Nếu bạn dùng CCS C thì các hàm của bạn có vẻ trùng tên với các hàm đọc, ghi EEPROM của trình biên dịch. Bạn nên xem ví dụ giao tiếp với EEPROM ngoài của CCS C (tập tin ex_extee.c, họ dùng các hàm có sẵn là READ_EXT_EEPROM() và WRITE_EXT_EEPROM()).

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn