PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > Các ngôn ngữ lập trình khác (CCS C, HT PIC,...)

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 04-06-2009, 11:21 AM   #16
cskiller
Đệ tử 4 túi
 
Tham gia ngày: Aug 2008
Bài gửi: 89
:
Trích:
Nguyên văn bởi the_duyet View Post
Bác nào có ví dụ về ghi và đọc eeprom cho giá trị 16 bit thì cho a e tham khảo với, chứ nói thế này ứng dụng khó quá....
Prototype các hàm đọc ghi EEPROM 16/32 bits:
Code:
void write_eeprom_16(int16 address,int16 value); //Ghi so 16-bits
int16 read_eeprom_16(int16 address);   //Doc so 16-bits
void write_eeprom_32(int16 address,int32 value); //Ghi so 32-bits
int32 read_eeprom_32(int16 address);   //Doc so 32-bits
Hiện thực của các Prototype:
Code:
void write_eeprom_16(int16 address,int16 value)
{   
   int i;                           
   for(i=0;i<sizeof(value);i++,address++){                                      
      write_eeprom(address,*((char *)(&value)+i));
   }   
}

int16 read_eeprom_16(int16 address)
{                      
   int16 ret;           
   int i;                               
   for(i=0;i<sizeof(int16);i++,address++){           
      *((char *)(&ret)+i)=read_eeprom(address);
   }                      
   return ret;      
} 
                                                     
void write_eeprom_32(int16 address,int32 value)
{                                             
   int i;                           
   for(i=0;i<sizeof(value);i++,address++){                                      
      write_eeprom(address,*((char *)(&value)+i));
   }                                      
}                           
                                                  
int32 read_eeprom_32(int16 address)              
{                                                            
   int32 ret;           
   int i;                               
   for(i=0;i<sizeof(int32);i++,address++){           
      *((char *)(&ret)+i)=read_eeprom(address);
   }                      
   return ret;         
}
__________________
Quang báo RG/RGB 6/8/12/16 bits màu
Phone No: 0905.034.086
Email: lmquyen@gmail.com

thay đổi nội dung bởi: cskiller, 05-06-2009 lúc 03:14 PM.
cskiller vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 12-07-2010, 10:02 PM   #17
vinasheva
Đệ tử 2 túi
 
Tham gia ngày: May 2008
Bài gửi: 28
:
Cho mình hỏi 2 cách sau có giống nhau k?
1. #rom 0x2100={1}
2. write_eerom(0x000,0x01)
Mình thử dùng cách thứ 2 và dùng read_eeprom thì trả giá trị đúng. Còn cách đầu tiên thì k dc.
vinasheva vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


Múi giờ GMT. Hiện tại là 03:43 PM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam