|
Tài trợ cho PIC Vietnam |
Cơ bản về vi điều khiển và PIC Những bài hướng dẫn cơ bản nhất để làm quen với vi điều khiển PIC |
|
Ðiều Chỉnh | Xếp Bài |
24-05-2010, 11:00 AM | #1 |
Đệ tử 2 túi
Tham gia ngày: Aug 2008
Bài gửi: 38
: |
Lưu data vào EEPROM trong PIC18
Em thấy trong con PIC có vùng EEPROM khoảng 128Bytes. Thế là em định dùng nó để lưu data, nhưng khổ nỗi, em Write và Read thì ok hết, nhưng khi tắt nguồn và On lại thì chăng thấy data đâu nữa, không biết làm thế nào để dữ liệu không bị mất nữa. Code của em như sau :
//Write EEADR=0x01; EEDATA=27; EECON1bits.EEPGD=0; EECON1bits.CFGS=0; EECON1bits.WREN=1; EECON2=0x55; EECON2=0xaa; EECON1bits.WR=1; Delay10KTCYx(150); EECON1bits.WREN=0; //Read EECON1bits.WREN=0; EEADR=0x01; EECON1bits.EEPGD=0; EECON1bits.CFGS=0; EECON1bits.RD=1; Delay10KTCYx(150); c=EEDATA; Kính mong các anh chị hướng dẫn cho em. Chân thành cảm ơn các anh chị ! |
26-05-2010, 04:38 PM | #2 |
Đệ tử 7 túi
Tham gia ngày: Jul 2007
Nơi Cư Ngụ: Đà Nẵng
Bài gửi: 188
: |
- ghi dữ liệu vào eeprom : write_eeprom( địa chỉ , dữ liệu)
vd : mún ghi dữ liệu 0x55 vào ô nhớ thứ 2 ta làm như sau write_eeprom(2,0x55) - đọc dữ liệu ra : biến = read(địa chỉ) vd : đọc dữ liệu từ ô nhớ thứ 5 ta viết a = read(5); |
26-05-2010, 11:52 PM | #3 |
Đệ tử 2 túi
Tham gia ngày: Aug 2008
Bài gửi: 38
: |
Bạn hổng hiểu ý của mình rồi, ý của bạn là lưu vào rom ngoài, cho nên dùng thư viện có sẵn đó. Nhưng mình dùng là rom nội của PIC nên không thể dùng theo cách đó đuợc đâu !!!
|
29-05-2010, 09:44 AM | #4 |
Đệ tử 7 túi
Tham gia ngày: Jul 2007
Nơi Cư Ngụ: Đà Nẵng
Bài gửi: 188
: |
ek , u còn k phân biệt đc đâu là internal ROM , external ROM mà cũng phán bừa thế . ROM ngoài làm j thực hiện đc những câu lệnh write_eeprom , read_eeprom dễ dàng thế . Những câu lệnh t đưa là áp dụng cho internal ROM đó u . Lạy lun .
|
29-05-2010, 09:01 PM | #5 |
Đệ tử 2 túi
Tham gia ngày: Aug 2008
Bài gửi: 38
: |
ok, tại vì U đang nói vế cách lập trình bằng CCS thì phải. Thật xin lỗi vì mình đã không nói rõ là mình đang dùng MPLAB --> C18, nhưng vấn đề đó không quan tâm. Vì phần ghi và đọc data mình làm ok hết. Nhưng vấn đề là ở chỗ khi mình reset hoặc tắt nguồn thì data lại không còn nữa. Mình hổng biết có vấn đề gì nữa .
|
30-05-2010, 09:37 AM | #6 | |
Đệ tử 7 túi
Tham gia ngày: Jul 2007
Nơi Cư Ngụ: Đà Nẵng
Bài gửi: 188
: |
Trích:
- Chú í sau mỗi lần nạp code , eeprom trong PIC sẽ bị xóa . có thể u rơi vào trường hợp này . Để khắc phục , trên mạch thiét kế nút bấm, hoặc thiết kế giao diện trên PC , load dữ liệu từ PC xuống PIC . |
|
30-05-2010, 12:04 PM | #7 |
Đệ tử 2 túi
Tham gia ngày: Aug 2008
Bài gửi: 38
: |
Cảm ơn U ! Vậy bạn có ghi vào EEprom của pic bao giờ chưa vậy, có thể share cho mình được không ?? Tham khảo thêm !!
|
31-05-2010, 12:52 AM | #8 | |
Đệ tử 7 túi
Tham gia ngày: Jul 2007
Nơi Cư Ngụ: Đà Nẵng
Bài gửi: 188
: |
Trích:
tui đưa cách ghi đọc eeprom nội dùng trình dịch CCS , còn viết trong MPLAB thì chưa dùng nên k bik rõ |
|
|
|