PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Các ngôn ngữ lập trình khác (CCS C, HT PIC,...) (http://www.picvietnam.com/forum/forumdisplay.php?f=12)
-   -   Ghi dữ liệu vào EEPROM của PIC (http://www.picvietnam.com/forum/showthread.php?t=5281)

0903579509 11-11-2009 06:02 AM

Ghi dữ liệu vào EEPROM của PIC
 
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

Trích:

Nguyên văn bởi 0903579509 (Post 31086)
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

Trích:

Nguyên văn bởi nguyenhung1811 (Post 31113)
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/...ead.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


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

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam