![]() |
|
Tài trợ cho PIC Vietnam |
Bootloaders - Programmers - Debuggers - Emulators Những công cụ cần thiết để lập trình cho PIC/dsPIC |
|
Ðiều Chỉnh | Xếp Bài |
![]() |
#1 |
Nhập môn đệ tử
Tham gia ngày: Jan 2008
Bài gửi: 10
: |
Hỏi về table write trong PIC18FXXJXX
Mình đang viết ctrinh bootloader, trong đó có phần ghi data xuống lên flash memory (ROM) của con PIC18F67J10 vẫn còn bị lỗi. Sau khi thử chạy chức năng ghi này và đọc lại vùng memory vừa được ghi thì thấy ko có gì hết. Code của mình như sau:
Code:
int i; TBLPTR = addr; // địa chỉ của vùng nhớ mà data đc ghi, ở đây mình dùng 0x2000 // ghi 64 bytes data vào holding register trước khi bắt đầu write for (i=0;i<64;i++) { TABLAT = 0x43; // kí tự C sẽ đc ghi vào từng byte bộ nhớ _asm TBLWTPOSTINC _endasm } EECON1bits.WREN = 1; // bật bít write, cho phép ghi INTCONbits.GIE = 0; // tạm thời disable interrupt EECON2 = 0x55; // unlock register EECON2 = 0xAA; EECON1bits.WR = 1; // bắt đầu ghi while (EECON1bits.WR); // trong khi đang ghi thì chờ INTCONbits.GIE = 1; // enable interupt EECON1 = 0x00; // disable WREN , ko cho phép ghi nữa thay đổi nội dung bởi: namqn, 31-01-2008 lúc 07:43 PM. Lý do: bổ sung thông tin |
![]() |
![]() |
|
|