View Full Version : Ghi dữ liệu vào EEPROM của PIC
0903579509
11-11-2009, 06:02 AM
Tôi dùng CCS C để viết code, tôi muốn ghi dữ liệu vào EEPROM của Pic khi nạp code thì dùng cách nào ? Sư huynh nào biết xin chỉ giáo, Thank nhiều!
tungtot_vl
11-11-2009, 09:08 AM
bác nói thế chắc chưa hiểu rỏ về EEPROM là gì, và khi nào thì cần dùng EEPROM để lưu dữ liệu. bác nên đọc kỷ lại tài liệu thì sẽ rõ
namqn
11-11-2009, 09:08 AM
Tôi dùng CCS C để viết code, tôi muốn ghi dữ liệu vào EEPROM của Pic khi nạp code thì dùng cách nào ? Sư huynh nào biết xin chỉ giáo, Thank nhiều!
Đọc tài liệu hướng dẫn của CCS C về directive #ROM.
Thân,
nguyenhung1811
11-11-2009, 12:57 PM
ghi du lieu a vao epprpom tai dia chi 0x00 dung lenh write_epprom(0x00,a);
0903579509
11-11-2009, 09:08 PM
ghi du lieu a vao epprpom tai dia chi 0x00 dung lenh write_epprom(0x00,a);
Cám ơn các bác đã chỉ giáo, việc sử dụng write_eeprom() không có gì khó. Ý tôi hỏi ở đây là sau khi nạp code vào Pic thì đã có dữ liệu cần thiết trên eeprom.
Đề tài của tôi thế này:
Lấy dữ liệu tại địa chỉ a của eeprom DAC cho ra 1 điện áp để duy trì một công suất A nào đó
Lấy dữ liệu tại địa chỉ b của eeprom DAC cho ra 1 điện áp để duy trì một công suất B nào đó
...
Dữ liệu tại a, b,... được nhập vào khi Pic đang chạy. Vì một lý do nào đó cần phải nạp Pic ( debug chẳng hạn), khi nạp lại Pic thì dữ liệu trên eeprom bị xóa, cần nhập lại bằng tay thì mất thì giờ. Có cách nào trên CCS C giải quyết được vấn đề này ?
Dùng winpic800 có thể giải quyết được:
-Đọc lại Pic vào máy tính, dữ liệu trên eeprom được lưu trên Tab Data
-Copy dữ liệu này vào clipboard
-Gọi code cần nạp vào Tab Code
-Lúc này Tap Data còn trống
-Paste dữ liệu trên clipboard vào Tab Data
-Nạp vào Pic
Thế là xong! Tuy nhiên chỉ cần quên 1 công đoạn thì dữ liệu đi tong...đành cong lưng nhập lại
@namqn: Tôi sẽ đọc hướng dẫn của Anh xem sao. Cám ơn Anh nhiều!
0903579509
11-11-2009, 09:35 PM
Cám ơn Anh Quang Nam nhiều, tôi đã thử và đã thành công.
Địa chỉ Eeprom của PIC16F877A bắt đầu từ 0x2100 và tôi viết như sau:
#ROM 0x2100 = {0x00,0x01,0x02,0x03}
Sau khi dịch, kiểm tra trên winpic800 thấy địa chỉ Data 0x2100 là : 00 01 02 03
zzKhungDiLaczz
12-11-2009, 12:07 AM
Mấy A/C ơi cho e hỏi!
E muốn Làm khóa số Dùng Pic6f877a, phần lưu pass no se luu vào Eeprom dung ko? Cách viết = ASM se viết như thế nào? E mới nhập môn thôi, chưa biết gì cả. Đang phải làm BT Lớn. Mong dc. mọi người giúp đỡ. Cảm Ơn mọi người nhìu.
Mr.Bi
12-11-2009, 09:36 AM
hix , cũng lại khóa số, cái này tui có 1 bài post lên đầy đủ roy mà , search google trứoc chứ u ....
http://www.dientuvietnam.net/forums/showthread.php?t=9511
dinhminh09
22-04-2010, 12:55 PM
bai cau bac MR.Bi không chạy được em cũng nghiên cứu bài của bác rồi. nhung không làm cách nao cho no chạy
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.