![]() |
Vấn đề ghi vào EEPROM nội của dspic30f6015
Mình đang muốn sử dụng eeprom nội của dspic30f , việc ghi , đọc hay xóa dữ liệu trong eeprom thì mình đã giải quyết được.Nhưng vấn đề là mình không thể ghi đi ghi lại tại cùng một địa chỉ trong eeprom được.Nếu cố thực hiện thì dữ liệu tại đó sẽ bị xóa .Không hiểu là do cấu tạo của thằng này nó thế hay là do code bị sai.Rất mong mọi người giải đáp cho .Thanks!
Dưới đây là code mà mình sử dụng : Code:
#ifndef EEPROM_H |
Trong hàm eraseEEPROM() của bạn, đối số thứ hai của bạn được khai báo có kiểu unsigned char. Trong code của bạn thì đối số đó được gán cho NVMCON, là một thanh ghi 16-bit.
Như vậy hàm eraseEEPROM() của bạn có thực hiện được chức năng xóa hay không? Nếu không xóa được thì có ghi được hay không? Thân, |
Cám ơn bác đã chỉ ra lỗi. Đúng là vì cái lỗi vớ vẩn đấy mà em mất bao nhiêu thời gian .Chắc tại trong lúc coding đầu óc để đi đâu đây mà. Chán quá.Mà tệ nhất là nó lại cho phép ghi lần đầu tiên chứ.Cho nên em không tài nào đoán được bệnh. Phù........ Cuối cùng thì cũng xong.
|
Trích:
Thân, |
Em dùng eeprom để ghi dữ liệu ADC của con dspic6015, scan kênh 0,ứng dụng chỉ cần dùng 8 đầu vào trên từ 8->15 thôi, thế mà khi dùng ngắt để scan em vẫn phải đặt số lần chuyển đổi trước khi sảy ra ngắt là 16 nếu không sẽ không thể đọc được dữ liệu. Cái này của dsPic có lẽ không được hợp lý lắm bác nhỉ.
|
Trích:
Thân, |
Em đọc datasheet của 12f683 phần EEPROM thì thấy: "A byte write automatically erases the location and writes the new data (erase before write)." tức là EEPROM sẽ tự động xóa trước khi ghi, vậy sao ở đây mình lại phải làm động tác xóa rồi mới ghi được.
|
Trích:
Datasheet của dsPIC30F6015 nêu rằng trước khi ghi vào EEPROM thì phải xóa. Thân, |
Múi giờ GMT. Hiện tại là 09:49 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