I'm also working on a copycat type program as well for my team... we used one similar to copycat except i used an external timer to make it work. Also I wasn't aware of copycats existance before I wrote it either... yay me.
Anyways... I won't have the chance to touch our Edubot until Sunday, and I have been working on some routines, and in ifi_picdefs.h the following says:
Code:
extern volatile near unsigned char PIE2;
extern volatile near struct {
unsigned CCP2IE:1;
unsigned TMR3IE:1;
unsigned LVDIE:1; /* Reserved - Do not use */
unsigned BCLIE:1; /* Reserved - Do not use */
unsigned EEIE:1; /* Reserved - Do not use */
unsigned :1;
unsigned CMIE:1;
} PIE2bits;
extern volatile near unsigned char PIR2;
extern volatile near struct {
unsigned CCP2IF:1;
unsigned TMR3IF:1;
unsigned LVDIF:1; /* Reserved - Do not use */
unsigned BCLIF:1; /* Reserved - Do not use */
unsigned EEIF:1; /* Reserved - Do not use */
unsigned :1;
unsigned CMIF:1;
} PIR2bits;
Where EEIF is "Write operation complete -- must be cleared by software" and EEIE is "Enable Write Operation Interrupt bit". Both are marked reserved.
So by this I'm assuming that:
We cant clear the bit that means the write operation is complete either? (EEIF)
We cant use interrupts to tell when its finished doing the write? (EEIE)
Or am I reading this wrong and theres something I'm missing... because as noted in the PIC documentation, a EEPROM write operation can take up to 4ms to complete. This would mean that we can only write a byte So anyone know about this?