Bạn nên viết đoạn 'required sequence' (EECON2 = 0x55; EECON2 = 0xAA; EECON1bits.WR = 1; ) bằng hợp ngữ. Bạn kiểm tra lại mã máy đã được C18 dịch ra xem đoạn 'required sequence' đó có được đảm bảo hay không (không thể có bất kỳ lệnh gì chen vào bất kỳ vị trí nào của đoạn 'required sequence' đó).
while (EECON1bits.WR); là không cần thiết, vì nếu CPU bắt đầu thực hiện thao tác ghi, nó sẽ bị treo cho đến khi nào hoàn thành thao tác ghi đó.
Thân,
thay đổi nội dung bởi: namqn, 02-02-2008 lúc 12:49 AM.
|